Burp Collaborator 交互

代码实现

fetch只会获取到最新的结果,如果结果之前被fetch过,下一次fetch的时候不会重复出现。

package burp;

import java.util.List;

public class BurpExtender implements IBurpExtender {
    // 回调对象
    private IBurpExtenderCallbacks callbacks;
    // 辅助类,一般用于辅助分析数据包结构
    private IExtensionHelpers helpers;

    // 实现 IBurpExtender 接口函数
    @Override
    public void registerExtenderCallbacks(IBurpExtenderCallbacks callbacks) {
        // 设置插件名字
        callbacks.setExtensionName("Demo");

        // callbacks到处都要用,搞成类变量
        this.callbacks = callbacks;

        // 辅助类,一般用于辅助分析数据包结构,类变量方便其他函数调用
        helpers = callbacks.getHelpers();

        // Collaborator
        IBurpCollaboratorClientContext burpCollaboratorClientContext = callbacks.createBurpCollaboratorClientContext();
        // 获取到的域名
        String subdomain = burpCollaboratorClientContext.generatePayload(true);
        // fetch 获取最新结果
        List<IBurpCollaboratorInteraction> iBurpCollaboratorInteractions = burpCollaboratorClientContext.fetchAllCollaboratorInteractions();
        // 循环输出结果
        for (IBurpCollaboratorInteraction c: iBurpCollaboratorInteractions) {
            callbacks.printOutput(c.getProperties().toString());
        }
    }
}

获取到的数据结构如下

image-20240927上午82324137

可以对raw_query base64解码后看到查询时的前缀。

image-20240927上午82247244

插件配置保存

代码实现

package burp;

import java.util.List;

public class BurpExtender implements IBurpExtender {
    // 回调对象
    private IBurpExtenderCallbacks callbacks;
    // 辅助类,一般用于辅助分析数据包结构
    private IExtensionHelpers helpers;

    // 实现 IBurpExtender 接口函数
    @Override
    public void registerExtenderCallbacks(IBurpExtenderCallbacks callbacks) {
        // 设置插件名字
        callbacks.setExtensionName("Demo");

        // callbacks到处都要用,搞成类变量
        this.callbacks = callbacks;

        // 辅助类,一般用于辅助分析数据包结构,类变量方便其他函数调用
        helpers = callbacks.getHelpers();

        // 保存到临时文件中
        ITempFile iTempFile = callbacks.saveToTempFile("aaa".getBytes());
        callbacks.printOutput(helpers.bytesToString(iTempFile.getBuffer()));

        // 保存到配置文件
        callbacks.saveExtensionSetting("testforme", "d4m1ts");
        // 获取配置
        String testforme = callbacks.loadExtensionSetting("testforme");
        callbacks.printOutput(testforme);
    }
}

image-20240927上午83216584

Copyright © d4m1ts 2023 all right reserved,powered by Gitbook该文章修订时间: 2024-09-28 14:13:54

results matching ""

    No results matching ""