
identYwaf 是一个基于盲推断识别网页防护类型(即 WAF)的工具。盲推断通过检查由一组预定义的攻击性(非破坏性)Payload 所引发的响应来执行,这些 Payload 仅用于触发中间的网页防护系统(例如 http://<host>?aeD0oowi=1 AND 2>1)。目前它支持超过 80 种不同的防护产品(例如 aeSecure、Airlock、CleanTalk、CrawlProtect、Imunify360、MalCare、ModSecurity、Palo Alto、SiteGuard、UrlScan、Wallarm、WatchGuard、Wordfence 等),知识库也在不断扩充。
更多信息可查看演讲幻灯片:"盲WAF识别"(Sh3llCON 2019,桑坦德/西班牙)的 幻灯片。
注意:作为本项目的一部分,正在(手动)收集不同网页防护系统特征响应的 截图,供日后参考。







你可以点击 此处 下载最新的 zip 压缩包。
更推荐的做法是通过克隆 Git 仓库来下载 identYwaf:
git clone --depth 1 https://github.com/stamparm/identYwaf.git
identYwaf 开箱即用,支持从 2.6.x 到 3.x 的任何 Python 版本,并可在任何平台上运行。
$ python identYwaf.py
__ __
____ ___ ___ ____ ______ | T T __ __ ____ _____
l j| \ / _]| \ | T| | || T__T T / T| __|
| T | \ / [_ | _ Yl_j l_j| ~ || | | |Y o || l_
| | | D YY _]| | | | | |___ || | | || || _|
j l | || [_ | | | | | | ! \ / | | || ]
|____jl_____jl_____jl__j__j l__j l____/ \_/\_/ l__j__jl__j (1.0.XX)
用法: python identYwaf.py [选项] <主机|URL>
选项:
--version 显示程序的版本号并退出
-h, --help 显示此帮助信息并退出
--delay=DELAY 测试之间的延迟(秒)(默认: 0)
--timeout=TIMEOUT 响应超时(秒)(默认: 10)
--proxy=PROXY HTTP 代理地址(例如 "http://127.0.0.1:8080")
--proxy-file=PRO.. 从文件加载(轮换)HTTP(s) 代理列表
--random-agent 使用随机的 HTTP User-Agent 头值
--code=CODE 在拒绝响应中预期的 HTTP 状态码
--string=STRING 在拒绝响应中预期的字符串
--post 使用 POST 正文发送 Payload