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

打印 上一主题 下一主题

主题 924|帖子 924|积分 2772

一、写在前面
  很久没更新了,一个是事情比较多、杂,而且这段时间有很多新知识和认知的冲击,不得不停下来沉淀一下。今天起正式开始一个新的模块——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.代码
  1. package burp;
  2. import javax.swing.*;
  3. import java.awt.*;
  4. import java.io.PrintWriter;
  5. public class BurpExtender implements IBurpExtender, IHttpListener, ITab{
  6.     private IBurpExtenderCallbacks callbacks;
  7.     private PrintWriter stdout;
  8.     private JPanel jPanelMain;
  9.     private JTextArea jta;
  10.     @Override
  11.     public void registerExtenderCallbacks(IBurpExtenderCallbacks iBurpExtenderCallbacks) {
  12.         //插件名称
  13.         this.callbacks = iBurpExtenderCallbacks;
  14.         callbacks.setExtensionName("First BurpExtender");
  15.         //插件激活时显示的内容
  16.         this.stdout = new PrintWriter(callbacks.getStdout(),true);
  17.         this.stdout.println("Hello~");
  18.         //注册监听器
  19.         callbacks.registerHttpListener(this);
  20.         //添加burp标签
  21.         callbacks.addSuiteTab(this);
  22.     }
  23.     @Override
  24.     public String getTabCaption() {
  25.         return "Tools";
  26.     }
  27.     @Override
  28.     public Component getUiComponent() {
  29.         if (jPanelMain == null){
  30.             jPanelMain = new JPanel();
  31.             jPanelMain.setLayout(new BorderLayout());
  32.             jta = new JTextArea();
  33.             //设置滚动条
  34.             JScrollPane jScrollPane = new JScrollPane(jta);
  35.             jPanelMain.add(jScrollPane,BorderLayout.CENTER);
  36.         }
  37.         return jPanelMain;
  38.     }
  39.     @Override
  40.     public void processHttpMessage(int i, boolean b, IHttpRequestResponse iHttpRequestResponse) {
  41.         stdout.println(
  42.                 (b ? "HTTP request to ":"HTTP response from ")+iHttpRequestResponse.getHttpService()+"["+callbacks.getToolName(i)+"]"
  43.         );
  44.         this.jta.append((b ? "HTTP request to ":"HTTP response from ")+iHttpRequestResponse.getHttpService()+"["+callbacks.getToolName(i)+"]");
  45.         this.jta.append("\n");
  46.     }
  47. }
复制代码
  3.实现效果


 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

道家人

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表