聚焦源代码安全,网罗国内外最新资讯!
编译:代码卫士
虽然web 缓存投毒漏洞为人熟知,但仍然会突然出现在网络。安全研究员 Iustin Ladunca (Youstin) 对很多网站展开大规模研究,结果发现了影响不一的70个缓存投毒漏洞并获得4万美元的奖励。
Web 缓存投毒攻击针对的是 web 服务器和客户端设备之间的媒介存储点,如入网点服务器、代理和负载均衡器。这些媒介存储web内容的本地版本,加速向 web 客户端的交付,从而改进网站性能。Web 缓存投毒攻击操纵了缓存服务器的行为以及它们对客户端所提的特定URL的响应方式。
DoS 和XSS
Ladunca 表示,“受到 James Kettle 对web 缓存投毒这个主题的研究启发,我在2020年11月开始研究 web 缓存投毒攻击。仅在几周的时间里,我就发现了两个新型缓存投毒漏洞,可见缓存投毒的攻击面有多么广阔。”
Ladunca 发布博客文章,详述了自己如何发现并报告这些漏洞,它们影响 Apache Traffic Server、GitHub、GitLab、HackerOne 和 Cloudflare 等服务器。
Ladunca 指出,“常见的模式是,缓存服务器被配置为仅缓存静态文件,意味着攻击仅限于静态文件。即便如此,仍然会产生重大影响,因为现代网站非常依赖于 JS [JavaScript] 和 CSS,而拿下这些文件则会影响应用程序的可获得性。”
其中一些 web 缓存漏洞可导致拒绝服务攻击。缓存服务器使用某些标头作为存储和检索 URL 请求的密钥。通过使用无密钥标头中的不合法值,Ladunca 能够强制服务器缓存错误响应取代原始内容,使得客户端无法访问网页。
Ladunca 表示,“从所使用的技术来看,截至目前最常见的是通过无密钥标头的CP-DoS,可能占所有研究结果的80%。”
其它web 缓存投毒漏洞可导致跨站点脚本攻击。例如,其中要给漏洞可强制缓存服务器向受攻击者控制的地址转发 JavaScript 文件。又如,Ladunca 可将缓存请求从一个主机重定向到易受基于DOM 的 XSS攻击的另一台主机。
所获经验
Ladunca 共发现70个 web 缓存漏洞,并获得4万美元左右的奖励。他同时获得了关于加固 web 缓存服务器的重要经验。他指出,“我认为保护CDN 免受 缓存投毒攻击的好办法是禁用缓存错误状态码,这样基本会阻止很多CP-DoS 攻击。”
推荐阅读
蜗居6个月,苹果漏洞神猎手亮绝招:展示零点击 iOS exploit
12年前的 Linux bug 复活,DNS 缓存投毒攻击重现
原文链接
https://portswigger.net/daily-swig/researcher-discovers-70-web-cache-poisoning-vulnerabilities-nets-40k-in-bug-bounty-rewards
题图:Pixabay License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
觉得不错,就点个 “在看” 或 "赞” 吧~