Burp插件研发避坑指南1

前面每个接口介绍什么的就不介绍了,可以参考:

BurpSuite插件开发指南之 API 上篇_双刃剑客的博客-CSDN博客_burpsuite插件api

BurpSuite插件开发指南之 API 下篇_双刃剑客的博客-CSDN博客

直接上手实战。先写一个小标签页面,期望的效果是这样的:

Burp插件研发避坑指南1_第1张图片

代码:

package burp;

import java.util.ArrayList;
import java.util.List;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import java.io.PrintWriter;

public class BurpExtender implements IBurpExtender,IContextMenuFactory,IHttpListener{

    public PrintWriter stdout;
    public IExtensionHelpers hps;
    public IBurpExtenderCallbacks cbs;

    @Override
    public void registerExtenderCallbacks(IBurpExtenderCallbacks callbacks) {
        callbacks.setExtensionName("taotao");
        callbacks.registerContextMenuFactory(this::createMenuItems);
        this.hps = callbacks.getHelpers();
        this.cbs = callbacks;
        this.stdout = new PrintWriter(callbacks.getStdout(), true);
        this.stdout.println("hello burp!");
    }

    @Override
    public List createMenuItems(final IContextMenuInvocation invocation) {

        List listMenuItems = new ArrayList();
        //判断是否是Repeater模块
        if(invocation.getToolFlag() == IBurpExtenderCallbacks.TOOL_REPEATER) {
            //子菜单
            JMenuItem menuItem1;
            menuItem1 = new JMenuItem("decoder");
            JMenuItem menuItem2;
            menuItem2 = new JMenuItem("encoder");
            //父级菜单
            JMenu jMenu = new JMenu("taotao");
            jMenu.add(menuItem1);
            jMenu.add(menuItem2);
            listMenuItems.add(jMenu);
        }
        return listMenuItems;
    }

    @Override
    public void processHttpMessage(int toolFlag, boolean messageIsRequest,
                                   IHttpRequestResponse messageInfo) {
        // TODO here
    }
}

就在这个简单的过程中,我遇到的问题是如何build成jar包导入burp。网上搜索,很多教程里说的都不全,有些只说了最后一步,但新项目,最后一步Build Artifacts的选项是灰的根本无法选,以至于怀疑社区版idea的问题。

1、build

Burp插件研发避坑指南1_第2张图片 

2、File - Project Structure - Project Settings - Artifacts - “+” - JAR - From modules with dependencies - 在Main Class中输入"BurpExtender" - OK

Burp插件研发避坑指南1_第3张图片

 3、Build - Build Artifacts - Build

Burp插件研发避坑指南1_第4张图片 

 

你可能感兴趣的:(Burp插件研发,java,开发语言)