WAFNinja是一款用python写的命令行工具,它可以帮助渗透测试人员免去部分手动输入的烦恼。此外,WAFNinja强大的扩展性,在团队协作中显得非常适用。
工具简介
这款工具里有许多的攻击payload和用于fuzz的字符串,都储存在附带的sqlite数据库文件里。另外,WAFNinja支持HTTP的GET和POST请求,也支持带上cookie。当然,必要的时候,我们还可以设置代理。
大致用法:
- 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
参数大致介绍
fuzz 检查能绕过WAF的关键词和符号.
bypass 用数据库中payload进行批量测试
insert-fuzz 添加需要fuzz的字符串
insert-bypass 为bypass的字典添加payload
set-db 添加另外一个数据库文件,可分享给其他人
-h, –help 显示帮助信息
-v, –version 显示程序版本号