在我们平时做渗透测试的时候,难免会遇到各种WAF的阻挡。这时一款良好的绕过WAF的渗透测试工具就显得很受渗透测人员欢迎,在这里我们推荐一款绕过WAF的实用渗透工具,希望对大家平时做渗透有所帮助。
WAFNinja 是一款采用Python编写的命令行工具。它通过自动化步骤来帮助渗透测试者来绕过WAF,而这些步骤对于绕过输入验证来说是必需的。该工具的编写目标是方便扩展、易于使用和在团队环境下也可使用。众多的载荷和模糊字符串是存储在本地的数据库,并且伴随着该工具一同发布出来。 WAFNinja 支持HTTP连接、GET/POST请求、可以使用cookie去访问那些只限于授权用户的页面。
github下载地址:https://github.com/khalilbijjou/WAFNinja
可用git clone https://github.com/khalilbijjou/WAFNinja
或者直接用浏览器下载并且解压到本地文件。
直接进入该文件夹,输入如下命令:
root@kali:~/WAFNinja# python wafninja.py -h
如果出现正常的文档说明,该结果证明安装成功;
如果出现类似“ ImportError: No module named progressbar ”,请自行安装相关的包。
例如本处的解决方式为:root@kali:~/#pip install processbar ( 或者在终端输入:easy_install processbar)
root@kali:~/WAFNinja# python wafninja.py -h
root@kali:~/WAFNinja# python wafninja.py fuzz -h # 我们可以把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(绕过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 显示帮助信息并且退出。
-v, –version 显示程序版本号并且推出。
0×01中的第一步时,当我们使用root@kali:~/WAFNinja# python wafninja.py fuzz -h
usage: wafninja.py fuzz [-h] -u URL [-p POST PARAMETER] [-c COOKIE] -t TYPE
[-d DELAY] [-o OUTPUT FILE]
可选参数:
-u URL 目标URL(例如: “www.target.com/index.php?id=FUZZ“)注意:用关键词FUZZ来指定模糊测试的位置。
-p POST PARAMETER 通过post参数发送模糊测试载荷
-c COOKIE HTTP Cookie 头部
-t TYPE 载荷的类型 [sql|xss]
-d DELAY 每个请求的等待时间,默认是0秒
-o OUTPUT FILE 保存输出到html 文件
-h, –help 显示帮助信息并且退出。
*本文投递作者:ymmy,转载须注明来自FreeBuf黑客与极客(FreeBuf.COM)
11月 上海
CIS 2019首席信息安全官闭门高峰论坛11月
CIS 2019议题抢先看10月
公开课双十一活动9月 上海
CIS 2019官网上线,早鸟票同步开售
已有 20 条评论
GIthub,commit 写的什么鬼
使用了下,结果不怎么准确
@ Tears 知道怎么安装吗?我安装出现 ImportError: No module named progres亲爱的ar 然后我使用这两条命令!root@kali:~/#pip install proces亲爱的ar ( 或者在终端输入:easy_install proces亲爱的ar)还是不行!
@ 方块A 你好,请看看文章,如果出现问题应该是缺少某些库,如果你在windows下直接运行,建议你装一个penbox,里面的集成环境不错!如果你在kali-linux上运行,可以直接根据提示(提示是英文的,你可以百度翻译一下)所缺少的库,进行安装。
实例呢
@ sevck 在截图上有实例
并没有找到那个proces亲爱的ar,走不下去了。。。
@ 手写的从前 pip install proces亲爱的ar,缺少了一个库
对waf页面,认为是绕过
bypass 模块根本用不了
卧槽。。老毛子写的。
python3.5不行吗
@ jiecaoji 采用2.7写的
@ mystery pip install proces亲爱的ar,缺少了一个库
kali linux
@ 手写的从前

看看自己缺什么安什么
https://github.com/niltonvolpato/python-progres亲爱的ar
复制progres亲爱的ar目录过去就可以了..
@ 手写的从前 progres亲爱的ar 哈哈
您好,我最近在学习WAFNinja这个工具,安装完成已经没毛病了,但是测试网站的时候出现这样的错误是为什么啊?
