我目前正在努力学习HTTP请求走私漏洞,以进一步提高我的笔试技能。我在Youtube上看过几段视频,也在网上读过关于它的文章,但我仍然有几个问题要问:
发布于 2020-09-16 05:55:00
HTTP请求走私是用于在易受攻击的配置服务器上窃取cookie和其他基于流量的凭据的攻击。
HTTP请求走私的攻击向量:(使用Burp套件进行以下操作)
在临界率中,HTTP请求走私被评为7~8.9级,可以认为是一个严重的漏洞。它应该包含在POC中,并且是合法的,除非公司不同意您测试他们的系统。POC应该在HackerOne或BugCrowd这样的平台上提供,或者应该通过一个描述它的私有YouTube视频邮寄给安全团队。
HTTP请求走私可以与其他与CDN层相关的攻击链接起来,比如cookie劫持,有时在服务器配置错误、令牌熵或易受攻击的头部时使用SSRF。
对于CL;TE头,当您在请求中使用额外的主体时,前端和后端服务器将相应地将主体解析为传递的标头。
例如,如果传递了以下请求:
Content-Length: 13
Transfer-Encoding: chunked
0
EXPLOITS前端服务器正在接受内容长度标头,因此它将解析利用字符串并将请求发送到后端服务器。后端服务器将首先解析出0,因为它指示了0字节,所以当解析停止时,它将不会处理它下面的请求体。因此,利用字符串将被未处理,直到一个新的请求到达,并将处理它,包括新的请求,并将给出对新请求的响应。
标题可以通过多种方式被混淆,如
Transfer-Encoding: xchunked
Transfer-Encoding
: chunked 您可以使用的任何混淆,直到您在Burp的中继器选项卡中得到响应,从而导致时间延迟或意外内容。您还可以向服务器发送2个快速继承查询,以确认该漏洞。
希望这能有所帮助!
发布于 2021-07-07 16:53:00
加上上面的答案,当前端解析TE和后端CL时,会出现TE;CL外阴。该请求将有两个完整的请求以TE格式解析:
POST / HTTP/1.1
Host: vuln.website.com
Content-length: 4
Transfer-Encoding: chunked
60
POST /admin HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 15
x=1
0前端将将整个请求解析为以下分块格式,但后端将将其处理为两个不同的请求:
记住,块需要在0之后添加\r\n\r\n,所以不要忘记将它们添加到内容长度的-> 传输-编码参考中。
https://security.stackexchange.com/questions/238364
复制相似问题