Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
waf-tester — 用于测试WAF功能的程序 | Kitploit
工具/GitHubGitHub/kpomin57/waf-tester
漏洞扫描器IDS/IPS规避API安全测试WAF绕过Web安全渗透测试错误配置学习与教育
GitHubkpomin57/waf-tester

waf-tester

用于测试WAF功能的程序

查看仓库
26103个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

🛡️ WAF 测试器

企业级 WAF 评估工具 — 真实的攻击载荷。真实的结果。符合合规要求的报告。

WAF 测试器通过向用户提供的 URL 发送真实攻击载荷,并报告这些载荷是否被拦截,从而评估 Web 应用防火墙(WAF)。提供 Windows 桌面应用(Electron)和可在任何地方运行的 Python CLI 两种形式。

WAF 测试器截图


⚠️ 法律免责声明

此工具仅供授权的安全测试使用。 仅用于您拥有所有权或已获得明确书面许可的系统。 未经授权对第三方系统进行测试可能违反《计算机欺诈与滥用法》(CFAA)及您所在司法辖区的等效法律。 作者不对滥用行为承担任何责任。


功能特性

测试覆盖范围 — 6 个套件共 90 项测试

套件测试数量覆盖内容
OWASP / CWE 核心44SQL 注入(12 种变体)、XSS(10 种变体)、路径遍历、命令注入、XXE、SSRF、Log4Shell、SSTI、开放重定向
速率限制3突发洪水攻击(30 并发)、顺序洪水攻击、X-Forwarded-For IP 旋转绕过
机器人检测10sqlmap、Nikto、Nmap、Scrapy、Masscan、HeadlessChrome、python-requests、curl、空 User-Agent、缺少 Accept 头
绕过尝试15双重 URL 编码、Unicode 全角、空字节、大小写变换、注释混淆、CRLF 注入、Host 头注入、方法覆盖、路径技巧
API 安全10GraphQL 内省/批量/枚举、JWT none 算法及算法混淆、批量赋值、HTTP 动词篡改、BOLA、内容类型混淆
业务逻辑8负数数量、零价格提交、管理端点访问、HTTP 参数污染、账号枚举、过度数据暴露、强制浏览、权限提升

合规映射

每项测试都标记了一个或多个合规框架:

  • OWASP Top 10 2021(A01–A10)
  • CWE(常见弱点枚举)
  • NIST 800-53(SI-10、AC-3、SC-5、IA-5 等)
  • PCI-DSS 4.0(要求 6.4)

检测智能

  • 基线比较 — 在测试运行前获取一次干净的 GET 请求,然后比较每次响应以减少误报
  • 置信度评分 — 结果以 HIGH、LIKELY 或 UNCERTAIN 评级,而非简单的通过/失败
  • 多信号评估 — 状态码、WAF 关键词检测和响应长度差异共同决定判决结果

身份认证支持

  • Bearer 令牌
  • API 密钥(自定义头部名称)
  • Cookie / Session 令牌
  • 基本认证(用户名 + 密码)

Windows 桌面应用(Electron)

前置条件

  • Node.js 18 或更高版本

从源码运行

root@kitploit:~
git clone https://github.com/kpomin57/waf-tester.git
cd waf-tester
npm install
npm start

构建 Windows 安装程序

root@kitploit:~
npm run build

输出出现在 dist/ 目录下,包含一个 NSIS 安装程序和一个便携版 .exe 文件。目标机器上无需任何前置条件 — Electron 自带运行时。


Python CLI 版本

一个单文件 Python 版本,可在任何安装了 Python 的环境中运行 — Linux 服务器、CI/CD 流水线、Docker 容器、WSL 或任何无法使用 Windows .exe 的环境。

前置条件

root@kitploit:~
pip install rich requests

基本用法

root@kitploit:~
python waf_tester.py --url https://target.example.com

运行全部 90 项测试,提示授权确认,在终端中打印彩色结果,并将 JSON 和 HTML 报告保存到当前目录。

选项

示例

root@kitploit:~
# 运行所有套件
python waf_tester.py --url https://app.example.com

# 仅运行 OWASP 和 API 套件
python waf_tester.py --url https://app.example.com --suites owasp,api

# Bearer 令牌认证
python waf_tester.py --url https://app.example.com/api \
  --auth-type bearer --auth-value eyJhbGciOiJIUzI1NiJ9...

# API 密钥认证
python waf_tester.py --url https://app.example.com/api \
  --auth-type apikey --auth-header X-API-Key --auth-value mykey123

# 将报告保存到文件夹,跳过确认(CI/CD)
python waf_tester.py --url https://app.example.com \
  --output-dir ./reports --confirm

# 仅终端输出 — 不保存文件
python waf_tester.py --url https://app.example.com --output terminal

# 通过 Burp Suite 路由流量
python waf_tester.py --url https://app.example.com --proxy http://127.0.0.1:8080

在 Docker 中运行

root@kitploit:~
docker run --rm -v $(pwd)/reports:/reports \
  python:3.12-slim sh -c \
  "pip install rich requests -q && python waf_tester.py \
   --url https://target.example.com \
   --output-dir /reports --confirm"

在 CI/CD 中运行(GitHub Actions)

root@kitploit:~
- name: WAF 评估
  run: |
    pip install rich requests
    python waf_tester.py \
      --url ${{ secrets.WAF_TARGET_URL }} \
      --suites owasp,api,bypass \
      --output json \
      --output-dir ./reports \
      --confirm

- name: 上传报告
  uses: actions/upload-artifact@v3
  with:
    name: waf-report
    path: reports/

Burp Suite 集成

Python CLI 可以将所有测试流量通过 Burp Suite 路由,让您获得 WAF 测试器发送的每个载荷的完整 HTTP 历史记录。这对于手动检查请求和响应、微调载荷、排查意外的 WAF 行为,以及在有趣的结果上使用 Burp 自己的扫描器或 Repeater 非常有用。

工作原理

Burp Suite 运行一个本地代理监听器(默认 127.0.0.1:8080)。当您将 WAF 测试器的代理环境变量指向该地址时,该工具发出的每个请求都会在到达目标之前经过 Burp。您可以在 Burp 的 HTTP 历史记录中看到每个载荷的完整请求和响应 — 状态码、头部、响应正文 — 与 WAF 看到的完全一致。

设置

1. 启动 Burp Suite 并确认代理监听器已启用:

打开 Burp → Proxy → Proxy Settings → 确认监听器在 127.0.0.1:8080(如果端口不同请记下)。

2. 导出 Burp 的 CA 证书并信任它(一次性设置):

WAF 测试器连接 HTTPS 目标,因此 Burp 需要拦截 TLS。转到 Burp → Proxy → Proxy Settings → Import/Export CA Certificate → 导出为 DER。将其作为受信任的根 CA 安装到您的系统上,或者设置下面的环境变量以跳过验证(适合实验室环境,不适用于生产环境)。

3. 使用 --proxy 运行 WAF 测试器:

root@kitploit:~
python waf_tester.py --url https://target.example.com --proxy http://127.0.0.1:8080

在 Windows 上:

root@kitploit:~
python waf_tester.py --url https://target.example.com --proxy http://127.0.0.1:8080

如果您愿意,也可以继续使用环境变量:

root@kitploit:~
HTTPS_PROXY=http://127.0.0.1:8080 HTTP_PROXY=http://127.0.0.1:8080 \
python waf_tester.py --url https://target.example.com

4. 关闭 Burp 的拦截功能:

在 Burp → Proxy → Intercept 中,确保拦截已关闭 — 否则 Burp 会在每个请求上暂停,等待您手动转发,导致 WAF 测试器超时。您希望 Burp 被动记录流量,而不是拦截它。

5. 在 Burp 的 HTTP 历史记录中观察请求到达:

每个 WAF 测试器载荷都会作为一个单独的条目出现。您可以右键单击任何请求,将其发送到 Repeater 手动调整并重新发送,或发送到 Intruder 进行进一步模糊测试。

如果遇到 TLS 错误

如果 Burp CA 证书不受信任,可以通过临时禁用工具中的 SSL 验证来添加 --no-verify 变通方法。或者,在系统范围内信任 Burp CA 证书,或使用 HTTP(而非 HTTPS)目标进行初始测试。


结果解读

置信度级别:

  • HIGH — 明确拦截状态码(403、406、429),无歧义
  • LIKELY — 响应正文中包含 WAF 关键词,或状态码与基线不同
  • UNCERTAIN — 软拦截(400、503),可能是正常应用错误

推荐测试工作流

  1. 在没有 WAF 的情况下对 Juice Shop 运行 → 确认大部分被绕过(工具正确触发)
  2. 对 ModSecurity/OWASP CRS 运行 → 确认大部分被拦截(评分逻辑正常)
  3. 对您的目标 WAF 运行 → 获得真实的评估结果
root@kitploit:~
# Juice Shop(无 WAF — 预期全部绕过)
docker run -d -p 3000:3000 bkimminich/juice-shop

# ModSecurity 配合 OWASP CRS(预期大部分被拦截)
docker run -d -p 80:80 owasp/modsecurity-crs:nginx

项目结构

root@kitploit:~
waf-tester/
├── src/
│   ├── main.js          # Electron 主进程 — 所有测试逻辑和 IPC
│   ├── preload.js       # 安全上下文桥接
│   └── renderer/
│       ├── index.html   # 应用外壳
│       ├── styles.css   # 深色军事/SOC 用户界面主题
│       └── app.js       # 用户界面逻辑、过滤器、实时信息流、导出
├── waf_tester.py        # Python CLI — 单文件,无需配置
├── package.json
└── README.md

变更日志

v1.2.0

  • 从 40 项测试扩展到 90 项测试,涵盖 6 个套件
  • 新增 API 安全套件(GraphQL、JWT、批量赋值、BOLA、动词篡改)
  • 新增 业务逻辑套件(价格操纵、权限提升、强制浏览)
  • 为每项测试添加 合规标签(OWASP、CWE、NIST、PCI-DSS)
  • 在结果视图中添加 框架过滤器
  • 新增 Python CLI(waf_tester.py)— 单文件,随处运行
  • 企业级用户界面全面改造 — SVG 分数环、动画扫描线、六边形网格背景

v1.1.0

  • 新增 身份认证支持(Bearer、API 密钥、Cookie、基本认证)
  • 新增 基线比较 和 置信度评分(HIGH / LIKELY / UNCERTAIN)
  • 新增跨 6 种真实浏览器 User-Agent 的轮换
  • 新增 X-WAF-Tester 头部开关(可选加入,默认关闭)
  • 每次扫描前新增 权限确认复选框
  • 修复导出提示可见性和绕过测试中的 CRLF 崩溃问题

v1.0.0

  • 初始发布 — 40 项测试、4 个套件、JSON + HTML 导出

许可证

MIT — 详见 LICENSE。


专为需要超越复选框合规性的 WAF 验证的安全工程师打造。

下载工具
标志描述默认值
--url目标 URL (必填)—
--suites要运行的套件(逗号分隔)all
--auth-typenone / bearer / apikey / cookie / basicnone
--auth-value令牌、Cookie 字符串或 API 密钥值—
--auth-headerAPI 密钥认证的头部名称X-API-Key
--auth-user基本认证的用户名—
--auth-pass基本认证的密码—
--no-baseline禁用基线比较off
--no-rotate-ua禁用 User-Agent 轮换off
--waf-header发送 X-WAF-Tester 标识头部off
--outputterminal、json、html(逗号分隔)all three
--output-dir保存报告文件的目录.
--timeout每个请求的超时时间(秒)10
--proxy所有请求的代理 URL(例如 http://127.0.0.1:8080)off
--confirm跳过授权确认提示off
得分等级含义
90–100%A优秀 — WAF 几乎拦截了所有攻击向量
80–89%B良好 — 存在少量值得调查的缺口
65–79%C一般 — 存在明显的绕过向量
50–64%D较差 — 存在显著的保护缺口
< 50%F严重 — WAF 基本无效