文章目录
1 前言
本系列基于 BurpSuite 2025社区版本进行插件开发, 让大家了解 BurpSuite 插件的核心能力,为开发一个完整的 BurpSuite 插件做准备。
后续会基于本人在某大厂工作中实际开发的插件,出一个企业实战篇,来应用所有基础篇中讲解到的内容。
2 环境参数
2.1 下载最新版本 BurpSuite
这里以社区版为例,下载地址
有条件的可以使用专业版,因为仅专业版支持Ai
、Collaborator
、Scanner
功能的扩展。
当然,本人在工作中使用社区版开发插件已经可以满足大多数测试的需求。
2.2 开发语言
选择 Java 的原因很简单,就是为了兼容性;因为 BurpSuite 本身是用 Java 编写的,其插件接口是纯 Java API。
Java 插件可直接调用 Burp 核心对象,无需跨语言通信,性能更高,功能更完整。
使用非 Java 语言开发(如 Python),依赖 Jython(已停止更新),仅支持 Python 2。
2.3 安装 JDK
JDK 的版本最好不低于 BurpSuite 内置版本,可以通过命令启动 BurpSuite 来判断:
# 进入 BurpSuite 的安装目录
java -jar burpsuite_community.jar
如果出现下面报错,说明系统当前 JDK 版本低于 BurpSuite 的内置版本:
这个错误信息中的 class file version 65.0 明确表示该 JAR 文件是用 JDK 21 编译的,而这里使用的是 JDK 17,即 61.0 版本。
因此,该版本 BurpSuite 的插件开发应该使用 JDK 21 版本最好。
2.4 包管理
Java 语言可以选择 Maven 或 Gradle 管理,官方以 Gradle 为主;如果习惯使用 Maven,也可以使用,比较简单。
3 主要依赖
3.1 Gradle(推荐)
通过 Gradle 新建项目,流程比较简单:
-
打开 BurpSuite 社区版
-
进入 Extensions > APIs
-
点击 Download starter project
-
选择本地路径,点击 Save
官方 Starter Project 包含基础插件框架(实现BurpExtension接口),可直接基于Extension.java开发。 -
使用 IDEA 打开该项目即可,依赖已经写好
这里建议使用 JDK 21 版本。
默认依赖
// Burp 环境本身已经提供,这里是为了开发使用,因此使用 compileOnly
compileOnly("net.portswigger.burp.extensions:montoya-api:2025.5")
三方依赖
以 jackson 为例
-
搜索
jackson-databind
,选择使用量最多、最近最新的进入
-
选择
Gradle (Kotlin)
格式
项目添加依赖配置
dependencies {
// 如果想添加三方库依赖,使用 implementation
implementation("com.fasterxml.jackson.core:jackson-databind:2.19.1")
}
3.2 Maven
BurpSuite 老的依赖包 Burp Extender API 从 2021.10.28 停止维护, 后续引入了全新的 Montoya API,并推荐所有新插件开发使用这个现代化的 API。
插件 Montoya API 的 Maven 地址:https://mvnrepository.com/artifact/net.portswigger.burp.extensions/montoya-api
当前最新是 2025.6 版本
<dependency>
<groupId>net.portswigger.burp.extensions</groupId>
<artifactId>montoya-api</artifactId>
<version>2025.6</version>
</dependency>
4 总结
- BurpSuite 2025 插件开发的环境搭建核心在于JDK 版本匹配和Montoya API 依赖管理。
- 通过官方 Starter Project(Gradle)或 Maven 手动配置,可快速创建插件项目。
- 开发前需确保 JDK 版本与 BurpSuite 兼容,避免因类文件版本不匹配导致启动失败。
- 后续开发可基于BurpExtension接口扩展 HTTP 拦截、自定义 UI 等功能,社区版已能满足多数安全测试场景需求。