Sfida: come trovare la chiave segreta in MAC homebrew / hash con chiave: sha1 (chiave + cookie)?

3

Sto cercando di risolvere una sfida di sicurezza su un sito web.

Fondamentalmente, il sito web calcola sha1(key + cookie) per firmare un cookie in modo che l'utente non possa cambiarlo da solo, e per raggiungere l'obiettivo devi trovare il valore key .

Ho due idee (non molto buone) per trovare il valore della chiave segreta:

  • 1: online (troppo lento) prova tutte le combinazioni dell'hash di autenticazione con un cookie vuoto (0 byte): in questo modo il sito web calcolerà solo sha1(key) e smetterà di visualizzare un errore quando trovo il valore corretto della chiave segreta.
  • 2: Offline (ancora molto lento ma migliore poiché non hai bisogno di richieste di rete) vai sul sito web e ottieni {cookie, cookie_hash}. Prova ad hash xxx + cookie per ogni possibile valore di xxx : quando sha1(xxx + cookie) == cookie_hash , so che xxx == chiave segreta.

Il fatto è che, come hai notato, anche il secondo metodo è forzante brutale e quindi molto lento.

Pensi che ci sia un metodo più veloce?

    
posta christophetd 21.09.2015 - 12:05
fonte

1 risposta

3

and to accomplish the goal you have to find the key value.

Hai veramente bisogno di recuperare la chiave per raggiungere l'obiettivo?

Lo schema che hai descritto è vulnerabile al classico attacco di estensione della lunghezza in cui una funzione di hash viene usata impropriamente come autenticazione di un messaggio codice. L'attacco è descritto molto bene nell'articolo di Wikepedia, quindi eviterò di replicare qui l'esempio.

Con l'attacco dell'estensione di lunghezza, puoi generare una firma valida senza conoscere il valore effettivo della chiave, che è presumibilmente sufficiente per risolvere la sfida.

    
risposta data 21.09.2015 - 16:06
fonte

Leggi altre domande sui tag