本小编已经入职白帽100一年多了,天天受熏陶,都成了老编了为什么我还是这么菜?所以要发奋努力下了!java作为自己最不熟悉的语言,这次一定要把这个骨头啃下来。
相信我,就算你没有java基础,看完这个,也可以写出来一个busuit java版本的插件。嗯,要写就写java!
运行截图镇楼
首先比较经典的就是 BurpSuite插件开发指南系列了,共有三篇
《BurpSuite插件开发指南之 API 篇》
《BurpSuite插件开发指南之 Java 篇》
《BurpSuite插件开发指南之 Python 篇》
我们这里就只看前两篇就好,阅读顺序先看Java篇。如果你没有java基础的话,看这篇文章时,需要先了解下swing,这里推荐一个30分钟的入门教程
《Java Swing教程:30分钟玩转Swing界面设计》
再自己本地练习下,一上午足够了。
By the way,因为自己比较习惯用vscode,所以一开始也想用vscode写java程序,如果你有java项目开发的基础,那么随便,如果没有....建议还是使用eclipse(别问我为什么,一个上午我用vscode,都不知道怎么导出jar包,卑微.jpg)。
Java篇这个文章里,第一个demo直接给的源码,但是如果只看这个文章,我们还是不晓得怎么入手,这里说明下
首先从BurpSuite 程序中导出SDK包文件
从BurpSuite 程序中导出SDK包文件
![832ba0bfa48a51932b8b3834cedfcc11.png](https://img-blog.csdnimg.cn/img_convert/832ba0bfa48a51932b8b3834cedfcc11.png)
然后在eclipse中创建一个Java project
![72b11888def0167b7bec0772a94f8604.png](https://img-blog.csdnimg.cn/img_convert/72b11888def0167b7bec0772a94f8604.png)
文件目录如下
![b0abea06c7a513e855aeb5e5c69e7f3e.png](https://img-blog.csdnimg.cn/img_convert/b0abea06c7a513e855aeb5e5c69e7f3e.png)
注意BurpExtender.java文件,在这里面编写你的插件。
为了过把瘾,可以把作者的demo复制进去,然后导出jar包,尝试下能不能跑起来。
好了我们进入下一个步骤,编写自己的gui,经过一上午swing的学习,基本的gui应该可以入手了,借鉴文章里提到的NetBeans IDE 8.0,借助这个,可以拖拽出自己想要的ui界面,然后复制到相应的代码区域,具体是这里
![6e66e6600864c77337e30c58ef903a33.png](https://img-blog.csdnimg.cn/img_convert/6e66e6600864c77337e30c58ef903a33.png)
好了,这个时候我们可以,编写一些功能了,我要写的插件是一个子域名爆破的demo,首先放上我的成果图
我们要实现的第一个功能是,导入我们需要爆破的域名,也就是批量导入的功能,具体代码如下
![f33a715111351c4fa455f080f4171f29.png](https://img-blog.csdnimg.cn/img_convert/f33a715111351c4fa455f080f4171f29.png)
既然在burp里,那我们应该实现一个send to xxx的功能,这里就到了我们看《BurpSuite插件开发指南之 API 篇》,里面对api进行了详细的介绍,功能实现效果是酱紫的
![256ffec8c17e7f1ef3f80c5772d898e1.png](https://img-blog.csdnimg.cn/img_convert/256ffec8c17e7f1ef3f80c5772d898e1.png)
![458812495f2e5279fcaf24f11f972b37.png](https://img-blog.csdnimg.cn/img_convert/458812495f2e5279fcaf24f11f972b37.png)
此部分具体实现代码如下
![39524bd79bb710c51f3c6425463ee233.png](https://img-blog.csdnimg.cn/img_convert/39524bd79bb710c51f3c6425463ee233.png)
交互方面,就是把swing多看几遍,其它功能没有用burp的api了,api的话,去burp官方文档给的很全面,借助谷歌翻译,看起来还是可以的,其次作为一个java渣渣,其中辛苦,可以看我的搜索记录...
![b4ebecb89eca83e166d1551bad51d4df.png](https://img-blog.csdnimg.cn/img_convert/b4ebecb89eca83e166d1551bad51d4df.png)
谁让自己菜...不过多搜搜功能总能实现嘚!
最后就是核心的子域名爆破功能了,核心功能我写的最简单了,连超时,泛解析都没有写,不好意思放上来,不过最终这个demo实现了,以后再慢慢优化
整个过程用了三天时间,源码放在自己github上了,https://github.com/0linlin0/BurpExtender/tree/master/Subdomain
这个就是当做一个demo来写的,代码也堆的很乱,如果你能得到些借鉴,那最好了,如果没有,希望你晓得,有些事情其实没想的那么任务巨大,不管有没有java基础,上手怼就是了,keep fighting!
另外:如果文章内容有错误,还请后台留言,老编会及时回复的!
最后在整理下我的一些参考链接
![ba7d130202771a0626f333771c0864de.png](https://img-blog.csdnimg.cn/img_convert/ba7d130202771a0626f333771c0864de.png)
https://blog.csdn.net/zhangmiaoping23/article/details/79787139
https://www.jianshu.com/p/2a66782dc2ad
http://www.z-gelen.com/index.php/archives/101/
https://p0rz9.github.io/2019/01/09/Burp插件开发/
https://blog.csdn.net/zhangmiaoping23/article/details/95599960
http://c.biancheng.net/view/1206.html
https://portswigger.net/burp/extender/api/allclasses-noframe.html
白帽100
![cbc0801f7be88b28e22bc6280d2b312c.png](https://img-blog.csdnimg.cn/img_convert/cbc0801f7be88b28e22bc6280d2b312c.png)
点击关注哦