从业者-缓存设计缺陷-通过无键的Cookie进行Web缓存投毒
# 实验室:通过无键的 Cookie 进行 Web 缓存投毒
# 题目
此实验室容易受到 Web 缓存投毒的攻击,因为缓存键中不包含 Cookie。一个不知情的用户会定期访问该网站的主页。要解决此实验,请毒害缓存响应,并在访问者的浏览器中执行alert(1)
。
- name: 实验室-从业者
desc: 通过无键的 Cookie 进行 Web 缓存投毒 >>
avatar: https://fastly.statically.io/gh/clincat/blog-imgs@main/vuepress/static/imgs/docs/burpsuite-learn/public/lab-logo.png
link: https://portswigger.net/web-security/web-cache-poisoning/exploiting-design-flaws/lab-web-cache-poisoning-with-an-unkeyed-cookie
bgColor: '#001350'
textColor: '#4cc1ff'
1
2
3
4
5
6
2
3
4
5
6
# 实操
点击 “ACCESS THE LAB” 进入实验室。
一个购物站点。
捕获一个首页的请求数据包,发现该页面具有缓存,缓存时效为30
秒。
同时发现 Cookie 中带有一个可疑参数fehost
,该参数的值会实时反馈在响应的data.frontend
变量中。
这个变量位于script
标签中,属于代码上下文,向其注入适当的载荷"-alert(1)-"
:
fehost=prod-cache-01"-alert(1)-"
1
根据变量data.frontend
判断载荷是否注入成功,如果注入成功,则说明我们可以制造有害的响应。
同时,根据响应标头Age
判断是否生成了有毒的缓存。
此时,如果你访问实验室主页,则会命中有毒的缓存响应。在script
标签中产生恶意的data.frontend
变量,并执行其中的alert
。
编辑 (opens new window)