Burpsuite插件编写指南-Java篇(1)

admin 2022年3月23日06:31:36评论205 views字数 1733阅读5分46秒阅读模式

前言

同事做技术分享的时候,说花时间改了下别人发布的burpsuite插件,挺有意思。既然他能改别人的插件,那咱们必须马上整一个。

但是此时的我还不会。

Burpsuite插件编写指南-Java篇(1)

官方文档

https://portswigger.net/burp/extender/writing-your-first-burp-suite-extension

This guide will help you to write your first Burp extension in any of the supported languages (Java, Python & Ruby). 官方只支持三种语言:Java, Python & Ruby

快速上手

Burp客户端提供了所有现成的api接口

我们先把所有接口保存到本地,当然写插件不是所有接口都会用到

Burpsuite插件编写指南-Java篇(1)对应的介绍:https://portswigger.net/burp/extender/api/index.html

按官网文档走一遍

打开idea

Burpsuite插件编写指南-Java篇(1)

新建项目

Burpsuite插件编写指南-Java篇(1)jdk选择版本11 直接下一步点击完成。

编写项目

将刚刚保存的接口全部复制过来,同时新建一个类:BurpExtender

package burp;

public class BurpExtender implements IBurpExtender
{
    public void registerExtenderCallbacks (IBurpExtenderCallbacks callbacks)
    {
// your extension code here
    }
}
Burpsuite插件编写指南-Java篇(1)

打包项目

文件-项目结构-工件

Burpsuite插件编写指南-Java篇(1)

Burpsuite插件编写指南-Java篇(1)直接点确定

构建-构建工件 然后目录会多一个名字为out的文件夹,jar也成功生成了。

Burpsuite插件编写指南-Java篇(1)

尝试导入Burpsuite

Burpsuite插件编写指南-Java篇(1)

成功导入没有任何报错。但是我们并不知道我们这个插件开发算不算完成了,因为没有任何提示。那咱们直接拿官网的example,打包个hello world

hello world

修改BurpExtender

package burp;

import java.io.PrintWriter;

public class BurpExtender implements IBurpExtender
{
    public void registerExtenderCallbacks (IBurpExtenderCallbacks callbacks)
    {
        // set our extension name
        callbacks.setExtensionName("Hello world extension");

        // obtain our output and error streams
        PrintWriter stdout = new PrintWriter(callbacks.getStdout(), true);
        PrintWriter stderr = new PrintWriter(callbacks.getStderr(), true);

        // write a message to our output stream
        stdout.println("Hello output");

        // write a message to our error stream
        stderr.println("Hello errors");

        // write a message to the Burp alerts tab
        callbacks.issueAlert("Hello alerts");

        // throw an exception that will appear in our error stream
        throw new RuntimeException("Hello exceptions");
    }
}

官网这个helloworld例子真简单,看来写插件一点都不难Burpsuite插件编写指南-Java篇(1)


原文始发于微信公众号(白帽子飙车路):Burpsuite插件编写指南-Java篇(1)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月23日06:31:36
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Burpsuite插件编写指南-Java篇(1)http://cn-sec.com/archives/585356.html

发表评论

匿名网友 填写信息