绕过网络缓存中毒对策beplay体育能用吗


跟随我介绍白皮书beplay体育能用吗网络缓存中毒上个月,各种公司部署了防御措施,以减轻缓存中毒攻击。在这篇文章中,我将看一些可以用来绕过它们的常见弱点。

这项研究引起了几个主要的缓存供应商的回应。Akamai发表了最小的回应,令人困惑引用缓解对于Webeplay体育能用吗b缓存欺骗,几乎没有任何作用以防止网络缓存中毒。快速出版安全咨询通过有关缓解措施的详细建议,Cloudflare将事情进一步迈进了一步并部署了全球缓解,并在一篇名为“CloudFlare如何保护客户免受缓存中毒

让我们仔细研究Cloudflare部署的两个防御。首先是将规则添加到其WAF中,以阻止XSS友好的字符,例如<在我的研究中使用的某些标题中,例如X-Forwarded-host:

获取 / http / 1.1
主持人:waf.party
X-Forwarded主持人:XSS <

HTTP/1.1 403禁止

需要注意!

这使得很难直接获得XSS通过使用这些标头的缓存中毒,但是,正如他们指出的那样,仍然使某些应用程序易受伤害,因为这种漏洞并不总是需要。第二,更强大的缓解措施是将这些标头添加到其默认的缓存键中,从理论上讲,无法将这些标头用于缓存中毒:

获取 / http / 1.1
主持人:waf.party
X-Forwarded主持人:Evil.net

http/1.1 200好

缓解之前的缓存密钥:https://waf.party/
缓解后的缓存密钥:https://waf.party/| evil.net

不幸的是,这两个防御都存在关键的实施缺陷,这意味着它们可以完全绕过。该阶段是由小型优化设置的,这意味着CloudFlare如果与主机标头匹配:CACHE键不会将X-Forwarded-host标题添加到高速缓存键:

获取 / http / 1.1
主持人:waf.party
X-Forwarded主持人:WAF.Party
缓解后的缓存密钥:https://waf.party/

致命的缺陷是Cloudflare仅查看每个标头的第一个实例,因此攻击者可以提供重复的标题,而第一次实例无害,第二个包含有效载荷。当后端服务器处理此类请求时,通常会使用逗号来串联两个标头值。

获取 / http / 1.1
主持人:waf.party
X-Forwarded主持人:WAF.Party
X-Forwarded主持人:Evil.net“/> <脚本...

http/1.1 200好

<脚本...
缓解后的缓存密钥:https://waf.party/

我上周向Cloudflare报告了这个问题因此,它可能很快就会修补现在已经修补了缓存键旁路。尽管他们的缓解措施最初没有解决,但他们应该因为唯一尝试使用技术缓解的供应商而值得信誉,现在我的旁路已修补,我认为它们是具有最安全的默认配置的供应商。也就是说,值得注意的是,缓解措施永远不会使Cloudflare上托管的网站通常不受缓存中毒的影响 - 它只能防止使用最受欢迎的标头进行攻击。

各个公司的修补尝试也可能出错。一个常见的错误是检测缓存中毒攻击,并通过可缓存的响应阻止它。这有效地造成了拒绝服务问题。该危害也可能是由WAFS引起的 - 例如www.tesla.com使用WAF,该WAF阻止了任何标题中包含“ burpcollaborator.net”字符串的请求:

get/en_gb/Roadster HTTP/1.1
主持人:www.tesla.com
Any-Header:burpcollaborator.net

HTTP/1.1 403禁止

拒绝访问。请联系waf@tesla.com

攻击后,任何试图访问该页面的人都会发现自己被阻止:

get/en_gb/Roadster HTTP/1.1
主持人:www.tesla.com

HTTP/1.1 403禁止

拒绝访问。请联系waf@tesla.com

我看到的另一个错误是当公司试图修补引入漏洞的框架时,但低估了标头的全部潜力。例如,一个目标白色列出了request.host变量的可接受值,该变量由X-Forwarded-host标头填充。但是,他们没有注意到该标头也可以填充请求。PORT,使得持续拒绝服务:

获取 / http / 1.1
主持人:redacted.com
X-Forwarded-host:redacted.com:123

HTTP/1.1 301永久移动
位置:https://redacted.com:123/

最终,临时修补网络缓存中毒可能很棘手,网络beplay体育能用吗框架的作者是解决最常见类型的最佳人选。近年来,Django和Blask等框架为这些标题提供了支持,而Ruby在Rails上的其他框架也是如此反复警告但是直到最近才开始朝着部署修复方向发展。

最后,我应该提到我已经将一些实质性更新参数矿工它将在周一发布,特别是包括默认情况下禁用静态的“ FCBZ”缓存Buster,因为它正在破坏某些站点。这意味着,当使用浏览器或中继器尝试缓存中毒时,您需要手动指定自己的缓存Buster,或者意外影响其他访客的风险。

祝你好运,保持安全!

回到所有文章

相关的研究