0 sqlmap批量扫描burpsuite请求日志记录
sqlmap可以批量扫描包含有request的日志文件,而request日志文件可以通过burpsuite来获取,
因此通过sqlmap结合burpsuite工具,可以更加高效的对应用程序是否存在SQL注入漏洞进行地毯式的扫描。
- 1.首先是burp设置记录log,文件名就随便填一个了。
- 2.把记录的log文件放sqlmap目录下
- 3.sqlmap读log自动测试:
python sqlmap.py -l 文件名 --batch -smart
batch:自动选yes。
smart:启发式快速判断,节约时间。
- 4.最后能注入的url会保存到out文件夹下
注意:log文件中如果有sqlmap无法读取的字符(ascii码之外的字符)会读取失败。
1.配置burpsuite下记录所有的request记录,并保存在指定文件夹。
因为windows下sqlmap工具需要使用python,所以我的sqlmap路径放在了D:\mysoft\Python\sqlmap下面,
而收集request的记录文件则命名为D:\mysoft\Python\sqlmap\burp.log文件。
2.执行命令:
sqlmap.py -l burp.log --batch -smart
即可对burp.log中保存的所有request进行注入扫描。
- Batch:会自动选择yes
- Smart:启发式快速判断,节约时间。
- window版的sqlmap最后能注入的URL都会保存到C:\Users\Administrator.sqlmap文件夹下。
--level=(1-5) #要执行的测试水平等级,默认为1 --risk=(0-3) #测试执行的风险等级,默认为1 **
3探测等级
- 参数:--level
共有五个等级,默认为1,sqlmap使用的payload可以在xml/payloads.xml中看到,你也可以根据相应的格式添加自己的payload。
这个参数不仅影响使用哪些payload同时也会影响测试的注入点,GET和POST的数据都会测试,HTTP Cookie在level为2的时候就会测试,HTTP User-Agent/Referer头在level为3的时候就会测试。
总之在你不确定哪个payload或者参数为注入点的时候,为了保证全面性,建议使用高的level值。 - 风险等级
参数:--risk
共有四个风险等级,默认是1会测试大部分的测试语句,2会增加基于事件的测试语句,3会增加OR语句的SQL注入测试。
在有些时候,例如在UPDATE的语句中,注入一个OR的测试语句,可能导致更新的整个表,可能造成很大的风险。
测试的语句同样可以在xml/payloads.xml中找到,你也可以自行添加payload。
4注意事项
如果sqlmap版本过低的话会很影响扫描结果的,很可能
扫描不出sql注入漏洞,扫描前不妨查一下sqlmap的具体版本吧,尽量用较高版本的sqlmap,
以下是我自己的环境下查到的信息。
- linux下查看sqlmap版本信息:
root@kali:~/sqlmap# sqlmap --version
1.0-dev-nongit-201602180a89
- windows下查看到的版本信息
C:\offer\burp>sqlmap.py --version
1.1.12.12#dev
Press Enter to continue...
网友评论