该篇文章及其后续几篇介绍burp插件开发的文章都是使用Java语言。我们这篇文章主要介绍如何导出burp插件开发所需的API文件、编写burp插件demo、及burp插件加载测试。
一、导出burp插件开发所需API文件
- 在burp软件中导出插件开发所需的API(使用添加API文件进行burp插件开发是为了方便查看每个方法的注释),具体步骤如下 打开burpsuite软件,找到工具栏中Extender,在子工具栏中找到APIs,在左下角可以看到两个按钮,一个是Save interface files,另一个Save Javadoc files。我们点击Save interface files导出API文件:
保存以后,可以在本地目录中看到文件夹burp,文件夹中则为保存的burp API文件,如下所示
如果不想麻烦导出这些API文件,也可以直接下载burp-extender-api.jar或者使用maven项目配置进行开发,jar文件下载及maven配置方式链接如下: https://mvnrepository.com/artifact/net.portswigger.burp.extender/burp-extender-api/2.1
二、编写burp插件demo(这里使用eclipse)
- 新建java项目,项目名称HelloWorldBurpExtender,如下所示
- 鼠标右键项目中的src目录,新建Java package,填写package名称为burp(burp插件规定package名称必须为burp),如下所示
- 新建完burp package后,将上面下载的burp插件API复制到burp package中,如下所示
- 在burp package中新建一个Java class,名称为BurpExtender(burp插件class名称必须为BurpExtender),如下所示
- 在BurpExtender中编写我们的测试代码,具体则是我们要去实现burp提供的接口IBurpExtender,将功能函数写在接口的registerExtenderCallbacks方法里面,如下所示
- 编写一个设置插件名称为"Hello World Extension Test"、输出"Hello Output Test"到Output、输出"Hello Errors Test"到Errors的demo,具体如下
- 编写完后,我们将测试demo打包成jar。右键项目,选择Export,在Export框中选择Java,再选择打包的类型JAR file,最后点击next,设置打包后的名称即可。打包成jar,方便burp加载,如下所示
三、burp插件加载测试
- 打开burp,找到工具栏中的Extender,子工具栏中Extensions,可看到按钮Add,我们可以通过点击Add按钮添加刚刚打包的测试demo,如下所示
- 点击Add按钮,在弹出的加载burp插件中选择插件类型Java,并在文件夹中找到我们的burp插件jar文件加载进来,点击next
- 可以在插件目录中看到我们刚加载的插件名称"Hello World Extension Test",在Output输出结果中看到我们设置的print字符串"Hello Output Test",在Errors输出结果中看到我们设置的print字符串"Hello Errors Test"
- 综上所述,这篇文章主要介绍了burp插件开发及插件加载的流程。测试demo只是简单地进行了输出测试,没有具体实际功能。后续文章将根据具体实例,编写相对应功能的burp插件。如果想熟悉该篇文章介绍的burp插件开发、加载流程,可以在公众号回复"burp demo 1",通过百度云下载测试demo代码。