填sqlmap4burp的那些坑

  sqlmap4burp是整合burp和sqlmap两大神器的一个burp插件。我也是查看了这边文章<<渗透神器合体:在BurpSuite中集成Sqlmap>>,通过文章下的评论发现,小伙伴们在编译与使用sqlmap4burp遇到了不少问题,我也不例外。以下是我遇到的问题,我们来一一解决它。

  • eclipse导入插件的源码报错
  • 编译成功且加载到burp成功后,但是使用是无法弹出cmd框
  • 弹出了cmd框且设置了sqlmap的路径到系统变量path之后,还是提示sqlmap.py不是内部命令或外部命令……

编译问题

缺包

  作者在插件的说明中说项目缺少包commons-io-2.4.jar,有些小伙伴导入了commons-io包还是报错。这是因为项目其实还缺少一个commons-lang包(我使用的版本是3-3.6)

图1-工程需要的包

导出jar问题

  我第一次编译导出时选择的是JAR file。然后加载到burp中,没有报错,也能正常限制tab标签和右键菜单,但是就是不弹出cmd。后来发现,应该导出时选择Runnable JAE file

图2-导出Runnable JAE file

使用问题

  明明已经将sqlmap的路径放到path环境中,而且启动cmd输入sqlmap.py可以正常运行sqlmap了。但是插件弹出的cmd提示如下:

图3-插件运行弹出的cmd提示

  当时内心很崩溃,我在想我是用了个假的burp么?
后来无意中找到了苦逼的原因:我是使用工具包(音速启动)打开的burp,这样弹出的cmd运行sqlmap.py,直接鼠标打开的burp才可以。

优化插件

经过查看代码发现,latershow.sniffer包下的代码是无用的,应该删除掉。
图4-无用代码
  如果用过gason插件的小伙伴会知道,gason插件的右键菜单名称也为send to sqlmap。
如果你同时安装这两个插件难免搞不清楚到底那个菜单对应着那个插件。所以我们在代码中将sqlmap4burp的右键菜单名改为send to sqlmap4burp
图5-修改右键菜单名称
优化后编译的插件下载地址(base64):
dXJsOmh0dHA6Ly9wYW4uYmFpZHUuY29tL3MvMW84Z2I1aHcNCnB3ZDptOGo1

sqlmap4burp的优点

  最后啰嗦一下这个插件的优点。它比我们直接导出的burp的log文件,然后用sqlmap的命令sqlmap.py -l burp.log –bitach –smart去批量检测sql注入有两个优势。

  1. 比较方便,免去设置burp保存日志,然后启动sqlmap加载log文件的操作,一键无缝连接。
  2. 最关键的是我们导出来的log里的数据很杂,可能有图片的请求,js的请求等等。而sqlmap4burp是将我们选中的数据包导出为log,然后让sqlmap读入log数据批量注入。这样目的性更强!