[!重要] 宣布推出 BurpGPT Pro,这是专为满足专业人员和网络安全公司需求而量身定制的版本。发现一系列强大的功能和用户友好的界面,增强您的能力并确保最佳用户体验。要访问这些优势,请访问我们的网站网站并阅读文档了解更多信息。
[!警告] 请注意,社区版已不再维护或可用。要继续接收更新、新功能、错误修复和改进,建议升级到专业版。社区版的
问题
提交已不再有效。
burpgpt
burpgpt
利用 AI
的力量检测传统扫描器可能遗漏的安全漏洞。它将 Web 流量发送到用户指定的 OpenAI
模型
,在被动扫描器中进行复杂分析。此扩展提供可定制的 提示词
,以实现针对用户特定需求的 Web 流量分析。请查看 用例示例 部分以获得灵感。
该扩展生成自动化的安全报告,根据用户的 提示词
和 Burp
发出的请求的实时数据总结潜在的安全问题。通过利用 AI
和自然语言处理,该扩展简化了安全评估过程,为安全专业人员提供了更高层次的应用程序或端点概览。这使他们更容易识别潜在的安全问题并优先进行分析,同时也涵盖了更大的潜在攻击面。
[!警告] 数据流量会发送到
OpenAI
进行分析。如果您对此有顾虑或正在将该扩展用于安全关键的应用程序,请务必仔细考虑这一点并查阅 OpenAI 的隐私政策 获取更多信息。
[!警告] 虽然报告是自动生成的,但仍需由安全专业人员进行分类和后处理,因为它可能包含误报。
[!警告] 此扩展的效果在很大程度上依赖于用户为所选
GPT
模型创建的提示词的质量和精度。这种针对性的方法将有助于确保GPT 模型
为您的安全分析生成准确且有价值的结果。
功能
- 添加了一个
被动扫描检查
,允许用户通过占位符
系统将HTTP
数据提交到OpenAI
控制的GPT 模型
进行分析。 - 利用
OpenAI 的 GPT 模型
的强大功能进行全面的流量分析,能够检测扫描应用程序中除了安全漏洞之外的各种问题。 - 允许用户精细控制用于分析的
GPT 令牌
数量,通过精确调整最大提示长度
实现。 - 为用户提供多种
OpenAI 模型
选择,允许他们选择最适合自己需求的模型。 - 赋予用户定制
提示词
的能力,释放与OpenAI 模型
交互的无限可能性。浏览 用例示例 以获得灵感。 - 集成
Burp Suite
,提供所有本地的预处理和后处理功能,包括在 Burp UI 中直接显示分析结果以便进行高效分析。 - 通过本地
Burp 事件日志
提供故障排除功能,帮助用户快速解决与OpenAI API
的通信问题。
系统要求
1. 系统要求
-
操作系统:兼容
Linux
、macOS
和Windows
操作系统。 -
Java 开发工具包 (JDK):
版本 11
或更高版本。 -
Burp Suite 专业版或社区版:
版本 2023.3.2
或更高版本。[!重要] 请注意,使用低于
2023.3.2
的任何版本可能会导致 java.lang.NoSuchMethodError。为避免此问题,必须使用指定版本或更高版本。
2. 构建工具
- Gradle:
版本 6.9
或更高版本(推荐)。项目仓库中提供了 build.gradle 文件。
3. 环境变量
- 设置
JAVA_HOME
环境变量以指向JDK
安装目录。
请确保在构建和运行项目之前满足所有系统要求,包括兼容的 Burp Suite
版本。请注意,项目的外部依赖项将在构建过程中由 Gradle
自动管理和安装。遵循这些要求将有助于避免潜在问题并减少在项目仓库中提交新问题的需要。
安装
1. 编译
-
确保您已安装并配置好 Gradle。
-
下载
burpgpt
仓库:git clone https://github.com/aress31/burpgpt cd .\burpgpt\
-
构建独立的
jar
:./gradlew shadowJar
2. 将扩展加载到 Burp Suite
要在 Burp Suite
中安装 burpgpt
,首先转到 扩展
选项卡并点击 添加
按钮。然后,选择位于 .\lib\build\libs
文件夹中的 burpgpt-all
jar 文件以加载扩展。
使用
要开始使用 burpgpt,用户需要在设置面板中完成以下步骤,可以通过 Burp Suite 菜单栏访问设置面板:
- 输入有效的
OpenAI API 密钥
。 - 选择一个
模型
。 - 定义
最大提示词大小
。该字段控制发送到OpenAI
的提示词
的最大长度,以避免超过GPT
模型的maxTokens
(通常为2048
,针对GPT-3
)。 - 根据您的需求调整或创建自定义提示词。
按照上述配置后,Burp 被动扫描器
会通过 OpenAI API
将每个请求发送到选定的 OpenAI 模型
进行分析,并根据结果生成 信息
级别的严重性发现。
提示配置
burpgpt
允许用户使用 占位符
系统来定制用于流量分析的 提示
。为了包含相关信息,我们建议使用这些 占位符
,扩展直接处理这些占位符,允许动态插入特定值到 提示
中:
占位符 | 描述 |
---|---|
{REQUEST} | 扫描的请求。 |
{URL} | 扫描请求的 URL。 |
{METHOD} | 扫描请求中使用的 HTTP 请求方法。 |
{REQUEST_HEADERS} | 扫描请求的头部信息。 |
{REQUEST_BODY} | 扫描请求的主体。 |
{RESPONSE} | 扫描的响应。 |
{RESPONSE_HEADERS} | 扫描响应的头部信息。 |
{RESPONSE_BODY} | 扫描响应的主体。 |
{IS_TRUNCATED_PROMPT} | 一个 布尔值 ,程序自动设置为 true 或 false ,以指示 提示 是否已根据 设置 中定义的 最大提示大小 被截断。 |
这些 占位符
可用于自定义 提示
,以动态生成特定于扫描请求的请求/响应分析 提示
。
[!注意] >
Burp Suite
通过使用 会话处理规则 或诸如 自定义参数处理器 之类的扩展,提供支持任意占位符
的功能,从而实现对提示
的更大定制化。
示例用例
以下示例用例列表展示了 burpgpt
的定制化和高度可定制的特性,使用户能够根据特定需求定制其网络流量分析。
-
识别使用受特定 CVE 影响的加密库的 Web 应用程序中的潜在漏洞:
分析请求和响应数据中与受 CVE-{CVE_NUMBER} 影响的 {CRYPTO_LIBRARY_NAME} 加密库相关的潜在安全漏洞: Web 应用程序 URL: {URL} 加密库名称: {CRYPTO_LIBRARY_NAME} CVE 编号: CVE-{CVE_NUMBER} 请求头部: {REQUEST_HEADERS} 响应头部: {RESPONSE_HEADERS} 请求主体: {REQUEST_BODY} 响应主体: {RESPONSE_BODY} 识别请求和响应数据中与受 CVE-{CVE_NUMBER} 影响的 {CRYPTO_LIBRARY_NAME} 加密库相关的任何潜在漏洞,并报告它们。
-
通过分析与生物认证过程相关的请求和响应数据,扫描使用生物认证的 Web 应用程序中的漏洞:
分析请求和响应数据中与生物认证过程相关的潜在安全漏洞: Web 应用程序 URL: {URL} 生物认证请求头部: {REQUEST_HEADERS} 生物认证响应头部: {RESPONSE_HEADERS} 生物认证请求主体: {REQUEST_BODY} 生物认证响应主体: {RESPONSE_BODY} 识别请求和响应数据中与生物认证过程相关的任何潜在漏洞,并报告它们。
-
分析无服务器函数之间交换的请求和响应数据中潜在的安全漏洞:
分析无服务器函数之间交换的请求和响应数据中的潜在安全漏洞: 无服务器函数 A URL: {URL} 无服务器函数 B URL: {URL} 无服务器函数 A 请求头部: {REQUEST_HEADERS} 无服务器函数 B 响应头部: {RESPONSE_HEADERS} 无服务器函数 A 请求主体: {REQUEST_BODY} 无服务器函数 B 响应主体: {RESPONSE_BODY} 识别两个无服务器函数之间交换的数据中的任何潜在漏洞,并报告它们。
-
分析特定于单页应用(SPA)框架的请求和响应数据中的潜在安全漏洞:
分析特定于 {SPA_FRAMEWORK_NAME} 单页应用框架的请求和响应数据中的潜在安全漏洞: Web 应用程序 URL: {URL} SPA 框架名称: {SPA_FRAMEWORK_NAME} 请求头部: {REQUEST_HEADERS} 响应头部: {RESPONSE_HEADERS} 请求主体: {REQUEST_BODY} 响应主体: {RESPONSE_BODY} 识别请求和响应数据中与 {SPA_FRAMEWORK_NAME} 单页应用框架相关的任何潜在漏洞,并报告它们。
路线图
- 向
设置
面板添加一个新字段,允许用户为请求设置maxTokens
限制,从而限制请求大小。<- 专属 BurpGPT 专业版。 - 添加支持连接本地
AI 模型
实例的功能,允许用户在本地机器上运行和交互模型,可能提高响应时间和数据隐私。<- 专属 BurpGPT 专业版。 - 检索每个
模型
的精确maxTokens
值,以传输最大允许数据并获得最广泛的GPT
响应。 - 实现持久化配置存储,以在
Burp Suite
重启时保留设置。<- 专属 BurpGPT 专业版。 - 增强代码,以更准确地将
GPT
响应解析到漏洞模型
中,从而改进报告。<- 专属 BurpGPT 专业版。
项目信息
该扩展目前正在开发中,我们欢迎反馈、评论和贡献,以使其更好。
赞助 💖
如果这个扩展在安全评估期间为你节省了时间和麻烦,请考虑通过赞助一杯咖啡 ☕ 来表示感谢。这毕竟是推动开发的动力。只需点击页面顶部的赞助按钮或 点击这里 进行贡献,并保持咖啡因的流动。💸
报告问题
你发现了一个 bug?那么不要让它到处爬!让我们一起像几个虫子低语者一样把它消灭掉!🐛💪
请在 GitHub 问题跟踪器 上报告任何问题。我们将共同努力,使这个扩展可靠得像在核爆炸中幸存的蟑螂一样!🚀
贡献
想用你的编程技能大显身手吗?💻 很棒!欢迎并非常感谢您的贡献。请将所有的拉取请求提交到GitHub 拉取请求跟踪器。让我们一起来让这个扩展变得更加出色!🚀
许可证
请参阅LICENSE。