Document My Pentest:你负责黑客攻击,AI负责记录!
Gareth Heyes
研究员
@garethheyes
发布时间: 2025年4月23日 13:17 UTC
更新时间: 2025年4月24日 08:41 UTC
厌倦了重复劳动?自动化你的Web安全审计跟踪。在这篇文章中,我将介绍一款新的Burp AI扩展,它将枯燥的部分从你的渗透测试中剔除。
Web安全测试可能很繁琐:记录每一步,一遍又一遍地写相同的笔记,并在每次任务中重复所有工作。但如果你在工作流程中可以自动记录——同时你进行黑客攻击呢?
Meet “Document My Pentest”,你的安全测试无声协分析师。这是一款开源的Burp Suite扩展,实时监视你的请求,理解你在探测什么,并自动构建一个清晰、结构化的发现记录——准确捕捉你做了什么以及如何做的。当你准备好时,将其交给AI并生成报告。不再需要枯燥的笔记记录。只需结果。
概念
PortSwigger研究团队一直在探索使用Burp AI功能的新AI扩展,并且令人惊讶的是,快速获得一个功能原型并运行起来。在短短几天内,我就有了一个可工作的扩展。
我很快了解到,AI不太擅长分析整个请求和响应,特别是对于像XSS这样的漏洞。它在发现路径遍历方面表现良好,因为响应给出了明确的指示,表明它已经工作,因为目录列表被显示。
考虑到这一点,我开始制定一个策略来识别反射数据。我最初的想法是使用canaries并查看canary被反射的位置,但这里有几个问题:a) 我们需要为每个请求发送一个额外的请求,b) 我们必须更改用户发送的请求。然后我想,为什么不直接使用测试的输入作为canary并将其转换为正则表达式呢?它是这样工作的:
考虑输入<script>alert(1)</script>,这可以通过多种方式转换,但通常字母数字字符将保持一致,所以我写了一个输入到正则表达式的转换器,将输入转换为:
.{1,6}script.{1,6}alert.{1,6}1.{1,6}.{1,6}.{1,6}script.{1,6}
这将意味着它会匹配转换如:
<script>alert(1)</script>
%3Cscript%3Ealert(1)%3C%2Fscript%3E
%253Cscript%253Ealert(1)%253C%252Fscript%253E
这可以给AI提供确切的转换,并提取反射的更集中部分,使AI甚至能够引用输入被转换为什么,而无需任何特定指令。经过大量测试,这似乎工作得相当好,但我们很快发现它不适用于其他攻击,如请求走私。在这种情况下,参数/标头修改无法被检测到,我们决定发送整个请求和响应,使用不同的AI提示,产生了更好的结果。
在构建这个扩展时,我经常发现AI会错误识别漏洞,这是由于提示中给出的指令。例如: 注意 如果找到HTML实体,它们很少表示XSS漏洞。
这个提示的问题在于,AI不确定它是否是一个漏洞。我的想法是,你可以在"srcdoc"属性中使用实体来引起XSS,但这种模糊的语言导致LLM将漏洞标记为潜在XSS,即使它是HTML编码的。解决这个问题的方法是在提示中创建更精确的语言:
“如果响应反射包含HTML编码的输入(例如,<script>),那不是漏洞。”
你甚至可以让LLM分析它自己的响应,并告诉你为什么它认为有漏洞,当显然没有时。这是我使用的提示: “看这个LLM响应,并指出为什么它认为有XSS,当显然没有时: LLM RESPONSE GOES HERE”
这返回了关于为什么LLM错误识别问题的详细分析,并提出了改进方法。然后我拿了实际的提示,并请LLM改进它: “如何改进这个提示以防止这种问题?” YOUR PROMPT GOES HERE
LLM给出了一些非常精确的指令,关于如何改进提示。这产生了更好的分析,并减少了误报。
整个过程突显了在与LLMs进行安全分析时,仔细的提示工程是多么重要。底层模型可能很强大,但如果没有清晰、明确的指令和严格范围的输入,它容易出现幻觉或过于谨慎的响应。通过迭代提示、实验输入格式和调整模型看到的数据,我们能够推动其能力,以找到广泛的漏洞。它并不完美,但在正确的设置下,它可以有意义地协助漏洞分类,甚至以帮助改进AI和使用它的人的方式解释其推理。
安装说明
在Burp Suite Professional中,转到Extensions → BApp store并搜索"Document My Pentest"。点击安装按钮,然后导航到已安装的选项卡,选择"Document My Pentest",并在Extension选项卡中勾选"Use AI"复选框。
如何使用它
只需像通常测试目标时使用Repeater。当你准备好记录你的工作时,跳过挖掘Repeater历史——只需右键单击并选择Extensions → Document My Pentest → Document my work。AI将自动为你生成笔记。
你也可以右键单击代理历史,并将渗透测试记录为单独的请求或作为请求和响应的集合。
右键单击单个或多个代理历史项,并选择Extensions → Document My Pentest→ Document my work (separately)。这将创建每个请求和响应的笔记,作为单独的攻击。Extensions → Document My Pentest → Document my work (as collection)将创建所有请求和响应的组合笔记,并将笔记放入最后选择的项中。你还可以配置Document My Pentest,通过转到Document My Work->Settings->Auto invoke after Repeater requests和Document My Work->Settings->Auto send notes to Organizer,在黑客攻击目标时自动将笔记发送到Organizer。
当然,AI并非完美无缺——有时它会出错。没问题:你可以手动编辑笔记并进行更正。
感到受启发?尝试使用Burp的内置Montoya API及其专用接口,处理你的扩展和PortSwigger可信AI平台之间的流量,自己创建一个AI驱动的扩展。
AI安全与隐私
我们已经更新了我们的文档,以反映我们如何处理发送到AI的数据,请查看详细文档和博客文章。
Pen Testing
AI
Burp Suite
返回所有文章
此页面需要JavaScript以增强用户体验。
相关研究
-
Repeater Strike: manual testing, amplified
2025年7月15日
Repeater Strike: manual testing, amplified -
Shadow Repeater
AI-enhanced manual testing
2025年2月20日
Shadow Repeater
AI-enhanced manual testing -
Using form hijacking to bypass CSP
2024年3月5日
Using form hijacking to bypass CSP -
nOtWASP bottom 10: vulnerabilities that make you cry
2021年4月1日
nOtWASP bottom 10: vulnerabilities that make you cry
Burp Suite
Web vulnerability scanner
Burp Suite Editions
Release Notes
漏洞
跨站脚本(XSS)
SQL注入
跨站请求伪造
XML外部实体注入
目录遍历
服务器端请求伪造
客户
组织
测试人员
开发人员
公司
关于
职业
联系
法律
隐私通知
洞察
Web Security Academy
博客
研究
关注我们
© 2025 PortSwigger Ltd.