wafw00f
- Web应用程序防火墙指纹识别工具
-
github地址:https://github.com/EnableSecurity/wafw00f
-
安装环境:python3环境 —>使用 pip install wafw00f 进行安装
-
安装成功后目录:python安装目录中的Lib\site-packages\wafw00f
-
本机为:D:\Environment\Py\Lib\site-packages\wafw00f-2.2.0-py3.11.egg\wafw00f
-
验证是否安装成功:安装目录下使用cmd窗口,输入python main.py 出现下图
-
原理:
- 工具首先发送正常的HTTP请求并分析响应;这一步可确定一部分WAF
- 如果第一步没成功,其会发送大量(可能是恶意的)HTTP请求,并使用简单的逻辑来推断它是哪个WAF
- 如果还没成功,它会分析之前返回的响应,并使用另一个简单的算法来猜测WAF或安全解决方案是否正在积极响应我们的攻击
-
参数:
- -h, --help 显示此帮助消息并退出
- -v, --verbose 开启显示冗余信息
- -a, --findall 找到所有匹配签名的waf,而不是测试到1个后就停止
- -r, --noredirect 不要遵循3xx回复给出的重定向
- -t TEST, --test=TEST 测试一个特定的waf
- -o OUTPUT, --output=OUTPUT 将输出写入csv、json或文本文件,具体取决于文件扩展名
- -i INPUT, --input-file=INPUT 从文件中读取目标。输入格式可以是csv、json或text。对于csv和json,“url”列名或元素是必需的
- -l, --list 列出WAFW00F能够检测到的所有WAF
- -p PROXY, --proxy=PROXY 使用代理服务器
-
使用:
-
执行:python main.py -l 会显示可识别的防火墙列表
-
判断网站是否存在waf
-
执行python main.py 网站地址
-
例如:python main.py http://xiaodi8.com/ (迪哥官网)
-
例如:https://www.baidu.com/ (老大哥)
-
扩展:
-
https://www.cnblogs.com/rnss/p/16661258.html