【BurpSuite】插件开发之fastjson4burp改造
【BurpSuite】插件开发之fastjson4burp改造
前言
sqlmap4burp开发者把代码重构了,fastjson scan文件也比较清楚,所有的项目文件都放在BurpExtender.java里面,比较适合我们这种初学者。
内容会持续更新,主要作用是备忘。
对比学习
1. 如果要输出一些内容如何做?
public class BurpExtender extends AbstractTableModel implements IBurpExtender{
public PrintWriter stdout;
BurpExtender.this.stdout.println("[*] 看看我的payloads [*]
");
}
public class BurpExtender extends AbstractTableModel implements IBurpExtender{
public PrintWriter stdout;
BurpExtender.this.stdout.println("[*] 看看我的payloads [*]
");
}
比如我要输出看看我的payloads
output里面就能看到
怎么改拓展名称
这个名称怎么改呢
public void registerExtenderCallbacks(IBurpExtenderCallbacks callbacks) {
callbacks.setExtensionName("fastjson4burp");
}
怎么改jar的名称
如何修改右键的ui
JMenuItem menuItem = new JMenuItem("plug-in3-fastjson4burp");
20210214更
找到bit4woo师傅写的burp插件学习指南,也是java栈的技术指导,比较好入门
涵盖一下上面的部分内容,包括
-
插件名称 输出流 burp报警面板 异常抛出
package burp;
import java.io.PrintWriter;
public class BurpExtender implements IBurpExtender
{
@Override
public void registerExtenderCallbacks(IBurpExtenderCallbacks callbacks)
{
// 设置插件的名称
callbacks.setExtensionName("Hello world extension");
// 获取burp提供的标准输出流和错误输出流
PrintWriter stdout = new PrintWriter(callbacks.getStdout(), true);
PrintWriter stderr = new PrintWriter(callbacks.getStderr(), true);
// 打印到标准输出流
stdout.println("Hello output");
// 答应到错误输出流
stderr.println("Hello errors");
// 写一个报警信息到burp的报警面板
callbacks.issueAlert("Hello alerts");
// 抛出一个异常,将会在错误输出流中显示
throw new RuntimeException("Hello exceptions");
}
}
callback
如果想要调用burp官方的原生接口,就用callback 通过idea自动tab就能看到。
