Webアプリケーションファイアウォール(WAF)が一般的な攻撃ベクトルに対してどの程度保護できているかをテストするための強力なWebアプリケーションです。
→ waf-checker.com ←

機能
セキュリティテスト
- 19以上の攻撃カテゴリ を標準搭載:SQLインジェクション、XSS、パストラバーサル、コマンドインジェクション、SSRF、NoSQLインジェクション、LFI、LDAPインジェクション、XXE、SSTI、CRLFなど
- 9つの高度なバイパスカテゴリ:エンコードバリエーション、プロトコルスマグリング、フレームワーク固有のペイロード
- 344以上のペイロード を PAPAMICA/waf-payloads から動的に読み込み
- 誤検知テスト:正当なトラフィックがブロックされていないことを確認
- HTTPメソッドテスト:GET、POST、PUT、DELETEに対応
WAF検出とバイパス
- 自動WAF検出 — Cloudflare、AWS WAF、Imperva、ModSecurity、Akamai、F5 BIG-IP、その他15以上のWAFを識別
- 高度なバイパス手法 — 二重エンコード、Unicode、大文字小文字の混合、コメント難読化
- WAF固有のバイパス生成 — 検出されたWAFに応じた戦略
- HTTP操作テスト — 動詞の改ざん、パラメータ汚染、Content-Typeの混乱、リクエストスマグリング
完全な偵察

- テクノロジーフィンガープリンティング — CMSの検出(WordPress、Drupal、Joomla、Shopify…)、フレームワーク、Webサーバー、CDN/WAF、分析ツール、25以上のJavaScriptライブラリ
- DNS分析 — A、AAAA、CNAME、MX、NS、TXT、SOAレコード、インフラストラクチャ検出
- WHOISおよびIP地理情報 — ISP、組織、ASN、位置情報、逆DNS(PTR)
- サブドメイン探索 — 証明書透過性ログ(crt.sh)とDNSブルートフォース経由
- 逆IP検索 — 同じIPでホストされているすべてのドメインを発見(共有ホスティング検出)
- SSL/TLS証明書の詳細 — 発行者、有効性、サブジェクト代替名(SAN)、シリアル番号
- CMS詳細分析 — WordPressテーマ、バージョン付きプラグイン、Drupalモジュール
- パスプローブ — robots.txt、sitemap.xml、security.txt、一般的な管理パス
- Cookie分析 — Secure、HttpOnly、SameSiteフラグ
- Open Graphおよびソーシャルメタデータの抽出
- RSS/Atomフィードとメールアドレス の発見
- 結果のエクスポート:JSON、HTMLレポート、またはスクリーンショット(PNG)
セキュリティヘッダー監査

- グレードスコアリング(A+からF)HTTPセキュリティヘッダーの評価
- 詳細分析:CSP、HSTS、X-Frame-Options、X-Content-Type-Options、Referrer-Policy、Permissions-Policy
- 情報漏洩検出 — サーバーバージョン、Powered-byヘッダー、デバッグヘッダー
- 各欠落または設定ミスのヘッダーに対する実用的な推奨事項
- 結果のエクスポート:JSON、HTMLレポート、またはスクリーンショット(PNG)
スピードテスト

- パフォーマンススコア(0~100)問題数とステータス付き
- Lighthouseスタイルのスコア(ローカル推定) — パフォーマンス、アクセシビリティ、ベストプラクティス、SEO
- Core Web Vitals — FCP、LCP、TBT、CLS、Speed Index、TTI(色分けされたフィードバック付き)
- タイミングの内訳 — DNSルックアップ、TTFB、ダウンロード、総読み込み時間
- サイズの内訳 — 総ページ重量、タイプ別(HTML、JavaScript、画像、フォント)
- 最適化のアドバイス とペナルティ/改善のヒント
- 結果のエクスポート:JSON、HTMLレポート、またはスクリーンショット(PNG)
DNS / WHOISインテリジェンス

- 完全なDNS解決 — A、AAAA、CNAME、MX、NS、TXTレコード
- WHOISデータ:IP地理情報、ISP、ASN、逆DNS付き
- メールセキュリティ監査 — SPFおよびDMARC検証
- サブドメイン列挙 — 証明書透過性 + DNSブルートフォース
- 逆IP検索 — 同じIPアドレスを共有するすべてのドメイン
- インフラストラクチャ検出 — レコードパターンからのCDN、メール、DNSプロバイダー
- 結果のエクスポート:JSON、HTMLレポート、またはスクリーンショット(PNG)
SEO監査

- 全体的なSEOスコア(0~100)合格チェック数/合計
- カテゴリ別スコア — メタタグ、テクニカル、インデックス可能性、コンテンツ、パフォーマンス、ソーシャル、リンク、URL、アクセシビリティ
- メタタグ検証 — title、description、viewport、canonical、language、charset、favicon、DOCTYPE、robots
- サイトマップとrobots.txt 分析、ページ発見、構造化データ(JSON-LD)
- コンテンツ分析 — 単語数、可読性、キーワード密度、テキスト対HTML比
- リンク監査 — 内部/外部、nofollow、空のアンカー
- アクセシビリティチェック — lang、スキップナビ、ARIAランドマーク、フォームラベル
- 結果のエクスポート:JSON、HTMLレポート、またはスクリーンショット(PNG)
リアルタイム結果

- サーバー送信イベント(SSE)によるストリーミング結果 — 結果が到着次第表示
- 色分けされたステータスコード:
403 緑 — WAFが攻撃をブロック(保護済み)
200 赤 — ペイロードが通過(脆弱)
3xx オレンジ — リダイレクト(調査が必要)
4xx 黄 — その他のクライアントエラー
- ステータスコードによるフィルタリング可能な結果、リアルタイムサマリーバー付き
HTTPステータスリファレンス

ペイロード設定
組み込みの設定パネルを通じて、ペイロード管理を完全にカスタマイズ可能:


- ペイロード数付きの全カテゴリを閲覧
- 個別のペイロードを追加、編集、削除
- カスタムカテゴリを作成
- カテゴリごとに 攻撃ペイロード と 誤検知ペイロード を分離
- ペイロード設定のエクスポート/インポート
- 変更はlocalStorageに保存
セキュリティ分析
スコアリング付きの詳細な脆弱性評価レポート:

- WAF効果スコア — 攻撃がブロックされた割合
- リスクレベル評価 — クリティカル、高、中、低
- 脆弱性の内訳(重要度別)
- カテゴリレベルの分析(バイパス率付き)
- 実用的な推奨事項
エクスポートとレポート

- 結果を JSON、CSV、または HTML レポートとしてエクスポート
- エグゼクティブサマリー付きのプロフェッショナルなHTMLレポート
- スコア付きのカテゴリ別脆弱性評価
- スクリーンショット対応(ブランディング付きPNG)
- すべての偵察/監査機能がJSON、HTML、スクリーンショットのエクスポートに対応
公開API

- 全ツールのREST API — WAFチェッカー、完全偵察、セキュリティヘッダー、スピードテスト、SEO監査、HTTP操作
- レート制限 — IPあたり1分間に1リクエスト(ヘッダー:
X-RateLimit-Limit、X-RateLimit-Remaining、X-RateLimit-Reset)
- 認証不要 — 公開API、URLは自動正規化
- JSONレスポンス —
curl、jq、任意のHTTPクライアントを使用;-o file.json で保存
- WAFチェッカーエンドポイント(
/api/v1/waf-checker)完全な高度オプション付き:メソッド、カテゴリ、ページネーション、followRedirect、拡張/高度ペイロード、自動WAF検出、エンコードバリエーション、HTTP操作
- エラーコード — 400(不正なパラメータ)、404(見つからない)、429(レート制限)、500/502(サーバー/ターゲットエラー)
- ドキュメント — アプリ内パネルおよび機械可読な
GET /api/v1/docs
バッチテスト
- 最大100のURL を同時にテスト
- 進行状況追跡付きの同時処理
- バイパス率分析を含むURLごとの結果
スキャン履歴
- スキャン結果の 自動保存 をブラウザのlocalStorageに保存
- 要約統計付きで過去のスキャンを参照・確認
- 履歴エントリから素早く再スキャン
アーキテクチャ
WAF-Checkerは Cloudflare Worker として構築されており、静的アセットを持ちます:
- バックエンド(
app/src/api.ts)— APIリクエスト、ペイロード配信、WAFテスト、偵察、DNS/WHOISルックアップを処理するWorker
- フロントエンド(
app/src/static/)— サイバーパンクUIを備えたシングルページアプリケーション
- ペイロード — ランタイム時にGitHubから動的に読み込まれ、Workerバンドルを軽量に保つ
プロジェクト構成
wrangler.toml # Cloudflare Worker設定
app/src/
├── api.ts # メインWorkerエントリーポイント&APIルート
├── payloads.ts # ペイロード型(GitHubから読み込まれるデータ)
├── advanced-payloads.ts # エンコード&バイパス生成関数
├── encoding.ts # WAFバイパス用エンコードユーティリティ
├── waf-detection.ts # WAFフィンガープリンティング&検出
├── http-manipulation.ts # HTTPプロトコル操作手法
├── reporting.ts # エクスポート&分析モジュール
├── batch.ts # バッチテストモジュール
└── static/
├── index.html # メインWebインターフェース
├── main.js # フロントエンドロジック&UI
├── style.css # サイバーパンクテーマ&スタイリング
└── favicon.svg # アプリアイコン
はじめに
前提条件
ローカル開発
# リポジトリをクローン
git clone https://github.com/PAPAMICA/waf-checker.git
cd waf-checker
# 依存関係をインストール
npm install
# ローカル開発サーバーを起動
npx wrangler dev
ブラウザで http://localhost:8787 を開きます。
Cloudflareへのデプロイ
-
Cloudflareにログイン:
-
wrangler.toml をあなたの account_id で更新
-
デプロイ:
ペイロードの拡張
ペイロードは別のリポジトリで管理されています:PAPAMICA/waf-payloads
デフォルトのペイロードを変更するには:
- payloads.json をフォークするか編集
- カスタムソースを使用する場合は
app/src/api.ts 内の GITHUB_PAYLOADS_URL を更新
Webインターフェースの ペイロード設定 から直接カスタムペイロードを追加することもできます。変更はブラウザのlocalStorageに保存されます。
ライセンス
MIT
Mickael Asseline によって構築されました。