一、简介
在对网站进行渗透测试过程中,经常会遇见WAF,从而导致直接封IP,无法上传文件,文件上传漏洞对Web应用来说是一种非常严重的漏洞。
一般情况下,Web应用都会允许用户上传一些文件,如头像、附件等信息,如果Web应用没有对用户上传的文件进行有效的检查过滤,那么恶意用户就会上传一句话木马等Webshell,从而达到控制Web网站的目的。
一般服务端WAF检测原理包括
黑名单检测:一般有个专门的 blacklist 文件,里面会包含常见的危险脚本文件;
白名单检测:一般有个专门的 whitelist 文件,里面会包含的正常文件。
二、绕过WAF
解析漏洞、截断上传%00、服务端绕过MIME检测等。本文章介绍自己通过垃圾字符绕过WAF经历,使用Burpsuite进行截断代理,抓取数据包。
上传文件JSP过程中WAF直接封了IP,提示不允许上传文件。换个IP试一下,从新上传文件
Content-Disposition:
form-data; name=”file”;
filename=”1………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..JSP”
Content-Type: application/PDF
上传JSP发现上传失败,所以尝试使用大量垃圾字符,最后成功拿到shell
三、总结绕过WAF方法
1、使用多个文件名绕过WAF,成功上传jsp
2、上传内容使用垃圾字符进行绕过,
http://xxx.com/2021/03/31/xx.jsp?a=xxx很多的垃圾字符xxx&cmd=netuser
http://xxx.com/2021/03/31/xx.jsp?a=xxx很多的垃圾字符xxx&cmd=whoami