jeremyctrl/whatwaf
GitHub: jeremyctrl/whatwaf
基于 Rust 开发的启发式 Web 应用防火墙检测工具,通过分析对恶意载荷的响应特征来识别防火墙厂商。
Stars: 2 | Forks: 0
`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检测, 中间件识别, 主机安全, 可视化界面, 启发式扫描, 密码管理, 指纹识别, 文档结构分析, 私有化部署, 网络安全工具, 网络流量审计, 防御规避