八种基础缓存投毒攻击深度剖析(HackerOne、GitHub、Shopify案例)- 上篇

八种基础缓存投毒攻击分析(HackerOne、GitHub、Shopify)- 上篇

大家好,

我最近深入研究了缓存投毒,以了解这类漏洞在过去十年中是如何演变的。

虽然现代攻击涉及复杂的“小工具”和框架混淆,但我意识到,要真正理解它们,你必须回顾那些“基础性”攻击——正是那些早期的逻辑缺陷开启了这一切。

我分析了来自公开漏洞赏金报告的8个历史案例研究。以下是塑造了现代利用方式的3个最有趣的模式:

1. HackerOne经典案例(2014)

  • 漏洞:服务器未经校验便信任X-Forwarded-Host标头。
  • 攻击:发送X-Forwarded-Host: evil.com导致应用程序生成重定向到攻击者的域名。
  • 影响:缓存存储了这个重定向。任何试图访问HackerOne的合法用户都被无缝重定向到攻击者的网站。

2. GitHub的Content-Type拒绝服务攻击

  • 漏洞:GitHub对于缓存和后端处理Content-Type标头的方式不同。
  • 攻击:攻击者可以发送带有畸形内容类型的请求。后端会返回错误,但缓存会为访问该仓库的所有未认证用户存储该错误。
  • 结果:一个简单的请求就能对所有人造成该仓库的拒绝服务。

3. Cloudflare的大小写转换漏洞

  • 漏洞:Cloudflare将标头规范化(将TaRgEt.CoM转换为target.com以生成缓存键),但源服务器将它们视为不同的标头。
  • 影响:这使得攻击者能够绕过缓存键,并污染CDN背后大量网站的响应。

这在今天为何仍然重要:尽管这些是“旧”报告,但这些确切的逻辑缺陷(规范化问题、未纳入缓存键的标头)正是导致我们在现代框架(如Next.js)中看到的复杂CP-DoS和二级上下文攻击的原因。

如果你想查看具体的请求/响应对,我写了一篇包含所有8个案例研究(包括Shopify、GitLab和Red Hat)的完整分析。

阅读完整分析(上篇)

如果您对这些早期漏洞的机制有任何疑问,请告诉我!
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

公众号二维码

公众号二维码

posted @ 2025-12-01 16:20  qife  阅读(0)  评论(0)    收藏  举报