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

admin 2022年3月23日06:31:36评论221 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)https://cn-sec.com/archives/585356.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息