
evilwaf is a penetration testing tool designed to detect and bypass common Web Application Firewalls (WAFs).
EvilWAF ist ein fortschrittlicher transparenter MITM-Firewall-Bypass-Proxy und ein tiefgehender WAF-Schwachstellenscanner, der für autorisierte Sicherheitstests entwickelt wurde. Er arbeitet auf der Transportschicht – er berührt weder Payloads, Cookies noch Header deiner Tools. Funktioniert mit jedem Tool wie (ffuz, sqlmap, nuclei usw.), das --proxy unterstützt.
--proxy unterstützt. Keinerlei Konfiguration auf der Tool-Seite erforderlich.CF-Connecting-IP, CF-Ray, True-Client-IP) mit präparierten Werten, um das Vertrauen der WAF in Header zu testen und eine Umgehung der IP-Allowlist zu versuchen.Layer 1 Network — Virtual-Host-Bypass, Sondierung sensibler Pfade, Host-Header-ManipulationLayer 2 RuleEngine — Payload-basierte Erkennung von Regellücken: SQLi, XSS, RCE, LFILayer 3 RateLimit — Tests der Rate-Limit-Durchsetzung bei Bursts und DauerlastLayer 4 Evasion — Encoding- und Normalisierungs-Bypass mit 10 Encoding-Varianten pro PayloadLayer 5 Behavioural — Timing-Analyse: Tarpit, JS-Challenge-Verzögerung, Back-off-ErkennungLayer 6 Header — HTTP-Header-Injection und IP-Spoofing-BypassLayer 7 TLS — TLS-Versions-Probing, SNI-Bypass, Zertifikats-FingerprintingLayer 8 MethodVerb — HTTP-Methoden-Bypass einschließlich WebDAV-MethodenLayer 9 Session — Cookie-Manipulation, Auth-Bypass, Session-Fixation-TestsLayer 10 Misconfig — Erkennung von WAF-Fehlkonfigurationen und Informationslecks--no-tui-Flag für Skripte und CI/CD-Pipelines.--scan-only, um den WAF-Schwachstellenscanner eigenständig ohne Start des Proxys auszuführen.Cloudflare gilt weithin als die ausgefeilteste Web Application Firewall der heutigen Welt. Sie ist nicht bloß eine Sammlung von Regeln – sie ist ein mehrschichtiges Verteidigungssystem, das mehrere gleichzeitig arbeitende Technologien kombiniert, um Webanwendungen zu schützen.
Auf Netzwerkebene betreibt Cloudflare hunderte Rechenzentren weltweit, was bedeutet, dass jede Anfrage durch Infrastruktur läuft, die Einblick in die Verkehrsmuster von Millionen von Websites gleichzeitig hat. Diese globale Sichtbarkeit ist einer ihrer größten Vorteile – sie kann Angriffsmuster erkennen, die irgendwo auf der Welt auftauchen, und innerhalb von Sekunden Schutzmaßnahmen auf allen geschützten Websites bereitstellen.
Auf der Inspektionsebene analysiert Cloudflare Anfragen gleichzeitig über mehrere Dimensionen: TCP/IP-Fingerprint, TLS-Fingerprint, HTTP/2-Frame-Struktur, Header-Reihenfolge, Anfrage-Timing, verhaltensbasierte Muster über Sitzungen hinweg und Payload-Inhalt. Keines dieser Signale allein reicht aus, um eine Anfrage zu blockieren, aber Cloudflare korreliert alle miteinander, um eine Risikobewertung pro Anfrage zu erstellen.
Die Machine-Learning-Komponente ist es, die Cloudflare grundlegend von traditionellen WAFs unterscheidet. Während regelbasierte WAFs nach bekannten bösartigen Mustern suchen, sind die ML-Modelle von Cloudflare mit Petabytes an echtem Angriffsverkehr trainiert. Sie lernen, wie legitimer Browserverkehr auf der Transportschicht aussieht – die genaue Abfolge der TCP-Optionen, die präzise Struktur eines TLS-ClientHello, die Reihenfolge der HTTP/2-SETTINGS-Frames – und markieren alles, was von dieser Baseline abweicht, selbst wenn der Payload selbst sauber erscheint. Deshalb reicht es gegen Cloudflare nicht aus, einen Payload einfach zu encodieren oder Header zu rotieren. Der Bypass muss auf der Transportschicht stattfinden, nicht auf der Anwendungsschicht.
Die meisten WAF-Bypass-Techniken zielen auf die Regel-Engine ab – Payloads verschleiern, Encoding-Varianten verwenden, Angriffsstrings auf mehrere Parameter verteilen. Diese Techniken funktionieren gegen signaturbasierte WAFs, weil diese WAFs nur den Payload-Inhalt betrachten.
Cloudflares Verteidigung greift, bevor der Payload überhaupt untersucht wird. Eine Anfrage von einer Python-HTTP-Bibliothek, selbst mit einem völlig harmlosen Payload, kann herausgefordert oder blockiert werden, weil der TLS-Fingerprint zu keinem bekannten Browser passt. Das bedeutet, dass das Tool, das die Anfrage stellt, identifiziert wird, bevor der Inhalt analysiert wird. Cloudflare nennt das verhaltensbasiertes Fingerprinting, und es ist der Hauptgrund, warum Standard-Tools für Penetrationstests daran scheitern, selbst wenn die zugrunde liegenden Payloads korrekt sind.
Wichtig: Lies dies, bevor du EvilWAF verwendest
Ich biete keine Unterstützung für illegale Anwendungsfälle an, aber ich helfe dir, dein Ziel bei autorisierten Tests zu erreichen.
EvilWAF wurde von Matrix Leons entwickelt.
Wenn EvilWAF dir nützlich war, erwäge, seine Entwicklung zu unterstützen. Dein Beitrag hilft, dieses Projekt gepflegt und wachsend zu halten.
# 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
Sobald EvilWAF läuft, richte jedes Tool über den Proxy darauf aus:
# 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"
Ohne API-Schlüssel läuft EvilWAF weiterhin mithilfe kostenloser Quellen (DNS-Verlauf, SSL-Zertifikate, HTTP-Header, Favicon-Hash, Subdomain-Enumeration).
Beiträge sind willkommen. EvilWAF wächst und es gibt viele Bereiche, die verbessert werden können.
# 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
Lizenziert unter der Apache License, Version 2.0
_fast_scanner.c) — Hochleistungsfähige Python-C-Erweiterung für Klassifizierung, Entropieanalyse, Timing-Anomalie-Erkennung und statistische Hot Paths.Auch das Rate Limiting von Cloudflare ist intelligent – es ist nicht einfach ein Zähler für Anfragen pro IP und Sekunde. Es verfolgt Anfragemuster über Sitzungen hinweg, korreliert das Verhalten von IPs mit derselben ASN und wendet progressive Herausforderungen anstelle harter Blockierungen an, was es schwierig macht, die Schwelle durch automatisierte Tests zu erkennen.
Der Entwickler von EvilWAF betrachtet Cloudflare nicht als Angriffsziel, sondern als Studienobjekt. Die Forschungsmethodik ist systematisch: beobachten, wie Cloudflare auf verschiedene Identitäten auf der Transportschicht reagiert, messen, welche Signale Herausforderungen im Vergleich zu Blockaden oder stillen Durchlässen auslösen, und statistische Modelle seines Verhaltens aus Live-Daten aufbauen.
Das unterscheidet sich grundlegend vom Lesen von Dokumentationen oder dem Studieren von CVEs. Das Verhalten von Cloudflare kann aus externen Quellen nicht vollständig verstanden werden, weil es sich kontinuierlich ändert – Modelle werden neu trainiert, Schwellenwerte werden angepasst, neue Signale werden hinzugefügt. Der einzige verlässliche Weg, es zu verstehen, führt über Live-, kontrollierte, autorisierte Experimente und eine sorgfältige Analyse der gesammelten Daten.
Das Ziel dieser Forschung ist es, Werkzeuge und Wissen zu schaffen, die der Sicherheitsforschungsgemeinschaft helfen zu verstehen, wie WAF-Bypass im Jahr 2026 auf technischer Ebene tatsächlich aussieht – nicht um Schaden anzurichten, sondern um sicherzustellen, dass Verteidiger die tatsächlichen Fähigkeiten und Grenzen der Technologien verstehen, auf die sie sich verlassen. Ein Sicherheitsforscher, der versteht, wie Cloudflare Anfragen erkennt und blockiert, ist besser in der Lage zu testen, ob Anwendungen dahinter wirklich geschützt sind.
Die Scanner-Architektur von EvilWAF – persistente Sitzungen, statistische Konfidenz, mehrschichtige Analyse, Timing-Anomalie-Erkennung – existiert, weil diese Art von Forschung lange Beobachtungszeiträume und gründliche Datenerfassung erfordert, keine schnellen Scans. Echte WAF-Forschung braucht Zeit, und die Werkzeuge sollten das widerspiegeln.