嗨,大家好,欢迎来到【好文分享系列】,不定期转载干货好文,实用工具,分享给大家一起学习进步,一起卷起来~,为了防止迷路,别忘了给【玄魂工作室】点个星标哦!
原文链接如下:
https://github.com/aress31/burpgpt
【玄魂工作室】使用机器翻译如下
burpgpt利用人工智能的力量来检测传统扫描器可能错过的安全漏洞。它将Web流量发送到用户指定的OpenAI模型,使被动扫描器内能够进行复杂的分析。此扩展提供可定制的提示,以满足每个用户特定需求的定制Web流量分析。请查看“示例用例”部分以获得灵感。
该扩展会生成自动化的安全报告,根据用户的提示和Burp请求实时数据,总结潜在的安全问题。通过利用人工智能和自然语言处理,该扩展简化了安全评估流程,并为安全专业人员提供了被扫描应用程序或端点的更高级别概述。这使他们更容易识别潜在的安全问题并优先进行分析,同时也可以覆盖更大的潜在攻击面。
数据流量将发送到OpenAI进行分析。如果您对此有疑虑或正在为安全关键应用程序使用该扩展,请认真考虑并查看OpenAI的隐私政策以获取更多信息。
尽管报告是自动化的,但仍需要由安全专业人员进行分析和后处理,因为它可能包含误报。
该扩展的有效性严重依赖于用户为选定的GPT模型创建的提示的质量和精度。这种有针对性的方法将有助于确保GPT模型为您的安全分析生成准确和有价值的结果。
本扩展添加了一个被动扫描检查功能,允许用户通过占位符系统将HTTP数据提交到OpenAI控制的GPT模型进行分析。
利用OpenAI的GPT模型的强大能力进行全面的流量分析,能够检测扫描应用程序中除了安全漏洞之外的各种问题。
通过允许精确调整最大提示长度,可以对使用的GPT令牌数量进行细粒度控制。
提供多个OpenAI模型供用户选择,使他们可以选择最符合自己需求的模型。
赋予用户定制提示并释放与OpenAI模型进行交互的无限可能性的权力。请浏览“示例用例”以获得灵感。
与Burp Suite集成,提供所有原生功能的预处理和后处理,包括在Burp UI中直接显示分析结果以进行高效的分析。
通过本地Burp事件日志提供故障排除功能,使用户能够快速解决与OpenAI API的通信问题。
1.编译
确保您已安装并配置了 Gradle。
下载 burpgpt 存储库:
git clone https://github.com/aress31/burpgpt
cd .\burpgpt
构建独立的jar包:
./gradlew shadowJar
2. 将扩展加载到Burp Suite中
要在 Burp Suite 中安装 burpgpt,首先转到 Extendensions 选项卡,然后单击“添加”按钮。然后,选择位于 .\lib\build\libs 文件夹中的 burpgpt-all.jar 文件以加载扩展。
要开始使用burpgpt,用户需要完成以下步骤,在Burp Suite菜单栏中访问设置面板:
输入有效的OpenAI API密钥。
选择一个模型。
定义最大提示大小。该字段控制发送到OpenAI的最大提示长度,以避免超过GPT模型的maxTokens(通常为GPT-3约为2048)。
根据您的要求调整或创建自定义提示。
一旦按上述方式进行配置,Burp被动扫描器会将每个请求通过OpenAI API发送到所选的OpenAI模型进行分析,并基于结果生成信息级别的安全性发现。
burpgpt 使用户能够使用占位符系统定制流量分析的提示。为了包含相关信息,我们建议使用这些占位符,该扩展程序直接处理这些占位符,允许将特定值动态插入到提示中:
Placeholder | Description |
---|---|
{REQUEST} | The scanned request. |
{URL} | The URL of the scanned request. |
{METHOD} | The HTTP request method used in the scanned request. |
{REQUEST_HEADERS} | The headers of the scanned request. |
{REQUEST_BODY} | The body of the scanned request. |
{RESPONSE} | The scanned response. |
{RESPONSE_HEADERS} | The headers of the scanned response. |
{RESPONSE_BODY} | The body of the scanned response. |
{IS_TRUNCATED_PROMPT} | A boolean value that is programmatically set to true or false to indicate whether the prompt was truncated to the Maximum Prompt Size defined in the Settings . |
这些占位符可以在自定义提示中使用,以动态生成针对扫描请求的请求/响应分析提示。
[!注意] > Burp Suite通过会话处理规则或扩展程序(如自定义参数处理程序)支持任意占位符的能力,从而允许更大范围的提示定制。
以下示例用例清单展示了 burpgpt
的量身定制和高度可定制性的特性,使用户能够根据其特定需求定制其Web流量分析。
通过分析受特定CVE影响的加密库使用的Web应用程序,识别潜在漏洞:
Analyse the request and response data for potential security vulnerabilities related to the {CRYPTO_LIBRARY_NAME} crypto library affected by CVE-{CVE_NUMBER}:
Web Application URL: {URL}
Crypto Library Name: {CRYPTO_LIBRARY_NAME}
CVE Number: CVE-{CVE_NUMBER}
Request Headers: {REQUEST_HEADERS}
Response Headers: {RESPONSE_HEADERS}
Request Body: {REQUEST_BODY}
Response Body: {RESPONSE_BODY}
Identify any potential vulnerabilities related to the {CRYPTO_LIBRARY_NAME} crypto library affected by CVE-{CVE_NUMBER} in the request and response data and report them.
通过分析与生物识别身份验证过程相关的请求和响应数据,扫描使用生物识别身份验证的Web应用程序中的漏洞:
Analyse the request and response data for potential security vulnerabilities related to the biometric authentication process:
Web Application URL: {URL}
Biometric Authentication Request Headers: {REQUEST_HEADERS}
Biometric Authentication Response Headers: {RESPONSE_HEADERS}
Biometric Authentication Request Body: {REQUEST_BODY}
Biometric Authentication Response Body: {RESPONSE_BODY}
Identify any potential vulnerabilities related to the biometric authentication process in the request and response data and report them.
分析无服务器函数之间交换的请求和响应数据,以发现潜在的安全漏洞:
Analyse the request and response data exchanged between serverless functions for potential security vulnerabilities:
Serverless Function A URL: {URL}
Serverless Function B URL: {URL}
Serverless Function A Request Headers: {REQUEST_HEADERS}
Serverless Function B Response Headers: {RESPONSE_HEADERS}
Serverless Function A Request Body: {REQUEST_BODY}
Serverless Function B Response Body: {RESPONSE_BODY}
Identify any potential vulnerabilities in the data exchanged between the two serverless functions and report them.
分析请求和响应数据,以发现特定于单页应用程序(SPA)框架的安全漏洞:
Analyse the request and response data for potential security vulnerabilities specific to the {SPA_FRAMEWORK_NAME} SPA framework:
Web Application URL: {URL}
SPA Framework Name: {SPA_FRAMEWORK_NAME}
Request Headers: {REQUEST_HEADERS}
Response Headers: {RESPONSE_HEADERS}
Request Body: {REQUEST_BODY}
Response Body: {RESPONSE_BODY}
Identify any potential vulnerabilities related to the {SPA_FRAMEWORK_NAME} SPA framework in the request and response data and report them.