Recentemente ho iniziato a sperimentare con Hydra per provare a decifrare la password dei miei router e sto avendo un problema.
Ecco cosa ho fatto: Il mio router utilizza l'autenticazione POST HTTP basata su modulo. Dopo aver esaminato il traffico di rete, ho notato che l'unico parametro POST inviato dal browser al momento dell'invio del modulo era "risposta" e il suo valore sembrava essere una combinazione casuale di 32 caratteri alfanumerici (non è necessario un nome utente, solo una password). Ho esaminato il codice sorgente della pagina Web dei router e ho scoperto che utilizza JavaScript per codificare la password. Unisce la password con una stringa (mi riferirò a esso come un "token") da un trattino dopo aver eseguito la password attraverso un algoritmo di hashing MD5. Il token è diverso ogni volta che provo ad accedere. Il risultato viene quindi impostato come valore per il campo modulo 'risposta'. Ho scaricato il codice JS che esegue l'hashing ed è stato in grado di replicare il processo con nodejs in modo che l'output possa essere scritto sulla console.
Fin qui tutto bene. L'unico problema è che ho bisogno di cercare il token nel codice sorgente HTML. Devo trovare un modo per fare in modo che Hydra recuperi questo token automaticamente.
In altre parole: c'è un modo per automatizzare Hydra per eseguire i seguenti passaggi prima di eseguire la richiesta POST: 1. Ottieni la pagina di accesso con una richiesta GET. 2. Trova il token. (con espressioni regolari forse?)
Se il problema non è ancora chiaro, posso spiegarlo in modo più dettagliato. Mi dispiace se mi manca qualcosa di ovvio. Sono ancora un noob: P