上传_waf绕过
文章目錄
- 學前必看
- 大多WAF 匹配原則
- 反思繞過
- 可繞的位置
- 三個位置繞過實驗
- 實驗一:%00加url編碼繞過
- 實驗二:去掉引號繞過
- 實驗三:雙文件名繞過
- 實驗四:換行繞過
- 實驗五:Content-Disposition
- 實驗六:Content-Type
- 實驗七:上傳Fuzz
- 使用工具生成爆破后綴名字典
- 爆破可繞WAF的文件后綴名
- 實驗結論
學前必看
大多WAF 匹配原則
1. 看見上傳.php文件名馬上攔截
2. 看見上傳php.php文件名限制左邊或者右邊
反思繞過
是否可以讓WAF匹配不到后綴卻能執行php文件?
讓我們一起來探尋繞過思路吧!!!
可繞的位置
Content-Disposition
一般可以任意修改,甚至刪除
filename-
可以修改
Content-Type
視情況定,需要考慮網站上傳驗證是否處理
三個位置繞過實驗
實驗一:%00加url編碼繞過
原理:利用截斷加編碼讓waf匹配不到php后綴并且我們自己可以解析為php文件
-
filename="x.php%00.jpg"
-
使用 空格x.php%00.jpg繞過
-
吧%00右鍵url編碼變成了一個框框,使其解析不到文件名php,但是%00同時又在截斷,所以最后只省下空格x.php
- %20x.php訪問,成功上傳
- 實驗成功
實驗二:去掉引號繞過
原理:編程語言中變量后面一般都有雙引號,有時候waf沒有考慮到我們去掉雙引號而存在繞過
- filename="x.php%00.jpg
- 可以去掉左右雙引號也可以去掉單邊
- 可看到該方法已經被攔截
實驗三:雙文件名繞過
原理:開發waf的作者只考慮到了單個變量提交,而沒考慮到我們復制一個fiename,產生了循環,也就只匹配了第一個
- filename= ; filename="a.php"
- 實驗成功
實驗四:換行繞過
原理:類似于換行繞過
filename=”x.
p
h
p
- 實驗成功
實驗五:Content-Disposition
- 該位置通常就是添加干擾符繞過
- 實驗失敗
實驗六:Content-Type
- 該位置必須是驗證類型,添加干擾符才可成功
- 實驗失敗
實驗七:上傳Fuzz
使用工具生成爆破后綴名字典
參考連接-------->>>工具生成爆破字典
爆破可繞WAF的文件后綴名
- 選擇爆破的位置
- 取消編碼,便可開始爆破
- 尋找length是不同的,觀察響應包,
- 尋找出FUZZ出來的上傳文件名
實驗結論
- 一.可以發現三個位置fiename位置最容易bypass成功,所以得出結論,fuzz最好就在fiename位置即可
- 二.上傳也可FUZZ,FUZZ可以快速尋找出上傳成功的文件名,當然也容易觸發安全防御,容易被panIP,所有最好有代理池
總結
- 上一篇: windows残留软件卸载
- 下一篇: 铭感文件目录_waf绕过