SmuggleFuzz HTTP 降级走私扫描

admin 2024年4月21日18:48:17评论4 views字数 1856阅读6分11秒阅读模式

SmuggleFuzz HTTP 降级走私扫描

迟到总比不到好

2021 年是奇怪的一年。当我们开始与朋友和同龄人重新进行社交互动时,我发现自己正在努力抓住我残余的社交技能和理智。这其中,有一些人正在孜孜不倦地工作,传递出一个重要的信息。James KettleEmile Lerner在各自的努力中探索了 HTTP/2 降级攻击的复杂性,并在各自的会议上公布了他们的发现。对于那些尚未深入研究降级攻击主题的人,请阅读此处:

  • https://portswigger.net/research/http2

自从遇到他们的研究以来,我一直在加深对 HTTP/2 协议规范的理解。去年,我有一些额外的时间,决定开发一个命令行工具来识别走私漏洞,同时增强我的协议专业知识。Emile 已经推出了一个很棒的工具http2smugl(它也支持 HTTP/3),James 开发了令人惊叹的 Burp 插件 - HTTP Request Smuggler。尽管如此,我还是不得不创建一个额外的模糊器,提HTTP 降级走私扫描供命令行交互和可定制的请求。该工具还集成了基于时间的检测方法,类似于defparam 的 Smuggler中使用的方法。尽管晚了将近三年,但我很自豪地向您介绍 SmuggleFuzz。

SmuggleFuzz HTTP 降级走私扫描

SmuggleFuzz旨在帮助识别 HTTP 降级攻击向量。其突出的功能不仅在于基于时间的检测或请求处理,还在于它提供的详细响应信息。这使用户能够定义自己的检测方法,包括监视 HTTP 状态代码和响应大小。它还处理 RST_STREAM 帧,包括错误代码,以更好地查明成功的 HTTP 走私请求或识别失败的攻击。SmuggleFuzz 熟练地管理 GOAWAY 帧并建立新的 TCP 连接,而不会中断现有的流。用户还可以设置确认请求的自定义超时值。

单词表

SmuggleFuzz 允许用户通过自定义单词列表完全控制请求。这些列表具有基本结构,应遵循该结构以实现最佳的请求处理。例如,标头及其值使用 asemicolon and a space (; )而不是通常的冒号进行分割,从而有助于在走私请求中包含冒号值。这也为各种突变和创造性方法开辟了可能性。有关创建自己的有效负载的详细指南,请参阅上面的 PortSwigger 的 HTTP/2 研究。

该工具包含 125 种走私小工具的即用型列表,但总有扩展的空间。可以使用“输出”命令显示这些小工具,从而提供对查询结构的见解。用户可以使用“w”标志对自定义单词列表运行扫描。该列表支持%00不可打印字节值的 URL 编码,例如表示为%0d%0a或 的回车符和换行符rn。虽然提供的列表很全面,但制作自己的小工具可以显着提高成功率。

伪标头

完全支持伪标头,并且可以使用“:name”语法进行自定义:

  • :authority

  • :scheme

  • :method

这些标头在测试 H2.0 攻击向量时特别有用。例如,在使用基于 OAST 的方法测试 H2.0 走私时,如下所示的单词列表条目可能会很有效:

从 v0.1.8 开始,[HOSTNAME] 可以用作占位符。SmuggleFuzz 将在运行时将其替换为主机名。

  • :authority; [HOSTNAME]rnrnGET / HTTP/1.1rnHost: uniqid.oastify.comrnX-HEADER:%20

或者

  • :authority; [HOSTNAME]rnrnGET https://uniqid.oastify.com/ HTTP/1.1rnHost: [HOSTNAME]rnX-HEADER:%20

检测

SmuggleFuzz 中采用的检测方法类似于 Albinowax 在其 HTTP/1 走私研究和 defparam 的 Smuggler 中使用的检测方法,尽管针对 HTTP/2 进行了调整。幸运的是,由于这些攻击涉及降级,因此相同的请求正文/数据有效负载可用于 H2.CL 和 H2.TE 检测。

单词列表的一个重要准则是,成功走私的标头应包含以下用于确认攻击的值:

CL: 13TE: chunked

每个请求都包含一个值为“99”的“正文”/数据帧。如果TE标头被走私,成功走私后,服务器会将其解释为长度为153(0x99)的分块内容,从而导致超时。同样,走私内容长度为 13 的 CL 标头也会因长度未满足而导致超时。

确认请求重新提交导致超时的相同查询,但使用 Data: 3rnABCrn0rnrn。这满足分块 TE 和 13 的 CL,引发成功响应并可能表明存在走私漏洞。

SmuggleFuzz HTTP 降级走私扫描

项目地址:

https://github.com/Moopinger/smugglefuzz

原文始发于微信公众号(Ots安全):SmuggleFuzz HTTP 降级走私扫描

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月21日18:48:17
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   SmuggleFuzz HTTP 降级走私扫描http://cn-sec.com/archives/2677565.html

发表评论

匿名网友 填写信息