辅助文档
BurpSuite API文档
Maven库搜索:Maven Central Repository Search
公开依赖库见:https://mvnrepository.com/
开发一个插件
新建Gradle项目,勾选Java,选择JDK11
在build中添加Burpsuite插件的依赖(类似于pom.xml)
目前公开的依赖版本可见:Burp Extender API
1 | implementation 'net.portswigger.burp.extender:burp-extender-api:2.3' |
点击右上角刷新按钮
然后点击一下gradle的更新,将依赖下载下来,这样就将我们之前手动复制api文件的操作省掉了。
如果创建的项目此时没有src\main目录,解决方法:
1.首先先打开build.gradle添加如下代码,创建一个Task任务
1 | task create_dirs { |
添加完这个任务后点击右下角的Import Changes
点击右侧Gradle打开other 就会发现刚才我们写的任务名会在这里,点击执行create_dirs任务即可创建src目录。
在src/main/java下新建package,名称为burp。在burp下新建BurpExtender类。
这个包名和类名是固定的,burpsuite加载插件时就是通过burp.BurpExtender来查找的,如果不这样起名,会报ClassNotFoundException 。
BurpExtender类需要实现IBurpExtender接口,burp在加载插件时,会调用该接口,并传递IBurpExtenderCallbacks接口供我们使用。
然后我们添加下面的代码为插件设置名称,并打印success字符串:
1 | package burp; |
接着可以编译该项目成jar包,然后让burp加载看看效果。
点击右侧的gradle菜单,展开菜单,双击shadowjar,gradle会自动编译项目成jar包,jar包位于build目录中的libs目录中。
在右侧build下选择Jar,尝试编译成jar包
我们在build目录下的lib文件夹中能清晰的看见,已经打包成功burpguitest2-1.0-SNAPSHOT.jar
我们需要给自己的插件构建ui界面,为了让IDEA打包GUI界面的类,需要在build.gradle添加com.intellij:forms_rt_依赖。代码如下
1 | implementation group: 'com.intellij', name: 'forms_rt', version: '7.0.3' |
接着在设置中设置根据 Form 界面自动生成 Java 源码:
IDEA => Preference => GUI Designer 选择Java source code
然后在Gradle的编译选项中设置编译器是IDEA自带的编译器,这样才能自动更新form文件中的控件到代码中:
新建一个名为ui的包
参考
https://mp.weixin.qq.com/s/ikmcnAdCLD8eIZgLQnpBzQ
https://mp.weixin.qq.com/s/nltEP0UJt0IGvBOf6LnsNg
- Post title:Burpsuite Plugins Development
- Post author:ssooking
- Create time:2021-12-10 11:18:00
- Post link:https://ssooking.github.io/2021/12/burpsuite-plugins-development/
- Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.