前言
最近有需求要写一个burp的插件,发现最新版的burp的API已经更新了,要比以前更加的完善,且功能更多。
burp官方给了说明,
大致意思就是现在burp使用了最新的 Montoya API来进行插件的开发,但是商店的大部分插件都是使用的老版本的api进行开发,burp同样会支持,然后给了一些链接方便大家学习,这里给大家把中间的链接罗列出来:
给出的test代码网址为
https://github.com/PortSwigger/burp-extensions-montoya-api/blob/d86f875647ae35ad3647afbc13090f59c5120c8e/api/src/test/java/burp/api/montoya/TestExtension.java
API文档
https://portswigger.github.io/burp-extensions-montoya-api/javadoc/burp/api/montoya/MontoyaApi.html
旧版本的API文档
https://portswigger.net/burp/extender/api/
旧版本继承的类在新版本已经没有了,改成了BurpExtension,使用的话需要实现MontoyaApi的initialize()方法,具体的方法请往下看:
建立项目
我使用的是IntellJ IDE,这里把每一步的操作截图进行展示
选择JAVA-IntelliJ,建立一个空项目
进入项目的文件夹,我的是D:\code\burpsql\burpsql\src,将里面的文件删除。
进入burp的Extensions->APIs,将内容保存在src文件夹中
在src文件夹中新建文件夹burpsql,并在里面新建java文件Main.java
完成后在IDE中可以看到项目已经ok了
这里我们需要implements BurpExtension。代码如下
package burpsql;
import burp.api.montoya.BurpExtension;
import burp.api.montoya.MontoyaApi;
import burp.api.montoya.logging.Logging;
public class Main implements BurpExtension {
private Logging logging;
@Override
public void initialize(MontoyaApi api) {
logging = api.logging();
logging.logToOutput("Hello World!");
}
}
之后就要buil成jar包
file->project structure->Aritifacts->+>->jar->from modules
Build->Build Aritifacts
成功后会在out中生成jar文件
将jar包加载人burp
执行后可以看到成功打印log
这样项目就新建完成了,后面就可以进行burp的插件编写
系列教程
BurpSuitePro Montoya API 开发插件_sqlmap
https://blog.csdn.net/GalaxySpaceX/article/details/129754229