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