单包攻击:将远程竞态条件变为‘本地’

主要观点:介绍了单包攻击这一触发 Web 竞争条件的新技术,可通过单个 TCP 包完成多个 HTTP/2 请求,消除网络抖动,使远程竞争条件易被利用,过去两个月社区在利用该技术发现竞争条件方面取得成功,此文探讨将其应用于其他网络协议如 HTTP/3、HTTP/1.1、WebSocket 和 SMTP 等,并提供适应所选协议的指南,结论是当前 HTTP/2 网站的一些竞争条件易被利用,需创建概念验证工具并探测流行服务器实现的兼容性。
关键信息

  • 单包攻击原理及效果:通过单个 TCP 包完成多个请求,消除网络抖动,易引发远程竞争条件。
  • 应用于不同协议的情况:

    • HTTP/3:支持单包攻击但开发价值不大,可改进 HTTP/2 实现以提高效率。
    • HTTP/1.1:虽可在单个 TCP 连接中发送多个请求,但服务器会按顺序处理,不适合做竞争条件攻击。
    • WebSocket:有潜力,RFC 8441 提议在 HTTP/2 流中嵌套 WebSocket 连接可实现全功能单包攻击,目前该领域易被忽视。
    • SMTP:类似 HTTP/1.1,响应需按顺序发送,不太可能并行处理请求。
  • 其他可行选项:可将最终请求片段放在单个 TLS 记录中,可通过非解密隧道,但需定制 TLS 实现。
    重要细节
  • 单包攻击在 Burp Suite 的 Repeater 中通过标签组功能可用,在开源扩展 Turbo Intruder 中也可使用。
  • 文中提及一些相关研究如Smashing the state machine: the true potential of web race conditionsoriginal whitepaperthis presentation clip等。
  • 鼓励创建概念验证工具并探测服务器兼容性,以发现更多漏洞,如 WebSocket 和一些需超过 30 个同时请求的 HTTP 相关漏洞。
阅读 47
0 条评论