Joomla 1.5 - Hacking Reset password di amministrazione
Web, Php, Sicurezza Agosto 14th, 2008Per curiosità mi sono imbattutto su un sito che avevo “configurato” qualche tempo fa con Joomla 1.5, dopo qualche secondo di incredulità, ho realizzato che qualcuno aveva trovato una grave falla di sicurezza in Joomla.
La HomePage si presenteva tutta bianca con scritto : SITO OFFLINE - Hacking by XXXXXXX (xxxx perchè non vorrei fare pubblicità a nessuno :)).
Google questa volta non mi aiuta molto, allora vado diretto sul sito ufficiale Joomla Italia, e mi accorgo che anche loro sono stati “fregati”… che fare?
Fortunatamente il blog dedicato alla sicurezza di Joomla mi viene in aiuto: scopro che tutte le versioni di Joomla precedenti alla 1.5.5 (ndr tutte) hanno una falla di sicurezza Critical.
1. Come risolverla?
Ci sono 2 soluzioni:
- Effettuare l’upgrade a Joomla 1.5.6
- Modifcare il file reset.php aggiungendo un piccolo if in PHP
file : /components/com_user/models/reset.php
Alla riga 113, dopo la dichiarazione della variabile globale $mainframe aggiungere:if(strlen($token) != 32) {
$this->setError(JText::_(’INVALID_TOKEN’));
return false;
}
2. In cosa consiste la falla di sicurezza?
In pratica, grazie ad un meccanismo di reset della password, tramite un Token (la cui lunghezza non era controllata lato server) era possibile resettare la password dell’utente con id più basso sul database , che generalmente (per non dire sempre) risulta essere l’amministratore del sito.
L’attaccante una volta modificata la password non poteva entrare, in quanto non era a conoscenza dell’username, ma con qualche tentativo fortuito nella maggiorparte dei casi riusiva lo stesso ad effettuare il login (ndr admin, administrator, superuser…etc)
Fortunatamente nel mio caso XXXXXXX si è limitato a mettere il sito offline, modificando il nome del sito in “Hacking by XXXXXXX”
3. Come ripristinare la password dell’amministratore?
Joomla consiglia questo tutorial più completo, ma personalmente mi sono limitato a generare una nuova stringa in MD5 tramite uno dei tanti tool online (es. questo) e memorizzarla all’interno del campo “PASSWORD” della tabella “JOS_USERS” del database di Joomla.
Febbraio 23rd, 2009 at 18:17
[…] su google per domandare se conosce qualcuno che mi può aiutare…. ??? si evvai ecco il link ( ha anche il mio stesso template). Ripristino la password ma ho ancora il problema […]