WAF自动化Fuzz工具-WAFNinja(绕WAF、绕过WAF)
目錄
前言
簡介
下載安裝
下載方式:
安裝
使用
查看幫助信息
使用示例
參數介紹
前言
在我們平時做滲透測試的時候,難免會遇到各種WAF的阻擋。這時一款良好的繞過WAF的滲透測試工具就顯得很受滲透測人員歡迎,在這里我們推薦一款繞過WAF的實用滲透工具,希望對大家平時做滲透有所幫助。
簡介
WAFNinja是一款用Python寫的命令行工具,它可以幫助滲透測試人員免去部分手動輸入的煩惱。此外,WAFNinja強大的擴展性,在團隊協作中顯得非常適用。通過自動化步驟來幫助滲透測試者來繞過WAF,而這些步驟對于繞過輸入驗證來說是必需的。該工具的編寫目標是方便擴展、易于使用和在團隊環境下也可使用。眾多的載荷和模糊字符串是存儲在本地的數據庫,并且伴隨著該工具一同發布出來。WAFNinja支持HTTP連接、GET/POST請求、可以使用cookie去訪問那些只限于授權用戶的頁面。當然,必要的時候,我們還可以設置代理。
下載安裝
下載方式:
github下載地址:https://github.com/khalilbijjou/WAFNinja
可用git clone https://github.com/khalilbijjou/WAFNinja
或者直接用瀏覽器下載并且解壓到本地文件。
安裝
直接進入該文件夾,輸入如下命令:
python wafninja.py -h
如果出現正常的文檔說明,該結果證明安裝成功;
如果出現類似“ ImportError: No module named progressbar ”,請自行安裝相關的包。?
例如本處的解決方式為:root@kali:~/#pip install processbar ( 或者在終端輸入:easy_install processbar)?
使用
查看幫助信息
python wafninja.py -h
python wafninja.py fuzz -h # 我們可以把fuzz 換成 bypass,insert-fuzz,insert-bypass,set-db 這幾個關鍵詞,便可以查看相對應的幫助信息。?
Fuzz是什么?
Generally speaking fuzz is a brute force method which used to break software,就是用大量的測試用例一個一個試,盡可能多的找出有可能出問題的地方。
bypass就是繞過。
使用示例
fuzz(模糊測試):
python wafninja.py fuzz -u “http://www.target.com/index.php?id=FUZZ“ -c “phpsessid=value” -t xss -o output.html結果如下
比如
不會被waf檢測?
被檢測到?
bypass(繞過WAF):?
python wafninja.py bypass -u “http://www.target.com/index.php“ -p “Name=PAYLOAD&Submit=Submit” -c “phpsessid=value” -t xss -o output.htmlinsert-fuzz(用戶自定義模糊測試載荷):
python wafninja.py insert-fuzz -i select -e select -t sql參數介紹
其他參數:
{fuzz,bypass,insert-fuzz,insert-bypass,set-db} fuzz 檢查WAF允許通過的符號和關鍵詞。. bypass 從數據庫中發送載荷到目標。 insert-fuzz 添加一個模糊字符串。 insert-bypass 添加一個載荷到繞過列表。 set-db 設置另外一個數據庫文件。對于別人分享的相同載荷數據庫時,這個特別有用。可選參數:
-h, —help 顯示幫助信息并且退出。 -u URL 目標URL(例如:“www.target.com/index.php?id=FUZZ”)注意:用關鍵詞FUZZ來指定模糊測試的位置。 -p POST PARAMETER 通過post參數發送模糊測試載荷 Send fuzz through post parameter -c COOKIE HTTP Cookie 頭部 -t TYPE 載荷的類型 [sql|xss] -d DELAY 每個請求的等待時間。默認是0秒 -o OUTPUT FILE 保存輸出到html 文件 —proxy PROXY 使用代理;Use a proxy. Format: IP:PORT —prefix PROXY 增加前綴;Add a prefix to every fuzz. —postfix PROXY 增加postfix;Add a postfix to every fuzz. -w WAF 發送特定WAF的有效載荷;Send payloads of certain WAF [default=generic] -e EXPECTED 目標站點的預期輸出。如果輸入是編碼的或類似的,請使用此選項。 -p PATH sqlite數據庫的路徑。默認位置為“db/db.sqlite”總結
以上是生活随笔為你收集整理的WAF自动化Fuzz工具-WAFNinja(绕WAF、绕过WAF)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: go字符串操作
- 下一篇: jQuery之简单的表单验证