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-bypass — Automatisiertes WAF-Sicherheitstest-Tool, das False Positives und False Negatives erkennt, indem es 15+ Payload-Kategorien einschließlich SQLi, XSS, RCE und GraphQL-Injection verwendet. Unterstützt Docker, JSON-Ausgabe und benutzerdefinierte Payloads. | Kitploit
Tools/GitHubGitHub/nemesida-waf/waf-bypass
SchwachstellenscannerAPI-SicherheitstestsWAF-UmgehungWebsicherheitPenetrationstests
GitHubnemesida-waf/waf-bypass

waf-bypass

Automatisiertes WAF-Sicherheitstest-Tool, das False Positives und False Negatives erkennt, indem es 15+ Payload-Kategorien einschließlich SQLi, XSS, RCE und GraphQL-Injection verwendet. Unterstützt Docker, JSON-Ausgabe und benutzerdefinierte Payloads.

Repository anzeigen
1.5k185vor 1 MonatVon 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
Webseite

WAF Bypass Tool

WAF Bypass Tool ist ein Open-Source-Tool zur Analyse der Sicherheit jeder WAF auf False Positives und False Negatives mit vordefinierten und anpassbaren Payloads. Überprüfen Sie Ihre WAF, bevor ein Angreifer es tut. WAF Bypass Tool wird vom Nemesida WAF-Team unter Beteiligung der Community entwickelt.

WAF Bypass Tool

Keine illegalen Aktivitäten

Die Nutzung zu illegalen Zwecken ist verboten. Brechen Sie nicht das Gesetz. Wir übernehmen keine Verantwortung für mögliche Risiken, die mit der Nutzung dieser Software verbunden sind.

Ausführung

Ausführung mit Docker

Die neueste Version von waf-bypass ist immer über den Docker Hub verfügbar. Sie kann einfach mit folgendem Befehl bezogen werden:

root@kitploit:~
# docker pull nemesida/waf-bypass
# docker run nemesida/waf-bypass --host='example.com'

Ausführung mit pipx

root@kitploit:~
# pipx install git+https://github.com/nemesida-waf/waf-bypass.git
# <pipx bin dir>/waf-bypass

Direkte Ausführung aus dem Quellcode mit der CLI

root@kitploit:~
# git clone https://github.com/nemesida-waf/waf_bypass.git /opt/waf-bypass/
# python3 -m pip install -r /opt/waf-bypass/requirements.txt
# python3 /opt/waf-bypass/main.py --host='example.com'

Optionen

  • '--proxy' (--proxy='http://proxy.example.com:3128') - Diese Option gibt an, wohin anstelle des Hosts verbunden werden soll.

  • '--header' (--header 'Authorization: Basic YWRtaW46YWRtaW4=' --header 'X-TOKEN: ABCDEF') - Diese Option ermöglicht es, den HTTP-Header anzugeben, der mit allen Anfragen gesendet wird (z. B. für die Authentifizierung). Mehrfache Verwendung ist erlaubt.

  • '--user-agent' (--user-agent 'MyUserAgent 1/1') - Diese Option ermöglicht es, den HTTP-User-Agent anzugeben, der mit allen Anfragen gesendet wird, außer wenn der User-Agent durch das Payload gesetzt wird ("USER-AGENT").

  • '--block-code' (--block-code='403' --block-code='222') - Diese Option ermöglicht es, den HTTP-Statuscode anzugeben, der erwartet wird, wenn die WAF blockiert. (Standard ist ). Mehrfache Verwendung ist erlaubt.

JSON-Format

Beispiel für die JSON-Ausgabespezifikation:

root@kitploit:~
{
  "TARGET": "https://example.com", // defined by --host option
  "PROXY": {},                     // defined by --proxy option
  "HEADERS": {                     // defined by --header option
    "User-Agent": ""
  },
  "BLOCK-CODE": [                  // defined by --block-code option
    ...
  ],
  "THREADS": 50,                   // defined by --threads option
  "TIMEOUT": 30,                   // defined by --timeout option
  "EXCLUDE-DIR": [                 // defined by --exclude-dir option
    ...
  ],
  "FAILED": {                      // requests with failed processing status
    "MFD/7.json": {
      "BODY": "WBHTTPSConnectionPool(host='example.com', port=443): Read timed out. (read timeout=1)"
    },
    ...
  },
  "PASSED": {                      // passed requests
    "UWA/3.json": {
      "URL": "403 RESPONSE CODE"
    },
    ...
  },
  "FALSED": {                      // requests with false positive processing status
    ...
  },
  "BYPASSED": {                    // requests with false negative processing status
    "UWA/26.json": {
      "URL": "200 RESPONSE CODE"
    },
    ...
  },
  "TestRequest": {                // test requests with processing status, exclude passed
    "FAILED": {},
    "FALSED": {
        "UWA/3.json": {
        "URL": "403 RESPONSE CODE"
        },
        ...
    }
    
  },
  "CURL": {                       // cURL command to reproduce false positive and false negative requests
    "FALSED": {},
    "BYPASSED": {
      "UWA/26.json": {
        "URL": "curl -X GET -H 'Accept: */*' -H 'Accept-Encoding: gzip, deflate' -H 'Connection: keep-alive' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36' 'https://example.com/do.php#.png'"
      },
      ...
    }
  }
}

Payloads

Je nach Zweck befinden sich die Payloads in den entsprechenden Ordnern:

  • FP - False-Positive-Payloads
  • API - API-Test-Payloads
  • CM - Benutzerdefinierte HTTP-Methoden-Payloads
  • GraphQL - GraphQL-Test-Payloads
  • LDAP - LDAP-Injection-Payloads
  • LFI - Local-File-Include-Payloads
  • MFD - multipart/form-data-Payloads
  • NoSQLi - NoSQL-Injection-Payloads
  • OR - Open-Redirect-Payloads
  • RCE - Remote-Code-Execution-Payloads
  • RFI - Remote-File-Inclusion-Payloads
  • SQLi - SQL-Injection-Payloads
  • SSI - Server-Side-Includes-Payloads
  • SSRF - Server-Side-Request-Forgery-Payloads
  • SSTI - Server-Side-Template-Injection-Payloads
  • UWA - Unwanted-Access-Payloads
  • XSS - Cross-Site-Scripting-Payloads

Eigene Payloads schreiben

Beim Erstellen eines Payloads werden die folgenden Zonen, Methoden und Optionen verwendet:

  • URL - Pfad der Anfrage
  • ARGS - Abfrage der Anfrage
  • BODY - Anfragekörper
  • COOKIE - Cookie der Anfrage
  • USER-AGENT - User-Agent der Anfrage
  • REFERER - Referer der Anfrage
  • HEADER - Header der Anfrage
  • METHOD - Methode der Anfrage
  • BOUNDARY - gibt den Inhalt des Boundary der Anfrage an. Nur anwendbar auf Payloads im MFD-Verzeichnis.
  • ENCODE - gibt die Art der Payload-Kodierung an (Base64, HTML-ENTITY, UTF-16) zusätzlich zur Kodierung für das Payload. Mehrere Werte werden durch Leerzeichen getrennt (z. B. Base64 UTF-16). Nur anwendbar auf die Zonen ARGS, BODY, COOKIE und HEADER. Nicht anwendbar auf Payloads in den Verzeichnissen API und MFD. Nicht kompatibel mit der Option JSON.
  • JSON - gibt an, dass der Anfragekörper im JSON-Format sein soll.
  • BLOCKED - gibt an, ob die Anfrage blockiert werden soll (FN-Test) oder nicht (FP).

Mit Ausnahme einiger unten beschriebener Fälle sind die Zonen unabhängig voneinander und werden getrennt getestet (d.h. wenn 2 Zonen angegeben sind, sendet das Skript 2 Anfragen – abwechselnd wird die eine und die zweite Zone überprüft).

Für die Zonen können Sie das Suffix %RND% verwenden, mit dem eine beliebige Zeichenfolge aus 6 Buchstaben und Zahlen generiert werden kann. (z. B.: param%RND=my_payload oder param=%RND% ODER A%RND%B)

Sie können eigene Payloads erstellen; erstellen Sie dazu einen eigenen Ordner im Ordner '/payload/', oder platzieren Sie das Payload in einem vorhandenen (z. B.: '/payload/XSS'). Erlaubtes Datenformat ist JSON.

API-Verzeichnis

API-Test-Payloads in diesem Verzeichnis erhalten automatisch den Header 'Content-Type: application/json'.

MFD-Verzeichnis

Für MFD (multipart/form-data)-Payloads in diesem Verzeichnis müssen Sie BODY (erforderlich) und BOUNDARY (optional) angeben. Wenn BOUNDARY nicht gesetzt ist, wird es automatisch generiert (in diesem Fall muss nur das Payload für BODY angegeben werden, ohne zusätzliche Daten ('... Content-Disposition: form-data; ...')).

Wenn ein BOUNDARY angegeben wird, muss der Inhalt des BODY gemäß RFC formatiert sein, dies ermöglicht jedoch mehrere Payloads im BODY, getrennt durch BOUNDARY.

Andere Zonen sind in diesem Verzeichnis erlaubt (z. B.: URL, ARGS usw.). Unabhängig von der Zone wird allen Anfragen der Header 'Content-Type: multipart/form-data; boundary=...' hinzugefügt.

Tool herunterladen
403
  • '--threads' (--threads=15) - Diese Option gibt die Anzahl paralleler Scan-Threads an (Standard ist 10).

  • '--timeout' (--timeout=10) - Diese Option gibt einen Timeout für die Verarbeitung von Anfragen in Sekunden an. (Standard ist 30).

  • '--exclude-dir' - schließt das Payload-Verzeichnis aus (--exclude-dir='SQLi,XSS')).

  • '--json-format' - Eine Option, die es ermöglicht, das Ergebnis im JSON-Format anzuzeigen (nützlich für die Integration des Tools mit Sicherheitsplattformen). Wenn die Option nicht angegeben wird, erfolgt die Ausgabe im Tabellenformat (das Standardformat).

  • '--details' - Zeigt die False-Positive- und False-Negative-Payloads an. Nicht kompatibel mit der Option --json-format.

  • '--no-progress' - Fortschrittsbalken nicht anzeigen.

  • '--curl-replay' - Zeigt den cURL-Befehl zur Reproduktion von False-Positive-, False-Negative- oder fehlgeschlagenen Anfragen an. Nicht kompatibel mit der Option --json-format.