Posts Tagged ‘md5’

Resettare una password di drupal

Posted in Bash, Web Dev on January 8th, 2010 by ildipendente – 4 Comments

Vi è capitato di dover resettare una password di Drupal? A me sì! Non capisco perchè ma mi fischiano le orecchie…

Come Drupal memorizza le password

Spulciando nel modulo user di Drupal si può notare che fino alla versione 6 la password viene memorizzata come semplice hash md5. Questo era il mio caso.

echo -n password |md5sum

et voilà. Potete inserire il valore ottenuto nella tabella utenti.

Ps: nella versione 7 la cosa è un filo più complicata. La password viene concatenata con un salt e il tutto viene compresso iterativamente e codificato base64..


  $hash = md5($salt . $password, TRUE);
  do {
    $hash = md5($hash . $password, TRUE);
  } while (--$count);

  $output =  $setting . _password_base64_encode($hash, 16);
  // _password_base64_encode() of a 16 byte MD5 will always be 22 characters.
  return (strlen($output) == 34) ? $output : FALSE;

fico! Non avrei idea di come ricavare l’originale… Per ricalcolare la password in questo caso è necessario farsi un piccolo script di shell o php…

Resettare una password di vBulletin

Posted in Bash, Web Dev on April 29th, 2009 by ildipendente – 1 Comment

I casi sono due: o siete come il 99% delle persone che usano una password per tutto, dal cancello automatico a gmail oppure siete come me, che ha la stessa password per tutto ma ogni tanto, in uno slancio di simpatia, decide di scegliere una password un pò meno stupda del solito. Risultato: la password verrà inesorabilmente dimenticata.

Un paio di giorni fa ero davanti ad una situazione simile. Avevo installato vBulletin e configurato tutto, fatto l’importazione dei contenuti e… dimenticato la password di admin appena avevo finito.

Quando qualcun altro voleva iniziare a lavorare sul forum sono iniziati i problemi. Per fortuna resettare una password non è una cosa difficile se si ha accesso al database.

Come vBulletin memorizza le password

Spulciando un pò nella tabella user di vBulletin possiamo vedere che la colonna password non contiene la password in chiaro (troppo facile se no…) ma una cosa del tipo edf7629646355502c7dbd4d1cc7454b8. vBulletin infatti calcola un hash md5 della password stessa, concatena il risultato con un salt (indovinate dove è contenuto? Esatto, nella colonna salt) e calcola un ulteriore hash md5 della stringa risultante. Se la password è “password” e il salt è “XvT”:

md5(md5('password').'XvT')

o se preferite in bash (io uso il mac ma su linux il comando per calcolare l’hash è md5sum se non sbaglio )

neuromante:~ orso$ echo -n password | md5
5f4dcc3b5aa765d61d8327deb882cf99
neuromante:~ orso$ echo -n 5f4dcc3b5aa765d61d8327deb882cf99XvT | md5
a754fb443a1a435efb6aa361f57f0120

A questo punto vi basta inserire il risultato nel campo password ed il gioco è fatto