实验室:内部缓存中毒
专家
这个实验室很容易受到伤害beplay体育能用吗网络缓存中毒。它使用多层缓存。用户定期使用Chrome访问该网站的主页。
要解决实验室,请毒化内部缓存,使主页执行警报(Document.Cookie)
在受害者的浏览器中。
解决方案
- 请注意,主页是合适的缓存Oracle,并发送
得到 /
请求打burp burp。
- 观察到查询字符串的任何更改总是反映在响应中。这表明外部缓存将其包含在缓存键中。使用Param Miner添加动态缓存查询参数。这将使您绕过外部缓存。
观察到X前主持人
支持标题。将其添加到您的请求中,其中包含您的利用服务器URL:
X-Forwarded主持人:Your-exploit-server-id.webbeplay体育能用吗-security-academy.net
- 发送请求。如果您对自己的时机感到幸运,您会注意到您的利用服务器URL在响应中反映了三次。但是,大多数情况下,您会看到规范链接元素的URL和
Analytics.js
现在两者都指向您的利用服务器,但是geolocate.js
导入URL保持不变。
- 继续发送请求。最终,URL
geolocate.js
资源还将用您的利用服务器URL覆盖。这表明该片段由内部缓存分别缓存。请注意,即使使用Cache -Buster查询参数,您也一直在为此片段击中缓存 - 查询字符串不受内部缓存的关注。
- 去除
X前主持人
标题并重新发送请求。请注意,内部缓存的片段仍然反映您的利用服务器URL,但其他两个URL却没有。这表明标头不受内部缓存的关注,但由外部升级为钥匙。因此,您可以使用此标头毒化内部缓存的片段。
- 转到exploit服务器并在
/js/geolocate.js
包含有效载荷警报(Document.Cookie)
。存储利用。
- 回到Burp Repeater,禁用查询字符串中的动态缓存Buster,然后重新添加
X前主持人
标题指向您的利用服务器。
- 一遍又一遍地发送请求,直到对漏洞服务器的响应点中的所有三个动态URL。继续重播请求以使缓存中毒,直到受害者用户访问页面并解决了实验室。