QuicDraw(H3):专为HTTP/3竞态条件测试而生的新工具

本文介绍了一款名为QuicDraw(H3)的新型开源工具,旨在解决HTTP/3协议层由于QUIC设计导致的竞态条件测试难题。文章详细解释了其核心技术Quic-Fin-Sync如何通过同步QUIC流层的数据包,有效触发服务器端的并发处理漏洞。

我们开发了一个新工具QuicDraw(H3),因为目前的HTTP/3竞态条件测试方法很糟糕。

我们刚刚发布了一个工具,解决了那些试图对HTTP/3进行模糊测试的人遇到的一个特别烦人的问题。

问题是,QUIC旨在防止网络瓶颈(队头阻塞),这固然有益,但它破坏了利用应用层竞态条件所需的基本时序。我们尝试了所有显而易见的解决方案,但QUIC的RFC实质上阻止了分片和其他低层网络优化。🤷‍♂️

因此,我们想出了一种方法,使用我们称之为Quic-Fin-Sync的技术,在QUIC流层对事物进行同步。

核心要点:

  • 设置100多个请求,但为每个请求保留数据的最后一个字节。
  • 服务器收到了99.9%的数据,但等待那最后一个字节。
  • 我们通过一个UDP数据包,同时发送所有100多个请求的最后一个字节(以及关键的QUIC FIN标志)。
  • 这个单一的数据包迫使服务器“近乎同时地”释放所有请求进行处理。在我们的测试中,它的效果远优于现有方法——我们成功地对一个存在漏洞的Keycloak设置进行了超过40次竞态条件攻击。

如果你正在对HTTP/3进行渗透测试,可以获取这个开源工具,并告诉我们你用它能攻破什么。完整的分析文章如下。

你在尝试测试QUIC/HTTP/3时遇到的最令人沮丧的事情是什么?

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