http请求走私漏洞
访问Burp靶场速度感人..都要哭了(如果没有账户的先创建账户)
基础补充
pipeline
http1.1有了Pipeline,就不需要等待Server端的响应了。浏览器默认不启用pipeline但服务器相反
keepalive
通过Connection: keep-alive 这个头部来实现,服务端和客户端都可以使用它告诉对方在发送完数据之后不需要断开 TCP 连接。
CL
就是
Content-Length
, 这个content-length有多长,读过这个数就停止了
TE
就是
Transfer-Encoding
, TE遇0结束跟个\r\n。只定义了一种格式:chunked(分块编码)
Burp的特性
传值是隔一行才算进去
这里我开启了bp的默认更新CL
绕过Waf就不讲了..
五种http走私
截图来自于spidersec,twitter上自己去搜
-
CL!=0:
就是CL不等于0呗 -
CL-CL:
前端和后端都是用CL认证 -
CL-TE:
前端用CL认证,后端用TE认证 -
TE-CL:
前端用TE认证,后端用CL认证 -
TE-TE:
前端和后端都是用TE认证
CL-TE
后端TE认证,会屏蔽掉CL
靶场环境:https://portswigger.net/web-security/request-smuggling/lab-basic-cl-te
记住要加Transfer-Encoding: chunked
把Bp的更新CT关掉
解释下为什么CL设置成6,一个Enter是2字节,2*2=4,4+1(0)+A(0)
第一次读取正常,接着Go一次