
ファイアウォールベンダーを検出し、19の攻撃カテゴリを高度な回避ペイロードでテストし、CLI、Cloudflare Worker、Dockerを介して色分けされたバイパス分析を提供する自動WAF評価ツール。
このプロジェクトは、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など)。プロジェクトはNPM Workspacesモノレポとして構成されています:
packages/core/: コアセキュリティテストライブラリ、ペイロード定義、WAFフィンガープリンティングシグネチャ、難読化エンコーダ。packages/worker/: 静的HTML/JS Web UIとJSON APIエンドポイントを提供するCloudflare Workerパッケージ。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
# checkコマンドのヘルプを表示(すべてのメソッド、カテゴリ、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
CLIはDockerを使用して実行できます。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で読めます