wafw00f:一款WAF识别工具!全参数详细教程!Kali Linux教程!黑客入门教程!

简介

waf识别 Web 应用程序防火墙产品并对其进行指纹识别 

该软件包可识别 Web 应用程序防火墙 (WAF) 并对其进行指纹识别产品使用以下逻辑:

  • 发送正常的 HTTP请求并分析响应;这标识了一个 WAF 解决方案的数量。
  • 如果不成功,它会发送一些(可能是恶意的) HTTP 请求并使用简单的逻辑来推断它是哪个 WAF。
  • 如果这也不成功,它会分析之前的响应返回并使用另一种简单的算法来猜测 WAF 或安全性解决方案是积极响应攻击。 

WAFW00F可以检测多种防火墙

Python 版本

WAFW00F 与 Python 2.x 和 3.x 两个版本完全兼容。然而,由于 Python 2.x 版本即将结束, 对该版本的支持很快就会被取消。

WAFW00F 目前与 Python 3.x (最好 >= 3.4)版本完全兼容/稳定。 

操作系统

WAFW00F 已在主要 Linux 发行版(Arch、Debian、Ubuntu)、Windows 和 Mac 上进行了测试,并且按预期工作。

颜色

新的美丽的 ASCII 艺术是彩色的。在基于 Linux 的系统(以及 Windows 的 Linux 子系统)上,您会发现彩色输出。但是,Mac 和 Windows 不支持 ANSI 转义序列,因此输出在 Mac 和 Windows 上不会着色。但是您仍然可以在它们上完美地使用 WAFW00F。

依赖关系

WAFW00F 需要一些库才能高效运行。除了内置库之外,有些还需要通过安装 pip。

以下是 WAFW00F 引擎所需的依赖项:

  • requests - 用于进行 HTTP 查询。
  • pluginbase - 基于 python 项目的插件解析器。

WAFW00F 使用的其余 Python 库是预装 Python 3.x 解释器的标准库。 

安装

从 PyPI 安装

先通过创建python虚拟环境并激活使用。不然可能报错。

#创建虚拟环境,命名为venv
python3 -m venv venv

#激活名为venv的虚拟环境空间
source venv/bin/activate

运行以下命令通过Pypi 包存储库进行安装

python3 -m pip install wafw00f

#或者

pip3 install wafw00f

运行以下命令出现这个界面就说明安装成功了。

wafw00f -h

输入以下命令可以取消激活虚拟空间。这样wafw00f就运行不了了。因为它是安装在虚拟空间里面的。

deactivate

Docker安装

首先克隆源码并进入目录,建议挂代理,不然可能克隆失败。

git clone https://github.com/EnableSecurity/wafw00f.git
cd wafw00f/
ls

开始通过docker安装,建议给docker挂代理。

sudo docker build . -t wafw00f

输入以下命令出现这个界面说明安装成功

sudo docker run --rm -it wafw00f -h

源码安装

注意:安装 wafw00f 时请小心不要破坏系统软件包。在需要时使用 venv。

克隆存储库,必要时挂代理: 

git clone https://github.com/enablesecurity/wafw00f.git

进入wafw00f目录并开始安装

#进入wafw00f目录
cd wafw00f/
#查看当前目录的文件
ls

设置虚拟空间并激活

python3 -m venv venv
source venv/bin/activate

开始安装

python3 setup.py install

输入以下命令,出现这个界面即安装成功。

wafw00f --help

APT包管理器安装

Kali Linux 默认安装好wafw00f工具了。也可以通过以下命令进行安装

sudo apt install wafw00f

使用

1. -h, --help

显示此帮助消息并退出

wafw00f -h

2. 常规使用

用法:wafw00f url1 [url2 [url3 ... ]]
示例:wafw00f https://www.bing.com/

3. -v, --verbose

启用详细程度,多个 -v 选项可增加详细程度

wafw00f https://example.com/ -v

4. -a, --findall

查找与签名匹配的所有 WAF,不要停止对第一个 WAF 的测试

wafw00f https://example.com/ -a

5. -r, --noredirect

不遵循 3xx 响应给出的重定向

wafw00f https://example.com/ -r

6. -t TEST, --test=TEST

针对一个特定 WAF 进行测试

wafw00f https://example.com/ -t Cloudflare

7. -o OUTPUT, --output=OUTPUT

根据文件扩展名将输出写入 csv、json 或文本文件。对于 stdout,请指定 - 作为文件名。

wafw00f https://example.com/ -o output.txt

8. -i INPUT, --input-file=INPUT

从文件读取目标。输入格式可以是 csv、json 或文本。对于 csv 和 json,需要 `url` 列名或元素。

wafw00f -i example.txt

9. -l, --list

列出 WAFW00F 能够检测到的所有 WAF

wafw00f -l

10. -p PROXY, --proxy=PROXY

使用 HTTP 代理执行请求,例如:

http://hostname:8080,

socks5://hostname:1080,

http://user:pass@hostname:8080

wafw00f https://example.com/ -p 主机ip:端口

11. -V, --version

打印出 WafW00f 的当前版本并退出。

wafw00f -V

12. -H HEADERS, --headers=HEADERS

通过文本文件传递自定义标头以覆盖默认标头集。

wafw00f https://example.com/ -H custom_headers.txt

总结

通过本文对 WAFW00F 工具的介绍与实践,可以看出它是一个高效且实用的 Web 应用防火墙(WAF)指纹识别工具。无论是在渗透测试中评估目标站点的安全防护机制,还是在研究 WAF 策略的规则和限制,WAFW00F 都提供了便捷的解决方案。其多种参数选项(如自定义 HTTP 头、目标代理等)让工具使用更加灵活,适应性强。

在实际应用中,合理利用 WAFW00F 不仅可以帮助测试人员快速识别目标网站的防护类型,还能为绕过 WAF 提供关键参考。尽管工具功能强大,但我们也需要遵守法律和道德规范,将其用于合法的测试和研究。

最后,随着 Web 安全技术的不断发展,WAFW00F 也会面临更多挑战。在未来的使用中,我们不仅需要掌握工具的使用方法,还需要关注其更新和扩展,以应对更加复杂的安全防护环境。希望本教程能够为你入门和使用 WAFW00F 提供帮助!

在此特别强调,本教程仅在合法授权的情况下进行测试和研究,请勿用于其他用途。未经授权使用此类工具可能会侵犯他人隐私,触犯相关法律,任何因此引发的法律或利益纠纷与本人无关。

欢迎各位大佬,小白来找我交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值