首页 > 其他分享 >BurpSuite插件——新建UI界面且监听访问HTTP信息

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

时间:2023-02-13 21:59:18浏览次数:55  
标签:插件 HTTP BurpSuite callbacks UI burp new jPanelMain

一、写在前面

  很久没更新了,一个是事情比较多、杂,而且这段时间有很多新知识和认知的冲击,不得不停下来沉淀一下。今天起正式开始一个新的模块——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.实现效果

 

标签:插件,HTTP,BurpSuite,callbacks,UI,burp,new,jPanelMain
From: https://www.cnblogs.com/wavesky/p/17117929.html

相关文章

  • 【elementUi】组件el-scrollbar监控滚动事件
    ElementUi的el-scrollbar组件<el-scrollbarstyle="height:50vh"ref="scrollbar"></el-scrollbar>  写个事件来监听该组件的滚动事件handleScroll(){......
  • [Typescript] Builder pattern - 02
    exportclassBuilderTuple<TListextendsany[]=[]>{list:TList;constructor(){this.list=[]asany;}push<TNumextendsnumber>(num:TNum):......
  • python+uiautomator2安卓,混合app 操作h5页面
    参考文章:https://testerhome.com/topics/15998uiautomator2app原生+webview的实际操作记录(安卓)1.首先 chrome://inspect/#devices通过连接查看自己的版本号......
  • 图片放大插件zoomify
         地址:https://github.com/indrimuska/zoomify<scripttype="text/javascript"> $('.exampleimg').zoomify(); </script> ......
  • 瓴羊Quick BI报表分析工具,专业数据分析人员的“神辅助”
    在如今的企业中,数据的重要性不言而喻。无论是从事哪种行业,规模大小如何,现代企业几乎都会用到数据分析来做管理决策。可以说,数据分析已经成为了企业运行不可或缺的基础。正因......
  • 22 插件
    1、功能:用于增强Vue2、本质:包含install方法的一个对象,install的第一个参数的Vue,第二个及以后的参数是插件使用这传递的数据。定义插件:  对象.install=function(Vu......
  • Java 生成 32位 UUID
    Java生成32位UUIDUUID:UniversallyUniqueIdentifier通用唯一识别码现在很多数据库的主键id,由原来的int自增,改为UUID表示。因为UUID本身不可能重复,线程安全,完美......
  • 【Oculus Interaction SDK】(八)特殊的 UI(曲面效果 & 手指点击)
    前言这篇文章是【OculusInteractionSDK】系列的一部分,如果发现有对不上的对方,可以回去翻看我之前发布的文章,或在评论区留言。如果文章的内容已经不适用于新版本了,也可以......
  • laydate插件实现时间选择器
    文章目录​​一、前言:​​​​二、年选择器:​​​​1、引入js和css文件:​​​​2、写一个input标签:​​​​3、执行一个laydate实例​​​​4、页面效果:​​​​三、年月选......
  • 利用bootstrap-table插件自带的打印功能打印表格
    文章目录​​1、前端代码:​​​​2、前端页面:​​​​1、表格数据展示​​​​2、点击打印按钮之后:​​​​3、插件下载地址:​​​​4、碰到的bug​​1、前端代码:<linkhre......