该项目帮助您检查 Web 应用防火墙(WAF)在防御常见 Web 攻击方面的效果。它可以作为 Cloudflare Worker(带有内置交互式 Web UI)运行,也可以作为独立的 Node.js CLI 工具运行。
SQL 注入、XSS、路径遍历、命令注入、SSRF、NoSQL 注入、本地文件包含、LDAP 注入、HTTP 请求走私、开放重定向、敏感文件、CRLF 注入、UTF8/Unicode 绕过、XXE、SSTI、HTTP 参数污染、Web 缓存投毒、IP 绕过、User-Agent。
X-HTTP-Method-Override 等)进行 HTTP 方法覆盖。该项目采用 NPM Workspaces 单仓库结构:
packages/core/:核心安全测试库、载荷定义、WAF 指纹签名和混淆编码器。packages/worker/:Cloudflare Worker 包,提供静态 HTML/JS Web UI 和 JSON API 端点。packages/cli/:Node.js 命令行界面工具,用于直接在终端执行审计。从根目录安装依赖并构建所有工作区:
npm install
npm run build
本地运行 Worker 开发服务器(需要 Wrangler):
npm run dev:worker
Web UI 将在 http://localhost:8787 上访问(如果 8787 被占用,则会使用其他端口)。
将 Worker 部署到 Cloudflare:
npx wrangler deploy --workspace=packages/worker
直接从命令行运行安全测试审计:
# 打印通用 CLI 帮助和使用信息
node packages/cli/dist/index.js --help
# 打印检查命令帮助(列出所有方法、类别和 WAF 厂商)
node packages/cli/dist/index.js check --help
检测目标 URL 背后的 WAF 厂商:
node packages/cli/dist/index.js detect <url>
对目标 URL 运行审计:
# 默认检查(GET 方法,所有载荷类别)
node packages/cli/dist/index.js check https://example.com
# 自定义检查,指定方法、类别并启用 WAF 规避
node packages/cli/dist/index.js check https://example.com -m GET,POST -c "SQL Injection,XSS" --auto-detect-waf --encoding-variations
对文件中定义的 URL 列表运行批量审计:
node packages/cli/dist/index.js batch targets.txt --concurrency 3
您可以使用 Docker 运行 CLI,既可以从 GitHub Container Registry 拉取预构建镜像,也可以本地构建。
预构建的 Docker 镜像可在 GitHub Container Registry 上获取,地址为 ghcr.io/sech0us3/waf-checker-cli。
docker pull ghcr.io/sech0us3/waf-checker-cli:latest
docker run --rm ghcr.io/sech0us3/waf-checker-cli:latest --help
docker run --rm -it ghcr.io/sech0us3/waf-checker-cli:latest check https://example.com
docker run --rm -it -v "$(pwd):/data" ghcr.io/sech0us3/waf-checker-cli:latest batch /data/targets.txt --concurrency 3
docker build -t waf-checker-cli .
docker run --rm waf-checker-cli --help
docker run --rm -it waf-checker-cli check https://example.com
docker run --rm -it -v "$(pwd):/data" waf-checker-cli batch /data/targets.txt --concurrency 3
运行整个工作区的测试套件(使用 Vitest):
npm test
阅读我的博客:yoursec.substack.com