自动化绕过WAF的实用渗透工具

前言

在渗透测试中,经常面临各类Web应用防火墙(WAF)的挑战。因此,一款优秀的绕过WAF的渗透测试工具对于渗透测试人员来说尤为重要。在这篇文章中,我们向大家推荐一款实用的WAF绕过工具,希望能在日常渗透测试中提供帮助。

简介

WAFNinja 是一款用Python编写的命令行工具,旨在协助渗透测试人员摆脱繁琐的手动输入。具有强大的扩展性,适用于团队协作。WAFNinja通过自动化步骤帮助渗透测试者绕过WAF,这些步骤对于绕过输入验证至关重要。工具的设计目标是易于扩展、易于使用,并且适用于团队环境。WAFNinja附带了丰富的载荷和模糊字符串,存储在本地数据库中。

下载安装

下载方式:

  • GitHub下载地址:https://github.com/khalilbijjou/WAFNinja
图片[1]-自动化绕过WAF的实用渗透工具-山海云端论坛

使用git clone命令:

<code>git clone https://github.com/khalilbijjou/WAFNinja</code>

或者直接用浏览器下载并解压到本地文件。

安装:

直接进入该文件夹,输入以下命令:

python wafninja.py -h

如果显示正常的文档说明,表示安装成功。

图片[2]-自动化绕过WAF的实用渗透工具-山海云端论坛

如果出现类似“ImportError: No module named progressbar”,请自行安装相关的包。

例如,可以使用以下命令:

<code>pip install progressbar</code>
图片[3]-自动化绕过WAF的实用渗透工具-山海云端论坛

使用

查看帮助信息:

<code>python wafninja.py -h</code>

或者

<code>python wafninja.py fuzz -h</code>

可以替换fuzzbypassinsert-fuzzinsert-bypassset-db等关键词,以查看相应的帮助信息。

Fuzz是什么?

通常,Fuzz是一种用于破解软件的暴力方法,通过大量测试用例一个个尝试,以找出可能存在问题的地方。

Bypass就是绕过。

使用示例:

Fuzz(模糊测试):

bashCopy code

python wafninja.py fuzz -u “http://www.target.com/index.php?id=FUZZ“ -c “phpsessid=value” -t xss -o output.html

结果如下:

  • 不被WAF检测:
图片[4]-自动化绕过WAF的实用渗透工具-山海云端论坛
  • 被检测到:
图片[5]-自动化绕过WAF的实用渗透工具-山海云端论坛

Bypass(绕过WAF):

<code>python wafninja.py bypass -u “http://www.target.com/index.php“ -p “Name=PAYLOAD&Submit=Submit” -c “phpsessid=value” -t xss -o output.html</code>

Insert-fuzz(用户自定义模糊测试载荷):

<code>python wafninja.py insert-fuzz -i select -e select -t sql</code>

参数介绍

其他参数:

  • {fuzz, bypass, insert-fuzz, insert-bypass, set-db}:操作类型,分别对应检查WAF允许通过的符号和关键词、从数据库中发送载荷到目标、添加一个模糊字符串、添加一个载荷到绕过列表、设置另一个数据库文件。

可选参数:

  • -h, --help:显示帮助信息并退出。
  • -u URL:目标URL,使用关键词FUZZ指定模糊测试的位置。
  • -p POST PARAMETER:通过post参数发送模糊测试载荷。
  • -c COOKIE:HTTP Cookie头部。
  • -t TYPE:载荷的类型(sql|xss)。
  • -d DELAY:每个请求的等待时间,默认为0秒。
  • -o OUTPUT FILE:保存输出到HTML文件。
  • --proxy PROXY:使用代理,格式为IP:PORT。
  • --prefix PROXY:增加前缀。
  • --postfix PROXY:增加后缀。
  • -w WAF:发送特定WAF的有效载荷,默认为generic。
  • -e EXPECTED:目标站点的预期输出,如果输入是编码的或类似的,请使用此选项。
  • -p PATH:SQLite数据库的路径,默认位置为“db/db.sqlite”。
© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容