SQL注入 - sqlmap联动burpsuite之burp4sqlmap++插件
sqlmap和burpsuite介绍
SqlMap
sqlmap 是一款自动化检测与利用SQL注入漏洞的免费开源工具。
可用于检测利用五种不同类型的SQL注入:
-
布尔型盲注(Boolean-based blind)即可以根据返回页面判断条件真假的注入。
-
时间型盲注(Time-based blind)即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。
-
报错型注入(Error-based)即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。
-
联合查询注入(UNION query-based)可以使用union的情况下的注入。
-
堆叠查询注入(Stacked queries)可以同时执行多条语句的执行时的注入。
sqlmap的使用参考:
Burp Suite
是一个集成化的渗透测试工具,它集合了多种渗透测试组件,使我们自动化地或手工地能更好的完成对web应用的渗透测试和攻击。
burpsuite包括以下几个模块:
- proxy:代理
- target:站点目标
- spider:爬虫
- scanner:漏洞扫描
- repeater:http请求消息与响应消息修改重放
- intruder:暴力破解
- sequencer:随机数分析
- decoder:各种编码格式和散列转换
- comparer:可视化差异对比功能
burpsuite的使用参考:
sqlmap4burp++介绍
sqlmap4burp++是一款兼容Windows,mac,linux多个系统平台的Burp与sqlmap联动插件。
在sqlmap4burp基础上进行了如下改动:
- 在支持Windows基础上,拓展对Linux,macOS的支持
- 移除对commons-io-.jar,commons-langs-.jar的依赖
- 移除Burpsuite JTab控件,采用弹窗式配置,让界面更加简洁易用。
- 移除了多余的代码
sqlmap4burp++参考:
sqlmap4burp++的使用
在Windows平台下分别 下载sqlmap 和 下载sqlmap4burp++,并且可以正常使用sqlmap,burp导入sqlmap4burp++的jar包也可以成功。
尝试运行,sqlmap报错http的请求文件找不到,原因是文件路径中有乱码。
所以用户名最好不要用中文!
小插曲:sqlmap报错文件不存在怎么办?
分析发现是-r
参数这个后面这个文件名出现问题,明显是编码的问题,导致文件找不到。
尝试从源码中寻找解决方案,发现源码中的SqlmapStarter.java中run方法,会对命令进行进行拼接,发现这个用于获取请求文件的参数Config.getRequstFilePath()。
点进去,看到set方法,REQUST_FILE_PATH传入文件路径。
点进set方法,发现request数据包保存到java临时目录,这个临时目录是在我们的用户目录下面,所以用户名是中文编码错误,文件就会无法被找到。
修改request数据包保存的临时路径应该可以解决问题。
然后重新编译,打包。
在burosuite导入重新编译后的jar包可以使用了。
使用burp4sqlmap++的好处是可以将我们拦截的请求包直接发给sqlmap,方便快捷。
直到我发现burp的一个官方sqlmap注入插件 CO2 功能强大,有丰富的UI界面。但缺点是sqlmap扫描过程中,burp无法正常使用,关闭命令行,才能正常使用。
若有错误,欢迎指正!o( ̄▽ ̄)ブ