Fondamentalmente, devi specificare due cose:
- Dove vengono inseriti nome utente e password
- Come determinare il successo / l'insuccesso della richiesta.
Il primo è compiuto con token come ^USER^
e ^PASS^
nell'URL in cui devono essere sostituiti dai nomi utente e dalle password in prova. Il secondo viene eseguito da hydra mediante la corrispondenza delle stringhe con la pagina restituita. Puoi testare una condizione di errore, come "password errata" o una condizione di successo, come "loggato".
Ecco un esempio:
hydra 127.0.0.1 http-form-get '/test/login.php?username=^USER^&password=^PASS^:Bad password'
Puoi anche verificare se un cookie viene impostato con C=cookie_name
o un'intestazione HTTP con H=header_name
al posto di "Password errata" per la condizione di test per un accesso riuscito.
Nel caso in cui il modulo di login usi POST, piuttosto che GET, (come fanno molti) dovresti usare il "protocollo" di http-form-post. Dovrai inoltre utilizzare :
per separare l'URL e i parametri POST, anziché il ?
in una stringa di query. Esistono anche variazioni https, che sono (non sorprendentemente) prefissate con https-
, anziché http-
.