Scanarea bazei de date pentru date malițioase
După ce site-ul unui prieten a fost hackuit, i-am sugerat să curețe totul și să o ia de la zero pentru a se asigura că niciun fișier nu a fost alterat.
Aș putea să-i scanez site-ul folosind unelte precum grep și altele similare (Pentru început: Grep și utilitarele asociate) dar m-am întrebat cum să scanez baza de date? Ce se întâmplă dacă un hacker a plasat payload-uri în baza de date? Poate fi ceva simplu precum XSS sau chiar cod PHP în cazul în care există încă evaluări de cod (eval) în core (sau existau la momentul atacului).
Aveți sugestii? M-am gândit să folosesc interogări SQL cu funcția de comparație LIKE sau chiar să folosesc REGEX dacă este posibil. Dar poate cineva a făcut deja acest lucru sau dorește să-l facă și are idei de împărtășit.

Am citit că descărcarea bazei de date ca text și căutarea în ea este o metodă bună. Poți căuta cu phpmyadmin, dar este limitat. Depinde de dimensiunea bazei de date și de un editor de text bun, dar poți șterge reviziile de postări/pagini înainte de a descărca baza de date pentru a reduce dimensiunea. Sau poți descărca câteva tabele o dată.

Ștergerea reviziilor înainte de scanare pare a fi o strategie bună pentru mine. O să îl întreb pe prieten dacă mai are nevoie de ele sau nu. Ai vreo sfaturi pentru șirurile de căutare efective? Dar înainte să întreb, cred că ar trebui să fac singur temele și să caut pe Google vulnerabilități cunoscute, probabil chiar am link-uri către unele pe blogul meu.

Aș căuta șirurile obișnuite eval(base64_decode
. Și dacă vezi link-uri de spam în sursa site-ului, caută acele link-uri. http://sucuri.net/ ține evidența șirurilor malware legate de WordPress

Site-urile mele de pe un singur cont au fost infectate cu un script Decode_Base64 care a infectat multe fișiere php, și în ciuda curățării unui site care a durat ore întregi, acesta a fost reinfectat la doar câteva ore distanță.
Am ajuns să descarc folderul wp-content/uploads și orice alte fișiere actualizate manual folosind o conexiune ftp securizată.
De asemenea, am luat notițe/backup-uri pentru teme, plugin-uri și alte personalizări pe care ar fi trebuit să le reaplic.
Apoi am schimbat toate parolele de cont/ftp, am schimbat manual parolele pentru bazele de date/utilizatori folosind phpMyAdmin, pentru a refuza accesul atunci când site-urile au revenit online.
În continuare, am șters TOATĂ codul Wordpress de la TOATE site-urile și am încărcat în schimb un simplu fișier index.html care anunța că site-urile sunt în mentenanță.
Am verificat folder-ele WP-content/uploads pentru orice ce nu era o imagine sau conținut propriu, în special căutând script-uri (care nu ar trebui să fie acolo).
Următorul pas: descărcați cea mai recentă versiune de WP, configurați-o pentru baza de date existentă cu o nouă parolă, și încărcați-o pe server.
Accesați site-ul, care în acest moment va avea doar Akismet activ. Verificați și ștergeți orice nu ar trebui să fie acolo (pagini, articole, link-uri etc).
Instalați un plugin de backup pentru a vă asigura că aveți backup-uri ale bazei de date/folderelor.
Instalați plugin-ul Bulletproof-Security (sau similar) care creează fișiere .htaccess securizate și vă spune cum să securizați fișierele/folderele. Respectați recomandările acestuia.
În final, aplicați din nou treptat personalizările dumneavoastră.
Dacă aveți mai multe domenii, repetați procesul după necesitate.
În situația mea, plănuiam de fapt să migrez pe un nou host, așa că după ce am făcut acest lucru, am salvat totul site cu site și le-am recreat pe noul host, odată ce m-am asigurat că versiunea reconstruită veche era curată.
Mult succes și sper că acest ghid vă este de folos.
