实测利用协议解析绕安全狗

这两天利用协议解析绕过安全狗,虽然最后都失败了,但是思路还是可以借鉴的,有兴趣的可以尝试绕过其它waf。

 

协议解析不正确-文件名覆盖

01.直接上传php被安全狗拦截

实测利用协议解析绕安全狗_第1张图片

02.修改上传文件的后缀名为.pho,成功上传,没有被安全狗拦截

实测利用协议解析绕安全狗_第2张图片

03.尝试利用multipart协议解析问题,一个文件上传块存在多个Content-Disposition,将以最后一个Content-Disposition的filename值作为上传的文件名。

被安全狗拦截。

实测利用协议解析绕安全狗_第3张图片

 

 

 

 

 

 

  1. 利用在一个Content-Disposition 中,存在多个filename ,协议解析应该使用最后的filename值作为文件名尝试绕过安全狗。

被拦截

实测利用协议解析绕安全狗_第4张图片

协议解析不正确-遗漏文件名

  1. 利用当WAF遇到“name=”myfile”;;”时,认为没有解析到filename。而后端容器继续解析到的文件名是yijuhua.php,导致WAF被绕过。

被拦截

实测利用协议解析绕安全狗_第5张图片

协议解析不正确-未解析所有文件

0.1 multipart协议中,一个POST请求可以同时上传多个文件。如图,许多WAF只检查第一个上传文件,没有检查上传的所有文件,而实际后端容器会解析所有上传的文件名,攻击者只需把paylaod放在后面的文件PART,即可绕过。

实测利用协议解析绕安全狗_第6张图片

协议解析不一致-文件名解析兼容性

    1. 利用multipart协议中,文件名的形式为“filename=”abc.php””。但是Tomcat、PHP等容器解析协议时会做一些兼容,能正确解析 ”filename=”abc.php”、”filename=abc.php”、 ”filename=’abc.php’”。而WAF只按照协议标准去解析,无法解析文件名,但是后端容器能正确获得文件名,从而导致被绕过。

实测利用协议解析绕安全狗_第7张图片

实测利用协议解析绕安全狗_第8张图片

 

实测利用协议解析绕安全狗_第9张图片

你可能感兴趣的:(实测利用协议解析绕安全狗)