BurpSuite插件——新建UI界面且监听访问HTTP信息

一、写在前面

  很久没更新了,一个是事情比较多、杂,而且这段时间有很多新知识和认知的冲击,不得不停下来沉淀一下。今天起正式开始一个新的模块——burp插件开发。

二、插件要求

  开发burp插件,一个是满足硬性功能要求,一个是界面尽量简洁工整。提取共性,第一次的例子就偏简单一些——完成burp界面的创建,并在界面中显示监听请求和回显的信息。

三、开发过程

  1.注意事项写在前面:

    在burp中写入拓展,一定要会用burp的api,具体怎么看、怎么用、怎么引入这里就不详细说明了,我这里放入两个师傅的博客,都是可行的方法。个人更喜欢maven引入的方式,会界面会比较简洁~

    maven方式——https://www.cnblogs.com/piaomiaohongchen/p/16869829.html

    导入burp的api——https://www.cnblogs.com/wjrblogs/p/16618145.html

  2.代码

package burp;

import javax.swing.*;
import java.awt.*;
import java.io.PrintWriter;

public class BurpExtender implements IBurpExtender, IHttpListener, ITab{
    private IBurpExtenderCallbacks callbacks;
    private PrintWriter stdout;
    private JPanel jPanelMain;
    private JTextArea jta;

    @Override
    public void registerExtenderCallbacks(IBurpExtenderCallbacks iBurpExtenderCallbacks) {
        //插件名称
        this.callbacks = iBurpExtenderCallbacks;
        callbacks.setExtensionName("First BurpExtender");

        //插件激活时显示的内容
        this.stdout = new PrintWriter(callbacks.getStdout(),true);
        this.stdout.println("Hello~");

        //注册监听器
        callbacks.registerHttpListener(this);
        //添加burp标签
        callbacks.addSuiteTab(this);

    }

    @Override
    public String getTabCaption() {
        return "Tools";
    }

    @Override
    public Component getUiComponent() {
        if (jPanelMain == null){
            jPanelMain = new JPanel();
            jPanelMain.setLayout(new BorderLayout());
            jta = new JTextArea();
            //设置滚动条
            JScrollPane jScrollPane = new JScrollPane(jta);
            jPanelMain.add(jScrollPane,BorderLayout.CENTER);
        }

        return jPanelMain;
    }

    @Override
    public void processHttpMessage(int i, boolean b, IHttpRequestResponse iHttpRequestResponse) {
        stdout.println(
                (b ? "HTTP request to ":"HTTP response from ")+iHttpRequestResponse.getHttpService()+"["+callbacks.getToolName(i)+"]"
        );
        this.jta.append((b ? "HTTP request to ":"HTTP response from ")+iHttpRequestResponse.getHttpService()+"["+callbacks.getToolName(i)+"]");
        this.jta.append("\n");
    }
}

  3.实现效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值