这是我们用于检测研究中所有案例的 Burp 扩展:CRLF-Powered Desync Attacks: Beheading HTTP Streams。
它是一个面向研究的扫描器,基于 BulkScan 构建,类似于 HTTP Request Smuggler 等。
使用 src/main/kotlin/ReqMutator 中定义的所有变异,先发送一个良性请求,再发送探测请求。如果响应包含预期的匹配项,或存在显著差异,则会报告一个问题。
如果响应包含所有预期的匹配项,则该问题会按正常方式报告。如果启用了回退差异检测(使用来自 BulkScan 的 serverStatus),则该问题会被报告为 Dodgy。
还有一个 WAFChecker,它使用静态字符串来尝试减少来自 WAF 规则的误报(FP),并带有确保行为一致的后续逻辑,或者至少很可能不是 WAFChecker 列表中尚未包含的 WAF 规则。
此外,还有一个"通过响应队列投毒自动利用"按钮,它可能会(也可能不会)给你一个提示,说明 RQP 开箱即用。
将包含随机 canary 的标头注入到请求路径中,并检查该标头是否在响应标头中被反射回来。如果是,则确认注入成功,并报告一个问题。
作为后续步骤,它会注入一个 Content-Length 标头,以查看响应是否可以被拆分。如果这导致超时或 serverStatus 发生变化,则该问题会被升级并报告为 Splitting?。