Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
waf-tester — Ein Programm zum Testen der WAF-Funktionalität | Kitploit
Tools/GitHubGitHub/kpomin57/waf-tester
SchwachstellenscannerIDS/IPS-UmgehungAPI-SicherheitstestsWAF-UmgehungWebsicherheitPenetrationstestsFehlkonfigurationLernen & Bildung
GitHubkpomin57/waf-tester

waf-tester

Ein Programm zum Testen der WAF-Funktionalität

Repository anzeigen
26103vor 4 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

🛡️ WAF-Tester

Enterprise-WAF-Bewertungstool — Echte Angriffspayloads. Echte Ergebnisse. Compliance-bereite Berichte.

WAF-Tester bewertet Web Application Firewalls, indem echte Angriffspayloads an eine benutzerdefinierte URL gesendet wird und gemeldet wird, ob diese blockiert werden. Verfügbar als Windows-Desktop-App (Electron) und als Python-CLI, die überall läuft.

WAF Tester Screenshot


⚠️ Rechtlicher Haftungsausschluss

Dieses Tool ist ausschließlich für autorisierte Sicherheitstests bestimmt. Verwenden Sie es nur gegen Systeme, die Ihnen gehören oder für die Sie eine ausdrückliche schriftliche Genehmigung zum Testen haben. Das unbefugte Testen von Systemen Dritter kann gegen den Computer Fraud and Abuse Act (CFAA) und gleichwertige Gesetze in Ihrem Land verstoßen. Die Autoren übernehmen keine Haftung für Missbrauch.


Features

Testabdeckung — 90 Tests in 6 Suiten

Tool herunterladen
SuiteTestsAbdeckung
OWASP / CWE Core44SQL-Injection (12 Varianten), XSS (10 Varianten), Path Traversal, Command Injection, XXE, SSRF, Log4Shell, SSTI, Open Redirect
Rate Limiting3Burst-Flood (30 gleichzeitig), Sequentieller Flood, X-Forwarded-For-IP-Rotationsumgehung
Bot-Erkennung10sqlmap, Nikto, Nmap, Scrapy, Masscan, HeadlessChrome, python-requests, curl, leere UA, fehlende Accept-Header
Bypass-Versuche15Doppelte URL-Kodierung, Unicode Fullwidth, Nullbytes, Groß-/Kleinschreibungsvariation, Kommentar-Verschleierung, CRLF-Injection, Host-Header-Injection, Methoden-Override, Pfad-Tricks
API-Sicherheit10GraphQL-Introspection/Batch/Enumeration, JWT-Algorithmus-None & -Verwirrung, Mass Assignment, HTTP-Verb-Tampering, BOLA, Content-Type-Verwirrung
Geschäftslogik8Negative Menge, Nullpreis-Einreichung, Admin-Endpunkt-Zugriff, HTTP-Parameter-Verschmutzung, Account-Enumeration, übermäßige Datensammlung, Erzwungenes Browsen, Privilegieneskalation

Compliance-Zuordnung

Jeder Test ist mit einem oder mehreren Compliance-Frameworks getaggt:

  • OWASP Top 10 2021 (A01–A10)
  • CWE (Common Weakness Enumeration)
  • NIST 800-53 (SI-10, AC-3, SC-5, IA-5, usw.)
  • PCI-DSS 4.0 (Anforderung 6.4)

Erkennungsintelligenz

  • Basislinienvergleich — vor den Tests wird eine saubere GET-Anfrage abgerufen, dann jede Antwort verglichen, um Fehlalarme zu reduzieren
  • Konfidenzbewertung — Ergebnisse werden mit HIGH, LIKELY oder UNCERTAIN bewertet, anstatt mit binärem Bestanden/Nicht bestanden
  • Multisignal-Auswertung — Statuscodes, WAF-Schlüsselworterkennung und Abweichung der Antwortlänge fließen in das Urteil ein

Authentifizierungsunterstützung

  • Bearer-Token
  • API-Schlüssel (benutzerdefinierter Header-Name)
  • Cookie / Sitzungstoken
  • Basic Auth (Benutzername + Passwort)

Windows-Desktop-App (Electron)

Voraussetzungen

  • Node.js 18 oder höher

Ausführen aus dem Quellcode

root@kitploit:~
git clone https://github.com/kpomin57/waf-tester.git
cd waf-tester
npm install
npm start

Windows-Installer erstellen

root@kitploit:~
npm run build

Die Ausgabe erscheint in dist/ sowohl als NSIS-Installer als auch als tragbare .exe. Auf dem Zielrechner sind keine Voraussetzungen erforderlich – Electron bündelt seine eigene Laufzeit.


Python-CLI-Version

Eine einzeitige Python-Version, die überall läuft, wo Python verfügbar ist – Linux-Server, CI/CD-Pipelines, Docker-Container, WSL oder jede Umgebung, in der die Windows-.exe keine Option ist.

Voraussetzungen

root@kitploit:~
pip install rich requests

Grundlegende Verwendung

root@kitploit:~
python waf_tester.py --url https://target.example.com

Führt alle 90 Tests aus, fordert eine Autorisierungsbestätigung an, gibt farbcodierte Ergebnisse auf dem Terminal aus und speichert sowohl einen JSON- als auch einen HTML-Bericht im aktuellen Verzeichnis.

Optionen

FlagBeschreibungStandard
--urlZiel-URL (erforderlich)—
--suitesKommagetrennte Suites, die ausgeführt werden sollenalle
--auth-typenone / bearer / apikey / cookie / basicnone
--auth-valueToken, Cookie-String oder API-Schlüsselwert—
--auth-headerHeader-Name für API-Schlüssel-AuthentifizierungX-API-Key
--auth-userBenutzername für Basic Auth—
--auth-passPasswort für Basic Auth—
--no-baselineBasislinienvergleich deaktivierenaus
--no-rotate-uaUser-Agent-Rotation deaktivierenaus
--waf-headerX-WAF-Tester-Identifikationsheader sendenaus
--outputterminal, json, html (kommagetrennt)alle drei
--output-dirVerzeichnis zum Speichern der Berichtsdateien.
--timeoutTimeout pro Anfrage in Sekunden10
--proxyProxy-URL für alle Anfragen (z. B. http://127.0.0.1:8080)aus
--confirmDie Autorisierungsbestätigungsaufforderung überspringenaus

Beispiele

root@kitploit:~
# Run all suites
python waf_tester.py --url https://app.example.com

# Run OWASP and API suites only
python waf_tester.py --url https://app.example.com --suites owasp,api

# Bearer token auth
python waf_tester.py --url https://app.example.com/api \
  --auth-type bearer --auth-value eyJhbGciOiJIUzI1NiJ9...

# API key auth
python waf_tester.py --url https://app.example.com/api \
  --auth-type apikey --auth-header X-API-Key --auth-value mykey123

# Save reports to a folder, skip confirmation (CI/CD)
python waf_tester.py --url https://app.example.com \
  --output-dir ./reports --confirm

# Terminal output only — no files saved
python waf_tester.py --url https://app.example.com --output terminal

# Route traffic through Burp Suite
python waf_tester.py --url https://app.example.com --proxy http://127.0.0.1:8080

Ausführung in Docker

root@kitploit:~
docker run --rm -v $(pwd)/reports:/reports \
  python:3.12-slim sh -c \
  "pip install rich requests -q && python waf_tester.py \
   --url https://target.example.com \
   --output-dir /reports --confirm"

Ausführung in CI/CD (GitHub Actions)

root@kitploit:~
- name: WAF Evaluation
  run: |
    pip install rich requests
    python waf_tester.py \
      --url ${{ secrets.WAF_TARGET_URL }} \
      --suites owasp,api,bypass \
      --output json \
      --output-dir ./reports \
      --confirm

- name: Upload report
  uses: actions/upload-artifact@v3
  with:
    name: waf-report
    path: reports/

Burp-Suite-Integration

Die Python-CLI kann den gesamten Testverkehr durch Burp Suite leiten, sodass Sie einen vollständigen HTTP-Verlauf aller von WAF Tester gesendeten Payloads erhalten. Dies ist nützlich für die manuelle Inspektion von Anfragen und Antworten, das Feintuning von Payloads, die Fehlerbehebung bei unerwartetem WAF-Verhalten und die Verwendung von Burps eigenem Scanner oder Repeater für interessante Funde.

Funktionsweise

Burp Suite führt einen lokalen Proxy-Listener (Standard 127.0.0.1:8080). Wenn Sie die Proxy-Umgebungsvariablen von WAF Tester auf diese Adresse richten, wird jede vom Tool gesendete Anfrage über Burp geleitet, bevor sie das Ziel erreicht. Sie sehen jeden Payload im HTTP-Verlauf von Burp mit der vollständigen Anfrage und Antwort – Statuscode, Header, Body – genau so, wie die WAF sie gesehen hat.

Einrichtung

1. Starten Sie Burp Suite und stellen Sie sicher, dass der Proxy-Listener aktiv ist:

Öffnen Sie Burp → Proxy → Proxy-Einstellungen → bestätigen Sie, dass der Listener auf 127.0.0.1:8080 läuft (oder notieren Sie sich Ihren Port, falls abweichend).

2. Exportieren Sie Burps CA-Zertifikat und vertrauen Sie ihm (einmalige Einrichtung):

WAF Tester verbindet sich mit HTTPS-Zielen, daher muss Burp TLS abfangen. Gehen Sie zu Burp → Proxy → Proxy-Einstellungen → Import/Export CA Certificate → Export as DER. Installieren Sie es als vertrauenswürdiges Root-CA auf Ihrem System, oder setzen Sie die folgende Umgebungsvariable, um die Verifizierung zu überspringen (für Labore in Ordnung, nicht für die Produktion).

3. Führen Sie WAF Tester mit --proxy aus:

root@kitploit:~
python waf_tester.py --url https://target.example.com --proxy http://127.0.0.1:8080

Unter Windows:

root@kitploit:~
python waf_tester.py --url https://target.example.com --proxy http://127.0.0.1:8080

Sie können auch weiterhin Umgebungsvariablen verwenden, wenn Sie möchten:

root@kitploit:~
HTTPS_PROXY=http://127.0.0.1:8080 HTTP_PROXY=http://127.0.0.1:8080 \
python waf_tester.py --url https://target.example.com

4. Schalten Sie die Abfangfunktion von Burp aus:

Stellen Sie in Burp → Proxy → Intercept sicher, dass die Abfangfunktion aus ist – andernfalls pausiert Burp bei jeder Anfrage und wartet darauf, dass Sie sie manuell weiterleiten, und WAF Tester wird ein Timeout erhalten. Burp soll den Datenverkehr passiv protokollieren, nicht abfangen.

5. Beobachten Sie die eingehenden Anfragen im HTTP-Verlauf von Burp:

Jeder WAF-Tester-Payload erscheint als separater Eintrag. Sie können mit der rechten Maustaste auf eine beliebige Anfrage klicken und sie an Repeater senden, um sie manuell zu bearbeiten und erneut zu senden, oder an Intruder, um sie weiterzufuzzzen.

Wenn Sie TLS-Fehler erhalten

Wenn das Burp-CA-Zertifikat nicht vertrauenswürdig ist, fügen Sie als Workaround --no-verify hinzu, indem Sie die SSL-Verifizierung im Tool vorübergehend deaktivieren. Alternativ vertrauen Sie dem Burp-CA-Zertifikat systemweit oder verwenden Sie für erste Tests ein HTTP-Ziel (nicht HTTPS).


Ergebnisse interpretieren

PunkteNoteBedeutung
90–100 %AAusgezeichnet – WAF blockt fast alle Angriffsvektoren
80–89 %BGut – kleinere Lücken, die eine Untersuchung wert sind
65–79 %CBefriedigend – bemerkenswerte Bypass-Vektoren vorhanden
50–64 %DMangelhaft – erhebliche Schutzlücken
< 50 %FKritisch – WAF ist größtenteils unwirksam

Konfidenzstufen:

  • HIGH — harter Block-Status (403, 406, 429) ohne Mehrdeutigkeit
  • LIKELY — WAF-Schlüsselwörter im Antworttext oder Status weicht vom Basislinienvergleich ab
  • UNCERTAIN — weicher Block (400, 503), der ein legitimer Anwendungsfehler sein könnte

Empfohlener Test-Workflow

  1. Führen Sie es gegen Juice Shop ohne WAF aus → bestätigen Sie, dass größtenteils umgangen wird (Tool funktioniert richtig)
  2. Führen Sie es gegen ModSecurity/OWASP CRS aus → bestätigen Sie, dass größtenteils blockiert wird (Bewertungslogik funktioniert)
  3. Führen Sie es gegen Ihre Ziel-WAF aus → echte Bewertungsergebnisse
root@kitploit:~
# Juice Shop (no WAF — expect all bypassed)
docker run -d -p 3000:3000 bkimminich/juice-shop

# ModSecurity with OWASP CRS (expect most blocked)
docker run -d -p 80:80 owasp/modsecurity-crs:nginx

Projektstruktur

root@kitploit:~
waf-tester/
├── src/
│   ├── main.js          # Electron main process — all test logic & IPC
│   ├── preload.js       # Secure context bridge
│   └── renderer/
│       ├── index.html   # App shell
│       ├── styles.css   # Dark military/SOC UI theme
│       └── app.js       # UI logic, filters, live feed, export
├── waf_tester.py        # Python CLI — single file, no config needed
├── package.json
└── README.md

Änderungsprotokoll

v1.2.0

  • Erweiterung von 40 auf 90 Tests in 6 Suiten
  • API-Sicherheits-Suite hinzugefügt (GraphQL, JWT, Mass Assignment, BOLA, Verb-Tampering)
  • Geschäftslogik-Suite hinzugefügt (Preismanipulation, Privilegieneskalation, Erzwungenes Browsen)
  • Compliance-Tags (OWASP, CWE, NIST, PCI-DSS) für jeden Test hinzugefügt
  • Framework-Filter in der Ergebnisansicht hinzugefügt
  • Python-CLI (waf_tester.py) hinzugefügt – eine Datei, läuft überall
  • Komplette Enterprise-UI-Überarbeitung – SVG-Punktringe, animierte Scanlinie, Hex-Gitter-Hintergrund

v1.1.0

  • Authentifizierungsunterstützung hinzugefügt (Bearer, API-Key, Cookie, Basic Auth)
  • Basislinienvergleich und Konfidenzbewertung (HIGH / LIKELY / UNCERTAIN) hinzugefügt
  • User-Agent-Rotation über 6 realistische Browser-UAs hinzugefügt
  • X-WAF-Tester-Header-Umschalter hinzugefügt (Opt-In, standardmäßig aus)
  • Berechtigungskontrollkästchen vor jedem Scan hinzugefügt
  • Export-Toast-Sichtbarkeit und CRLF-Absturz in Bypass-Tests behoben

v1.0.0

  • Erste Veröffentlichung – 40 Tests, 4 Suiten, JSON + HTML-Export

Lizenz

MIT — siehe LICENSE für Details.


Entwickelt für Sicherheitsingenieure, die eine WAF-Validierung benötigen, die über die reine Checklisten-Compliance hinausgeht.