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 dixxx
: quandosha1(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?