
Strumento automatizzato per sondare le vulnerabilità di mass assignment estraendo parametri da una richiesta HTTP e applicandoli a un'altra, con supporto per header personalizzati, metodi, limitazione della frequenza e JSON annidato.
Mass Assigner è un potente strumento progettato per identificare e sfruttare le vulnerabilità di mass assignment nelle applicazioni web. Raggiunge questo obiettivo recuperando prima i dati da una richiesta specificata, ad esempio ottenendo i dati del profilo utente. Successivamente, tenta sistematicamente di applicare ciascun parametro estratto dalla risposta a una seconda richiesta fornita, un parametro alla volta. Questo approccio consente il test e lo sfruttamento automatizzati di potenziali vulnerabilità di mass assignment.
Questo strumento modifica attivamente i dati lato server. Assicurati di avere la dovuta autorizzazione prima dell'uso. Qualsiasi attività non autorizzata o illegale utilizzando questo strumento è interamente a tuo rischio.
Installa i requisiti
pip3 install -r requirements.txt
Esegui lo script
python3 mass_assigner.py --fetch-from "http://example.com/path-to-fetch-data" --target-req "http://example.com/path-to-probe-the-data"
Mass Assigner accetta i seguenti argomenti:
-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.
Esempio di utilizzo:
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}'