【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就能看到。