当
--level
的参数设定为2或者2以上的时候,sqlmap会尝试注入Cookie参数。当
--level
参数设定为3或者3以上的时候,会尝试对User-Angent和referer进行注入。
1、sqlmap设置User-Agent头
--user-agent=AGENT
指定HTTP User - Agent头
默认情况下sqlmap的HTTP请求头中User-Agent值是:
sqlmap/1.0-dev-xxxxxxx (http://sqlmap.org)
可以使用
--user-agent
来伪造
使用Firefox浏览器访问页面时的User-Agent

使用
python sqlmap.py -u "http://172.17.0.1/Less-1/index.php/?id=1" --banner
并用wireshark抓取http包,查看User-Agent
为了避免触发安全机制,使用参数设置User-Agent
此时可以看到User-Agent头改变
也可以使用
--random-agent
使用随机选定的HTTP User - Agent头
查看可使用的User - Agent
[email protected]:/usr/share/sqlmap# ls
COMMITMENT data doc extra http.txt lib LICENSE plugins README.md sqlmapapi.py sqlmap.conf sqlmap.py tamper test test.txt thirdparty url.txt wget-log
[email protected]:/usr/share/sqlmap# cd data
[email protected]:/usr/share/sqlmap/data# ls
html procs shell txt udf xml
[email protected]:/usr/share/sqlmap/data# cd txt
[email protected]:/usr/share/sqlmap/data/txt# ls
common-columns.txt common-files.txt common-outputs.txt common-tables.txt keywords.txt smalldict.txt user-agents.txt wordlist.tx_
可以在user-agents.txt中查看可使用的User - Agent
注意:针对User - Agent的值探测SQL注入,需要设置
--level
值为3
以Less-18为例
开启burpsuite进行截断,将请求放入test.txt中
使用sqlmap进行自动化探测
如果使用
python sqlmap.py -r test.txt
不加
--level 3
,则不会对User - Agent进行探测
2、sqlmap设置host头
对HTTP主机头进行SQL注入,需要设置
--level
为5
3、sqlmap设置referer头
以Less19为例
如果直接使用
python sqlmap.py -r test.txt
会提示
当设置level参数时
python sqlmap.py -r test.txt --level 3
4、sqlmap设置额外http头
方式一:
通过设置选项
--headers
,可以提供额外的HTTP头,每个头必须用换行符分割
可以看到设置成功
设置多个时,使用分隔符
'\n'
方式二:
从sqlmap.conf文件中设置
[email protected]:/usr/share/sqlmap# ls
COMMITMENT data doc extra http.txt lib LICENSE plugins README.md sqlmapapi.py sqlmap.conf sqlmap.py tamper test.txt thirdparty url.txt wget-log
[email protected]:/usr/share/sqlmap# cat sqlmap.conf
# At least one of these options has to be specified to set the source to
# get target URLs from.
[Target]
...
修改完sqlmap.conf后使用
python sqlmap.py -c sqlmap.conf