Shadow Repeater:AI增强型手动测试技术解析

Shadow Repeater是PortSwigger Research推出的AI增强手动测试工具,通过监控Repeater请求、AI生成载荷变体并利用响应差异分析技术,帮助安全测试人员发现XSS、路径遍历等漏洞,提升测试效率。

Shadow Repeater:AI增强型手动测试

Gareth Heyes
研究员
@garethheyes

发布时间: 2025年2月20日 13:20 UTC
更新时间: 2025年2月25日 09:06 UTC

你是否曾因一个细微的错误选择而与漏洞失之交臂?我们刚刚发布了Shadow Repeater,这款工具通过AI驱动的全自动变体测试来增强你的手动测试能力。你只需像平常一样使用Burp Repeater,Shadow Repeater会在后台监控你的攻击尝试,生成变体并通过Organizer报告任何发现。

Shadow Repeater通过分析你的载荷来辅助深度定向测试。当由于语法错误、编码不正确、文件路径错误或简单的拼写错误导致测试功亏一篑时,它能为你找到漏洞。整个过程完全自动化,无需改变你正常的手动测试工作流程。

Shadow Repeater工作原理

Shadow Repeater监控你的Repeater请求,识别你正在修改的参数。然后提取你放置在这些参数中的载荷,并将其发送给AI模型生成变体。最后,它使用这些载荷变体攻击目标,并通过响应差异分析来识别是否触发了新的有趣代码路径。这种方法能够基于手动测试人员的专业知识发现意外行为,如非常规XSS向量、成功的路径遍历尝试,甚至电子邮件拆分攻击等新型漏洞。

你可以在Github上获取Shadow Repeater的源代码,也可以在BApp商店中获取。

安装说明

在Burp Suite Professional中,转到Extensions->BApp store并搜索Shadow Repeater。点击安装按钮,然后导航到已安装标签页,选择Shadow Repeater并在Extension标签页中勾选"Use AI"复选框。

使用方法

默认情况下,Shadow Repeater在你发出第5个Repeater请求时被调用,并且要求有参数或头部被修改。你只需通过某种方式修改请求来尝试攻击目标。在后台,Shadow Repeater将发送变体并寻找响应中的差异。当发现有趣的内容时,它会将其发送到Organizer供检查。

Shadow Repeater的开发历程

在PortSwigger,我们有机会在一个类似"龙穴"的竞赛中提出AI功能的想法。我曾想过如果Burp能够分析Repeater请求并为你测试的内容找到变体,甚至是未知漏洞,那该有多酷。但我失败了,我无法看清它的工作原理。于是我转而专注于使用AI Hackvertor寻找未知编码。

通过改进AI Hackvertor的经验,我对AI的工作原理、如何安全发送用户输入以及如何获得真正有用的响应更加熟悉。如果你了解我,就知道我不会轻易放弃。我曾经在最初测试两年后重新利用AngularJS HTML过滤器。这个龙穴想法也不例外,我最近重新开始研究它。

我的第一个突破是思考差异分析。之前我将整个Repeater请求发送给AI进行分析并解析请求。当然,解析整个请求是个坏主意。然而,我需要这个失败的实验来了解AI的能力。我考虑使用Github风格的差异分析逻辑来处理请求和响应。在与James交流后,他建议使用参数差异。于是我编写了一个Java的Request Differ来分析头部、参数和URL路径,只将变化的值发送给AI。这样AI只分析少量数据,专注于你正在尝试攻击的内容。

我的第二个突破是不再告诉AI理解测试内容,而是简单地让它寻找变体。这意味着给AI提供寻找变体的一般指令,但不详细说明实际测试的内容。这效果出奇地好:得益于Request Differ,AI了解上下文并知道你正在测试的数据。它为路径遍历、XSS和其他类型的漏洞生成了变体。

我成功生成了用户测试内容的变体,但如何知道变体是否相关?这就是响应差异分析发挥作用的地方。我借鉴了Kettle先生的工作,他在Backslash Powered Scanner的差异分析逻辑方面做了大量工作。他给了我一些关于响应差异工作原理的代码示例,我将AI生成的每个变体以及用户请求和一些随机控制值添加到分析列表中。然后我寻找响应中当发送变体时发生变化的恒定属性。这产生了一些很酷的结果!该技术能够发现XSS向量中允许空格、路径遍历向量是否实际有效,甚至发现未知漏洞如电子邮件拆分攻击。

这只是Burp Suite中AI驱动扩展可能实现的一个例子。亲自尝试一下——Shadow Repeater现已面向Burp Suite Professional早期采用者发布通道的用户在BApp商店提供。

受到启发?尝试使用Burp内置的Montoya API及其专用接口,自己创建AI驱动的扩展,处理扩展与PortSwigger可信AI平台之间的流量。

AI安全与隐私

我们已经更新了文档以反映我们如何处理发送给AI的数据,请查看详细文档和博客文章。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计