
Automatisiertes Tool zur Untersuchung von Massenzuweisungssicherheitslücken durch Extrahieren von Parametern aus einer HTTP-Anfrage und Anwenden auf eine andere, mit Unterstützung für benutzerdefinierte Header, Methoden, Ratenbegrenzung und verschachteltes JSON.
Mass Assigner ist ein leistungsstarkes Tool, das entwickelt wurde, um Mass Assignment-Schwachstellen in Webanwendungen zu identifizieren und auszunutzen. Dies wird erreicht, indem zunächst Daten von einer angegebenen Anfrage abgerufen werden, z. B. durch Abrufen von Benutzerprofildaten. Anschließend wird systematisch versucht, jeden aus der Antwort extrahierten Parameter einzeln auf eine bereitgestellte zweite Anfrage anzuwenden. Dieser Ansatz ermöglicht automatisierte Tests und die Ausnutzung potenzieller Mass Assignment-Schwachstellen.
Dieses Tool ändert aktiv serverseitige Daten. Bitte stellen Sie sicher, dass Sie vor der Nutzung über die entsprechende Berechtigung verfügen. Jegliche unbefugte oder illegale Nutzung dieses Tools erfolgt vollständig auf eigenes Risiko.
Anforderungen installieren
pip3 install -r requirements.txt
Skript ausführen
python3 mass_assigner.py --fetch-from "http://example.com/path-to-fetch-data" --target-req "http://example.com/path-to-probe-the-data"
Forbidden Buster akzeptiert die folgenden Argumente:
-h, --help show this help message and exit
--fetch-from FETCH_FROM
URL to fetch data from
--target-req TARGET_REQ
URL to send modified data to
-H HEADER, --header HEADER
Add a custom header. Format: 'Key: Value'
-p PROXY, --proxy PROXY
Use Proxy, Usage i.e: http://127.0.0.1:8080.
-d DATA, --data DATA Add data to the request body. JSON is supported with escaping.
--rate-limit RATE_LIMIT
Number of requests per second
--source-method SOURCE_METHOD
HTTP method for the initial request. Default is GET.
--target-method TARGET_METHOD
HTTP method for the modified request. Default is PUT.
--ignore-params IGNORE_PARAMS
Parameters to ignore during modification, separated by comma.
Beispiel:
python3 mass_assigner.py --fetch-from "http://example.com/api/v1/me" --target-req "http://example.com/api/v1/me" --header "Authorization: Bearer XXX" --proxy "http://proxy.example.com" --data '{\"param1\": \"test\", \"param2\":true}'