
WAFNinja ist ein Tool, das zwei Funktionen zum Angriff auf Web Application Firewalls enthält.
WAFNinja – Der Favorit von Penetrationstestern für WAF-Bypassing
WAFNinja ist ein CLI-Tool, das in Python geschrieben wurde. Es soll Penetrationstestern helfen, eine WAF zu umgehen, indem es die notwendigen Schritte zur Umgehung der Eingabevalidierung automatisiert. Das Tool wurde mit dem Ziel entwickelt, einfach erweiterbar, unkompliziert und in einer Teamumgebung nutzbar zu sein. Viele Payloads und Fuzzing-Strings, die in einer lokalen Datenbankdatei gespeichert sind, werden mit dem Tool ausgeliefert. WAFNinja unterstützt HTTP-Verbindungen, GET- und POST-Anfragen sowie die Verwendung von Cookies, um Seiten zu erreichen, die für authentifizierte Benutzer eingeschränkt sind. Außerdem kann ein Intercepting-Proxy eingerichtet werden.
Installation:
git clone https://github.com/khalilbijjou/WAFNinja && cd WAFNinja
pip install -r requirements.txt
Verwendung:
wafninja.py [-h] [-v] {fuzz, bypass, insert-fuzz, insert-bypass, set-db} ...
BEISPIEL:
fuzz:
python wafninja.py fuzz -u "http://www.target.com/index.php?id=FUZZ"
-c "phpsessid=value" -t xss -o output.html
bypass:
python wafninja.py bypass -u "http://www.target.com/index.php" -p "Name=PAYLOAD&Submit=Submit"
-c "phpsessid=value" -t xss -o output.html
insert-fuzz:
python wafninja.py insert-fuzz -i select -e select -t sql
Positionsargumente: {fuzz, bypass, insert-fuzz, insert-bypass, set-db}
Welche Funktion möchten Sie verwenden?
fuzz Überprüft, welche Symbole und Schlüsselwörter von der WAF erlaubt werden.
bypass Sendet Payloads aus der Datenbank an das Ziel.
insert-fuzz Fügt einen Fuzzing-String hinzu
insert-bypass Fügt einen Payload zur Bypass-Liste hinzu
set-db Verwendet eine andere Datenbankdatei. Nützlich, um dieselbe Datenbank mit anderen zu teilen.
optionale Argumente:
-h, --help zeigt diese Hilfemeldung an und beendet das Programm
-v, --version zeigt die Versionsnummer des Programms an und beendet das Programm
Ich freue mich über jedes Feedback! Beste Grüße, Khalil.