burpsuite和sqlmap是渗透测试中最常用到的两大神器。最中意的功能是利用burpsuite拦截http请求,然后用sqlmap的r参数读取。但每次重复这个动作有点烦,特别是Mac下默认不能右击新建文件。所以一直在找联动burpsuite和sqlmap的插件。在找到的方案中,gason已经很久没更新了;freebuf发的这个插件很不错,但是不适配Mac;比较好的是bapp中的co2,但是调用的不是sqlmap的r参数,而是u参数,无法实现对http请求的全部利用。趁着有时间,自己用Python开发了一个
操作系统: Mac OS X 10.11.4
Python解释器: Jython 2.7
Burpsuite: 1.6.38
sqlmap: 1.0.3.4(已经添加到环境变量中)
新的插件希望能够满足三个要求:
1.能通过burpsuite最简单的调用sqlmap
2.能够用sqlmap r参数读取请求文件
3.能够重复的利用sqlmap请求,比如校验漏洞后继续获取请求的数据,表,列,内容等
基于以上三个需求大致梳理了一下流程
1.在的Proxy页面右键触发插件
2.burpsuite将拦截的http请求全部保存到一个文件中
3.弹出mac的终端调用sqlmap -r $fileName
然后是源代码
其中IBurpExtender是编写插件必须导入的接口,IContextMenuFactory是用来控制右键菜单的,IHttpRequestResponse,IHttpListener,IProxyListener用来控制http请求流量
然后是初始化设置,定义右键Menu的字段以及插件的名字
直接摘抄前辈的, 定义右键菜单以实现右键触发。如图
主函数,获取http的请求流量并写到一个文件中
调用Mac的终端执行sqlmap。python没有直接调用Mac App的方法,通过Python调用Applescript打开终端
完整的源代码在: https://github.com/5ir1us/Burpsuite4Extender
首先下载 Jython 2.7.0 – Standalone Jar 文件,然后在Burpsuite的Extender页面导入该解释器,如图
然后即可导入该插件