An adversary utilizes a hash function extension/padding weakness, to modify the parameters passed to the web service requesting authentication by generating their own call in order to generate a legitimate signature hash (as described in the notes), without knowledge of the secret token sometimes provided by the web service.
Description
Attack Execution Flow
Step 1
Explore[Find a vulnerable web service] The adversary finds a web service that uses a vulnerable authentication scheme, where an authentication token is concatenated with the parameters of a request and then hashed
Read application documentation to learn about authentication schemes being used
Observe web service traffic to look for vulnerable authentication schemes
[Trova un servizio web vulnerabile] L'avversario individua un servizio web che utilizza uno schema di autenticazione vulnerabile, in cui un token di autenticazione viene concatenato con i parametri di una richiesta e poi sottoposto a hash
Leggi la documentazione dell'applicazione per conoscere gli schemi di autenticazione in uso
Osserva il traffico del servizio web per individuare schemi di autenticazione vulnerabili
Attack Techniques
-
Read application documentation to learn about authentication schemes being used
-
Observe web service traffic to look for vulnerable authentication schemesIT: Leggi la documentazione dell'applicazione per conoscere gli schemi di autenticazione utilizzati
Step 2
Experiment[Attempt adding padding to parameters] An adversary tests if they can simply add padding to the parameters of a request such that the request is technically changed, with the hash remaining the same
Exploit the hash function extension / padding weakness with only padding to test the weakness
[Tentativo di aggiunta di padding ai parametri] Un avversario verifica se può semplicemente aggiungere padding ai parametri di una richiesta in modo che la richiesta venga tecnicamente modificata, mantenendo invariato l'hash
Sfruttare la vulnerabilità dell'estensione / padding della funzione hash con solo padding per testare la debolezza
Attack Techniques
-
Exploit the hash function extension / padding weakness with only padding to test the weakness
Step 3
Exploit[Add malicious parameters to request] Add malicious parameters to a captured request in addition to what is already present. Do this by exploiting the padding weakness of the hash function and send the request to the web service so that it believes it is authenticated and acts on the extra parameters.
Exploit the hash function extension / padding weakness by adding malicious parameters to a web service request such that it is still deemed authentic
[Aggiungi parametri dannosi alla richiesta] Aggiungi parametri dannosi a una richiesta catturata oltre a quelli già presenti. Fai ciò sfruttando la vulnerabilità di padding della funzione hash e invia la richiesta al servizio web in modo che esso creda che sia autenticata e agisca in base ai parametri aggiuntivi.
Sfrutta la vulnerabilità di estensione/padding della funzione hash aggiungendo parametri dannosi a una richiesta al servizio web affinché venga ancora considerata autentica
Attack Techniques
-
Exploit the hash function extension / padding weakness by adding malicious parameters to a web service request such that it is still deemed authentic
Mitigations
Design: Use A Secure Message Authentication Code (Mac) Function Such As An Hmac-Sha1
Consequences
Consequence Information
{'impacts': [], 'impacts_translate': [], 'scopes': [], 'scopes_translate': []}