freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

WAF自动化Fuzz工具-WAFNinja
掌控安全EDU 2022-03-02 14:35:49 362553
所属地 江西省

前言

在我们平时做渗透测试的时候,难免会遇到各种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.html




insert-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”

# 渗透测试 # 黑客 # web安全 # 网络安全技术
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 掌控安全EDU 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
渗透实战优质工具
网络安全工具
掌控安全EDU LV.6
这家伙太懒了,还未填写个人描述!
  • 71 文章数
  • 71 关注者
记录某SRC邀请处逻辑越权到组织管理员漏洞
2025-03-26
掌控安全学院“从零赚赏金黑客训练营第二期”开营啦
2025-03-25
(云安全)前端敏感信息泄露到接管整个云服务器
2025-03-12
文章目录