jeremyctrl/whatwaf

GitHub: jeremyctrl/whatwaf

基于 Rust 开发的启发式 Web 应用防火墙检测工具,通过分析对恶意载荷的响应特征来识别防火墙厂商。

Stars: 2 | Forks: 0

# whatwaf Crates.io License 启发式 Web 应用防火墙 (WAF) 检测器。
`whatwaf` 向目标网站发送一系列精心构造的 HTTP 探测请求,并分析响应以寻找 WAF 拦截行为的迹象。 它通过匹配特征响应头、模式和主体来检测常见的商业和开源防火墙。 ## 工作原理 `whatwaf` 执行多种探测,例如 SQL 注入、XSS 和本地文件包含 (LFI) 载荷,并将目标的 HTTP 响应与已知的 WAF 指纹进行比较。 检测基于: - HTTP 状态码 - 包含 WAF 供应商签名的响应头 - 包含诊断字符串或质询页面的响应体 - 针对供应商特定短语的正则表达式匹配 ## 安装 ### CLI 通过 [Cargo](https://doc.rust-lang.org/stable/cargo/) 安装: ``` cargo install whatwaf ``` ### API 将 `whatwaf` 添加到您的项目: ``` cargo add whatwaf ``` ## 使用方法 ### API ``` use whatwaf::{scan_url, ScanConfig}; let result = scan_url( "https://example.com", ScanConfig { timeout: 10, follow_redirects: true, proxy: None, }, None, )?; if let Some(last) = result { if let Some(waf) = last.detected_waf { println!("WAF detected: {}", waf); } else { println!("No WAF detected"); } } ``` ### CLI ``` whatwaf https://example.com ``` #### 示例 ``` [*] scanning https://example.com [*] plain request probe: url=https://example.com [-] no detection (status=200) [*] xss probe: url=https://example.com/?q= [+] waf=cloudflare status=403 [~] the site https://example.com is behind Cloudflare waf ``` ## 检测列表 | WAF | 供应商 | 原产国 | | :--- | :------ | :----------------- | | **ArvanCloud** | Abr Arvan | 🇮🇷 | | **Astra** | Astra Security | 🇮🇳 | | **ASPA** | Aspa Engineering Co. | 🇮🇷 | | **Barracuda** | Barracuda Networks, Inc. | 🇺🇸 | | **Check Point Application Security** | Check Point Software Technologies Ltd. | 🇮🇱 | | **Cloudflare** WAF | Cloudflare, Inc. | 🇺🇸 | | **Cloudfront** WAF | Amazon Web Services | 🇺🇸 | | **Datadome** | Datadome | 🇫🇷 | | **DDoS-Guard** WAF | IQWeb FZ-LLC | 🇷🇺 | | **DotDefender** | Applicure Technologies | 🇮🇱 | | **FortiWeb** | Fortinet, Inc. | 🇺🇸 | | **Front Door** (Azure) WAF | Microsoft Corporation | 🇺🇸 | | **Incapsula** | Imperva, Inc. | 🇺🇸 | | **Janusec** Application Gateway | JANUSEC | 🇺🇳* | | **Kona Site Defender** | Akamai Technologies | 🇺🇸 | | **NexusGuard** | NexusGuard, Inc. | 🇸🇬 | | **Radware** WAF | Radware Ltd. | 🇮🇱 | | **SafeLine** | Chaitin Tech | 🇨🇳 | | **Vercel** WAF | Vercel Inc. | 🇺🇸 | | **Sucuri** | Sucuri, Inc | 🇺🇸 | | **Wordfence** | Defiant Inc. | 🇺🇸 | | **Zenedge** | Oracle Corporation | 🇺🇸 | *原产国没有明确记录。
标签:AppImage, C2日志可视化, DNS枚举, HTTP探测, Rust, SQL注入检测, Web应用防火墙, XSS检测, 中间件识别, 主机安全, 可视化界面, 启发式扫描, 密码管理, 指纹识别, 文档结构分析, 私有化部署, 网络安全工具, 网络流量审计, 防御规避