
evilwaf is a penetration testing tool designed to detect and bypass common Web Application Firewalls (WAFs).
EvilWAF は、認可されたセキュリティテスト向けに設計された、高度な透過型 MITM ファイアウォールバイパスプロキシであり、多層的な WAF 脆弱性スキャナです。トランスポート層で動作し、ツールからのペイロード、Cookie、ヘッダーには一切触れません。--proxy をサポートする任意のツール(ffuz、sqlmap、nuclei など)と連携します。
--proxy をサポートする任意のツールと連携します。ツール側の設定は一切不要です。CF-Connecting-IP、CF-Ray、True-Client-IP)を注入し、WAF のヘッダー信頼をテストして IP 許可リストのバイパスを試みます。Layer 1 Network — 仮想ホストバイパス、機密パスのプロービング、Host ヘッダー操作Layer 2 RuleEngine — ペイロードベースのルールギャップ検出:SQLi、XSS、RCE、LFILayer 3 RateLimit — バーストおよび持続的なレート制限適用のテストLayer 4 Evasion — ペイロードごとに 10 種類のエンコーディングバリアントを使用したエンコーディングおよび正規化バイパスLayer 5 Behavioural — タイミング分析:ターピット、JS チャレンジ遅延、バックオフ検出Layer 6 Header — HTTP ヘッダーインジェクションおよび IP スプーフィングバイパスLayer 7 TLS — TLS バージョンのプロービング、SNI バイパス、証明書フィンガープリントLayer 8 MethodVerb — WebDAV メソッドを含む HTTP メソッドバイパスLayer 9 Session — Cookie 操作、認証バイパス、セッションフィクセーションのプローブLayer 10 Misconfig — WAF の設定ミスおよび情報漏えい検出--no-tui フラグ。--scan-only フラグ。Cloudflare は、現在世界で最も洗練された Web アプリケーションファイアウォールと広く見なされています。これは単なるルールの集合ではなく、Web アプリケーションを保護するために複数の技術を同時に組み合わせた多層防御システムです。
ネットワークレベルでは、Cloudflare は世界中の数百のデータセンターにわたって運用されており、すべてのリクエストが世界中の何百万もの Web サイトのトラフィックパターンを同時に可視化するインフラストラクチャを通過します。このグローバルな可視性は最も強力な利点の 1 つであり、世界のどこかで発生した攻撃パターンを検出し、数秒以内にすべての保護対象プロパティ全体に緩和策を展開できます。
検査レベルでは、Cloudflare は TCP/IP フィンガープリント、TLS フィンガープリント、HTTP/2 フレーム構造、ヘッダーの順序、リクエストのタイミング、セッション間のビヘイビアパターン、ペイロードコンテンツなど、複数の次元を同時に分析します。これらのシグナルのどれか 1 つだけではリクエストをブロックするのに十分ではありませんが、Cloudflare はすべてを関連付けてリクエストごとのリスクスコアを構築します。
機械学習コンポーネントこそが、Cloudflare を従来の WAF と根本的に異なるものにしています。ルールベースの WAF が既知の悪質なパターンを探すのに対し、Cloudflare の ML モデルはペタバイト規模の実際の攻撃トラフィックでトレーニングされています。正当なブラウザトラフィックがトランスポート層でどのように見えるか(TCP オプションの正確なシーケンス、TLS ClientHello の精密な構造、HTTP/2 SETTINGS フレームの順序)を学習し、ペイロード自体がクリーンに見える場合でも、そのベースラインから逸脱するものをすべてフラグ付けします。これが、単にペイロードをエンコードしたりヘッダーをローテーションしたりするだけでは Cloudflare に対して不十分な理由です。バイパスはアプリケーション層ではなくトランスポート層で行われる必要があります。
ほとんどの WAF バイパステクニックはルールエンジンを標的にします。ペイロードの難読化、エンコーディングバリアントの使用、攻撃文字列のパラメータ分割などです。これらのテクニックは、ペイロードコンテンツのみを検査するシグネチャベースの WAF に対しては有効です。
Cloudflare の防御は、ペイロードが検査される前に機能します。Python の HTTP ライブラリからのリクエストは、完全に無害なペイロードを送信していても、TLS フィンガープリントが既知のブラウザと一致しないため、チャレンジまたはブロックされる可能性があります。つまり、コンテンツが分析される前にリクエストを行ったツールが識別されるのです。Cloudflare はこれをビヘイビアフィンガープリンティングと呼び、基礎となるペイロードが正しい場合でも標準的なペネトレーションテストツールが失敗する主な理由です。
Cloudflare のレート制限もインテリジェントです。単なる IP ごとの 1 秒あたりのリクエストカウンターではありません。セッション間のリクエストパターンを追跡し、同じ ASN を共有する IP 間のビヘイビアを関連付け、ハードブロックではなく段階的なチャレンジを適用するため、自動テストでしきい値を検出するのは困難です。
EvilWAF の開発者は、Cloudflare を攻撃対象としてではなく、研究対象として取り扱います。研究手法は体系的です。Cloudflare がさまざまなトランスポート層 ID にどのように応答するかを観察し、どのシグナルがチャレンジ、ブロック、サイレントパスのどれを引き起こすかを測定し、ライブデータからそのビヘイビアの統計モデルを構築します。
これはドキュメントを読んだり CVE を研究したりすることとは根本的に異なります。Cloudflare のビヘイビアは継続的に変化するため(モデルの再トレーニング、しきい値の調整、新しいシグナルの追加)、外部ソースから完全に理解することはできません。唯一の信頼できる理解方法は、ライブで管理された認可済みの実験と、収集したデータの注意深い分析です。
この研究の目的は、セキュリティ研究コミュニティが 2026 年の技術レベルで WAF バイパスが実際にどのようなものであるかを理解するのに役立つツールと知識を生み出すことです。害を与えるためではなく、防御者が依存する技術の実際の能力と限界を理解できるようにするためです。Cloudflare がリクエストをどのように検出しブロックするかを理解しているセキュリティ研究者は、その背後にあるアプリケーションが本当に保護されているかをテストするためのより良い装備を持っています。
重要:EvilWAF を使用する前に必ずお読みください
違法なユースケースに対するサポートは提供していませんが、認可されたテストでの目標達成は支援します。
EvilWAF は Matrix Leons によって制作されています。
EvilWAF がお役に立ったなら、開発のサポートを検討してください。あなたの貢献は、このプロジェクトの維持と成長に役立ちます。
# EvilWAF generates a local CA to intercept HTTPS traffic. Trust it once.
# Run EvilWAF first — CA is auto-generated at startup
# Then find the cert:
ls /tmp/evilwaf_ca_*/evilwaf-ca.pem
# Linux — trust system-wide
sudo cp /tmp/evilwaf_ca_*/evilwaf-ca.pem /usr/local/share/ca-certificates/evilwaf-ca.crt
sudo update-ca-certificates
# macOS
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain \
/tmp/evilwaf_ca_*/evilwaf-ca.pem
# For tools like sqlmap, pass --ignore-proxy=False or equivalent for your tool.
# 1. Create virtual environment
python3 -m venv myenv
# 2. Activate virtual environment
source myenv/bin/activate
# 3. Clone and install
git clone https://github.com/matrixleons/evilwaf.git
cd evilwaf
pip3 install -r requirements.txt
# 4. Build C extension (optional, improves scanner performance)
python setup_fast_scanner.py build_ext --inplace
python3 evilwaf.py -h
docker build -t evilwaf .
docker run -it evilwaf -t https://example.com
# Basic — Standard Proxy Mode
python3 evilwaf.py -t https://target.com
# Auto-Hunt Origin IP Behind WAF
python3 evilwaf.py -t https://target.com --auto-hunt
# EvilWAF runs 10 scanners in parallel, ranks candidates by confidence, then asks:
# [?] Use 1.2.3.4 as origin IP for bypass? [y/n]:
# If confirmed, all traffic goes directly to the real server, bypassing WAF completely.
# Manual Origin IP (if already known)
python3 evilwaf.py -t https://target.com --server-ip 1.2.3.4
# With Tor IP Rotation
python3 evilwaf.py -t https://target.com --enable-tor
# Headless Mode (No TUI)
python3 evilwaf.py -t https://target.com --no-tui
# WAF Vulnerability Scanner — alongside proxy
python3 evilwaf.py -t https://target.com --scan-vulns
# WAF Vulnerability Scanner — standalone, no proxy
python3 evilwaf.py -t https://target.com --scan-only
# WAF Vulnerability Scanner — custom rate and output
python3 evilwaf.py -t https://target.com --scan-only --scan-rps 5.0 --scan-output ./results
# Upstream Proxy
python3 evilwaf.py -t https://target.com --upstream-proxy socks5://127.0.0.1:1080
python3 evilwaf.py -t https://target.com --upstream-proxy http://user:[email protected]:8080
python3 evilwaf.py -t https://target.com --proxy-file proxies.txt
# Custom Listen Address and Port
python3 evilwaf.py -t https://target.com --listen-host 0.0.0.0 --listen-port 9090
EvilWAF が起動したら、プロキシ経由で任意のツールを EvilWAF に向けます:
# sqlmap
sqlmap -u "https://target.com/page?id=1" --proxy=http://127.0.0.1:8080 --ignore-proxy=False
# ffuf
ffuf -u https://target.com/FUZZ -x http://127.0.0.1:8080
# nuclei
nuclei -u https://target.com -proxy http://127.0.0.1:8080
# curl (for testing)
curl -x http://127.0.0.1:8080 https://target.com
export SHODAN_API_KEY="your_key"
export SECURITYTRAILS_API_KEY="your_key"
export VIRUSTOTAL_API_KEY="your_key"
export CENSYS_API_ID="your_id"
export CENSYS_API_SECRET="your_secret"
API キーがなくても、EvilWAF は無料のソース(DNS 履歴、SSL 証明書、HTTP ヘッダー、ファビコンハッシュ、サブドメイン列挙)を使用して動作します。
コントリビューションを歓迎します。EvilWAF は成長しており、改善すべき分野が数多くあります。
# Fork and clone
git clone https://github.com/matrixleons/evilwaf/fork
git checkout -b my-new-feature
git commit -am 'Add some feature'
git push origin my-new-feature
# Submit a pull request
Apache License, Version 2.0 のもとでライセンスされています。
_fast_scanner.c)— 分類、エントロピー分析、タイミング異常検出、統計処理のホットパス向けの高性能 Python C 拡張です。EvilWAF のスキャナアーキテクチャ(永続セッション、統計的信頼、多層分析、タイミング異常検出)は、この種の研究が短時間のスキャンではなく、長い観察期間と厳密なデータ収集を必要とするため存在します。実際の WAF 研究には時間がかかり、ツールもそれを反映すべきです。