
Ein Fuzzer zum Auffinden von Open-Redirect-Schwachstellen
🏗️ Installation
⛏️ Verwendung
📚 Abhängigkeiten

git clone https://github.com/devanshbatham/openredirex
cd openredirex
sudo chmod +x setup.sh
./setup.sh
Das Skript wird über die Befehlszeile ausgeführt und hat die folgenden Nutzungsoptionen:
openredirex [-p payloads] [-k keyword] [-c concurrency]
-p, --payloads: Datei mit einer Liste von Payloads. Falls nicht angegeben, wird eine fest codierte Liste verwendet.-k, --keyword: Schlüsselwort in URLs, das durch Payload ersetzt wird. Standard ist „FUZZ“.-c, --concurrency: Anzahl gleichzeitiger Aufgaben. Standard ist 100.Das Skript erwartet eine Liste von URLs als Eingabe. Jede URL sollte das mit der Option -k angegebene Schlüsselwort enthalten. Das Skript ersetzt das Schlüsselwort durch jede der Payloads und versucht, die modifizierte URL abzurufen.
Beispielverwendung:
cat list_of_urls.txt | openredirex -p payloads.txt -k "FUZZ" -c 50
Die Liste der URLs sollte wie folgt aussehen:
cat list_of_urls.txt
https://newsroom.example.com/logout?redirect=FUZZ
https://auth.example.com/auth/realms/sonatype/protocol/openid-connect/logout?redirect_uri=test
https://exmaple.com/php?test=baz&foo=bar
Dieses Beispiel liest URLs aus der Datei list_of_urls.txt, ersetzt alle Parameterwerte durch FUZZ (falls --keyword nicht angegeben wird), ersetzt dann erneut das Schlüsselwort FUZZ oder das angegebene Schlüsselwort mit jeder Payload aus payloads.txt und ruft jede URL gleichzeitig mit maximal 50 gleichzeitigen Aufgaben ab.
Das Skript verwendet die folgenden Bibliotheken:
argparse zum Behandeln von Befehlszeilenargumenten.aiohttp zum Durchführen von HTTP-Anfragen.tqdm zur Anzeige des Fortschritts.concurrent.futures zum Behandeln gleichzeitiger Aufgaben.asyncio zur Verwaltung asynchroner Aufgaben.Sie müssen diese Abhängigkeiten installieren, bevor Sie das Skript ausführen. Die meisten davon sind Teil der Standard-Python-Bibliothek. Sie können aiohttp und tqdm mit pip installieren:
pip install aiohttp tqdm
Sie können dieses Skript verwenden, um auf offene Weiterleitungen in Webanwendungen zu prüfen. Sie sollten es jedoch nur auf Systemen verwenden, für die Sie ausdrückliche Testgenehmigung erhalten haben.