
evilwaf — это инструмент для тестирования на проникновение, предназначенный для обнаружения и обхода распространённых межсетевых экранов веб-приложений (WAF).
EvilWAF — это продвинутый прозрачный MITM-прокси для обхода межсетевых экранов и глубокий сканер уязвимостей WAF, предназначенный для авторизованного тестирования безопасности. Он работает на транспортном уровне — не изменяет полезную нагрузку, cookie или заголовки ваших инструментов. Работает с любым инструментом (например, ffuz, sqlmap, nuclei и др.), поддерживающим --proxy.
--proxy. Не требует настройки на стороне инструмента.CF-Connecting-IP, CF-Ray, True-Client-IP) со специально сформированными значениями для проверки доверия WAF к заголовкам и попытки обхода IP-белого списка.Layer 1 Network — обход виртуальных хостов, проверка чувствительных путей, манипуляции с заголовком HostLayer 2 RuleEngine — обнаружение пробелов в правилах на основе полезной нагрузки: SQLi, XSS, RCE, LFILayer 3 RateLimit — тестирование применения ограничения частоты при всплесках и постоянной нагрузкеLayer 4 Evasion — обход через кодирование и нормализацию с 10 вариантами кодирования для каждой полезной нагрузкиLayer 5 Behavioural — анализ таймингов: tarpit, задержка JS-челленджа, обнаружение back-offLayer 6 Header — внедрение HTTP-заголовков и обход через подмену IPLayer 7 TLS — проверка версий TLS, обход SNI, снятие отпечатка сертификатаLayer 8 MethodVerb — обход через HTTP-методы, включая методы WebDAVLayer 9 Session — манипуляции с cookie, обход аутентификации, проверки фиксации сессииLayer 10 Misconfig — обнаружение ошибок конфигурации WAF и утечек информации--no-tui для скриптов и конвейеров CI/CD.--scan-only для запуска сканера уязвимостей WAF отдельно, без запуска прокси.Cloudflare широко считается самым сложным Web Application Firewall в мире на сегодняшний день. Это не просто набор правил — это многоуровневая система защиты, сочетающая несколько технологий, работающих одновременно для защиты веб-приложений.
На сетевом уровне Cloudflare работает в сотнях дата-центров по всему миру, а это значит, что каждый запрос проходит через инфраструктуру, которая одновременно видит паттерны трафика миллионов веб-сайтов. Такая глобальная видимость — одно из самых мощных её преимуществ: Cloudflare может обнаружить атакующие паттерны, появляющиеся в любой точке мира, и в течение секунд развернуть меры защиты на всех защищаемых ресурсах.
На уровне инспекции Cloudflare анализирует запросы сразу по нескольким измерениям: TCP/IP-отпечаток, TLS-отпечаток, структура кадров HTTP/2, порядок заголовков, тайминг запроса, поведенческие паттерны между сессиями и содержимое полезной нагрузки. Ни один из этих сигналов по отдельности недостаточен для блокировки запроса, но Cloudflare коррелирует их все вместе, чтобы построить оценку риска для каждого запроса.
Компонент машинного обучения — это то, что делает Cloudflare принципиально отличным от традиционных WAF. В то время как сигнатурные WAF ищут известные вредоносные паттерны, ML-модели Cloudflare обучаются на петабайтах реального атакующего трафика. Они изучают, как выглядит легитимный браузерный трафик на транспортном уровне — точную последовательность TCP-опций, точную структуру TLS ClientHello, порядок кадров HTTP/2 SETTINGS — и помечают всё, что отклоняется от этого эталона, даже если сама полезная нагрузка выглядит чистой. Именно поэтому простого кодирования нагрузки или ротации заголовков недостаточно против Cloudflare. Обход должен происходить на транспортном уровне, а не на уровне приложения.
Большинство техник обхода WAF нацелены на механизм правил: обфускация нагрузок, варианты кодирования, разбиение атакующих строк по параметрам. Эти техники работают против сигнатурных WAF, потому что такие WAF смотрят только на содержимое нагрузки.
Защита Cloudflare срабатывает ещё до того, как полезная нагрузка будет проанализирована. Запрос из Python HTTP-библиотеки, даже отправляющий полностью безобидную нагрузку, может быть отклонён или заблокирован, потому что TLS-отпечаток не соответствует ни одному известному браузеру. Это означает, что инструмент, отправляющий запрос, идентифицируется до анализа содержимого. 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 запущен, направьте любой инструмент на него через прокси:
# 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-заголовки, хэш favicon, перебор поддоменов).
Вклад приветствуется. 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-расширение для классификации, энтропийного анализа, обнаружения временных аномалий и горячих путей статистики.Ограничение частоты в Cloudflare тоже умное — это не просто счётчик запросов на IP в секунду. Оно отслеживает паттерны запросов между сессиями, коррелирует поведение IP-адресов из одного ASN и применяет прогрессивные челленджи вместо жёстких блокировок, из-за чего порог сложно обнаружить автоматизированным тестированием.
Разработчик EvilWAF подходит к Cloudflare не как к цели для атаки, а как к объекту исследования. Методология исследований систематична: наблюдать, как Cloudflare реагирует на разные транспортные идентичности, измерять, какие сигналы вызывают челленджи, блокировки или молчаливый пропуск, и строить статистические модели его поведения на основе живых данных.
Это принципиально отличается от чтения документации или изучения CVE. Поведение Cloudflare невозможно полностью понять из внешних источников, потому что оно постоянно меняется: модели переобучаются, пороги корректируются, добавляются новые сигналы. Единственный надёжный способ понять его — это живое, контролируемое, авторизованное экспериментирование и тщательный анализ собранных данных.
Цель этого исследования — создать инструменты и знания, которые помогут сообществу исследователей безопасности понять, как на самом деле выглядит обход WAF на техническом уровне в 2026 году, — не для причинения вреда, а для того, чтобы защитники понимали реальные возможности и ограничения технологий, на которые они полагаются. Исследователь безопасности, который понимает, как Cloudflare обнаруживает и блокирует запросы, лучше подготовлен к проверке того, действительно ли защищены приложения за ним.
Архитектура сканера EvilWAF — постоянные сессии, статистическая уверенность, многоуровневый анализ, обнаружение временных аномалий — существует потому, что такое исследование требует длительных периодов наблюдения и строгого сбора данных, а не быстрых сканов. Настоящее исследование WAF требует времени, и инструменты должны это отражать.