前言
平时使用的Burp插件基本都是Github上面找的,但是遇到特殊情况挖洞时候要某项功能时候,插件往往就找不到了。这篇文章就简单来讲下如何自己编写burp插件,不用再每次缺少插件的时候去Github上面搜索(当然开源的插件用着还是香的,缺点是不能定制功能)。
实战
首先编写burp插件官方贴心的给了完整的初始代码包,师傅们可以参考一些其他插件的代码来拿来改着练手,这里我附上以前我写的简易fastjson检测插件代码,把上面文件夹内的源码下载下来就行:
https://github.com/youki992/Fastjson_burp_tools
首先编写burp插件官方贴心的给了完整的初始代码包,师傅们可以参考一些其他插件的代码来拿来改着练手,这里我附上以前我写的简易fastjson检测插件代码,把文件夹内的源码下载下来就行:
然后第二步用Java编程软件,配置好Java环境和maven环境以后,新建一个maven项目,如下图
一路点击确定之后,新建项目完毕,将上面的源码塞到src/main目录下面,中间多几层文件夹无所谓
然后把配套的iml文件放在src的第一层目录下面
完成之后可以开始编写代码了,主要函数入口文件为BurpExtender.java,直接对着文件改即可
这里我简单改下文件源码,使得Burp能联动Katana爬虫工具
registerExtenderCallbacks方法注册服务,这里就是加载插件以后在Output里面会输出内容的地方
可以多打印一些有用的信息
在Burp中对应的效果如下
然后给定配置文件,可以配置Katana可执行文件地址和其他之类的配置,方便代码读取
之后写对应的方法,在被动扫描方法中,使用burp插件代码自带的help方法来读取url
然后添加到队列中待检测
之后调用对应的Katana爬虫命令,将url指定为目标,输出对应时间戳命名的结果文件中。除了Burp插件提供的大框架,其他方法其实随你写,就和普通Java开发的时候一样,没有太多限制
最后咱们来看下实际的效果,请求网站时候挂上Burp代理,之后Burp将URL发送给Katana进行爬虫扫描
最后会在Burp文件夹下面输出检测结果文件
结语
简单的burp插件教程就到这里了,后面插件完善之后会在团队官网和Github进行开源,欢迎师傅们来支持下载和使用~