Tips:
本文主要用于sql注入攻击自查,请不要做犯法的事情。
之前已经讲过如何用Burp和Sqlmap配合进行sql注入攻击,但是使用起来特别麻烦,对有大量接口调用的项目如何自动化的进行检测便变得重要,本篇注重介绍如何使用Burp以及sqlmap的批量注入来完成自动化注入攻击。
整体流程为:
- 使用BurpSuite保存request记录log
- 因为BurpSuite的日志记录了所有走代理的流量,包括静态资源啊,重复的提交啊,这些都会影响SqlMap的分析效率,所以对Request日志进行过滤。
- 对过滤后的日志文件进行批量注入攻击。
使用BurpSuite保存request记录log
使用的BurpSuite版本为1.7.26进行的操作,各个版本有可能不一样,请注意。
勾选BurpSuite输出日志
输入要保存为的文件名称
对日志进行过滤
强大的SqlMap支持使用BurpSuite的日志进行批量分析,但是BurpSuite的日志记录了所有走代理的流量,包括静态资源啊,重复的提交啊,这些都会影响SqlMap的分析效率,所以需要对访问日志进行过滤,只筛选出我们需要的。
使用burplogfilter.py过滤日志,点击下载
介绍:
1 | Usage: python3 burplogfilter.py [options] |
参考本文BurpSuite日志分析过滤工具,加快SqlMap进行批量扫描的速度
git地址
使用:
1 | python3 burplogfilter.py -f ~/temp/burp/sql_map_log --host=xxxx > ~/temp/burp/sql_map_log_proxy |
在使用burplogfilter过程中,发现报以下错误“TypeError: cannot use a string pattern on a bytes-like object”
修改burplogfilter.py以下位置即可
1 | def scrapBlocks(filename): |
对过滤后的日志文件进行批量注入攻击
进入sqlmap.py所在目录,
1 | python sqlmap.py -l /Users/daren/temp/burp/sql_map_log_1_filter --batch -smart --dbms=oracle |
到此完成自动化批量注入攻击。