WAFNinja:靈活的WAF自動(dòng)化Fuzz工具
WAFNinja是一款用python寫的命令行工具,它可以幫助滲透測試人員免去部分手動(dòng)輸入的煩惱。此外,WAFNinja強(qiáng)大的擴(kuò)展性,在團(tuán)隊(duì)協(xié)作中顯得非常適用。
工具簡介
這款工具里有許多的攻擊payload和用于fuzz的字符串,都儲(chǔ)存在附帶的sqlite數(shù)據(jù)庫文件里。另外,WAFNinja支持HTTP的GET和POST請(qǐng)求,也支持帶上cookie。當(dāng)然,必要的時(shí)候,我們還可以設(shè)置代理。
大致用法:
- wafninja.py [-h] [-v] {fuzz, bypass, insert-fuzz, insert-bypass, set-db} ...
下面給出部分案例:
fuzz:
- python wafninja.py fuzz -u "http://www.target.com/index.php?id=FUZZ" -c "phpsessid=value" -t xss -o output.html
bypass:
- python wafninja.py bypass -u "http://www.target.com/index.php" -p "Name=PAYLOAD&Submit=Submit"
- -c "phpsessid=value" -t xss -o output.html
插入型fuzz:
- python wafninja.py insert-fuzz -i select -e select -t sql
參數(shù)大致介紹
fuzz 檢查能繞過WAF的關(guān)鍵詞和符號(hào).
bypass 用數(shù)據(jù)庫中payload進(jìn)行批量測試
insert-fuzz 添加需要fuzz的字符串
insert-bypass 為bypass的字典添加payload
set-db 添加另外一個(gè)數(shù)據(jù)庫文件,可分享給其他人
-h, –help 顯示幫助信息
-v, –version 顯示程序版本號(hào)