Cloudflare WAF (Web Application Firewall) acționează ca un filtru între internet și serverul dumneavoastră WordPress,…

Detectarea și eliminarea codului malițios din tema WordPress
Detectarea și eliminarea codului malițios din tema WordPress. Temele WordPress compromise sunt unul dintre cele mai comune vectori de atac, deoarece codul malițios inserat în fișierele temei se execută la fiecare încărcare a paginii și este dificil de detectat fără o examinare atentă.
Atacatorii inserează cod malițios în teme prin exploitarea vulnerabilităților, prin teme piratate descărcate din surse neoficiale sau prin backdoor-uri lăsate după o compromitere anterioară.
Detectarea și eliminarea codului malițios din tema WordPress
Codul malițios din temele WordPress poate avea diverse scopuri: redirecționarea vizitatorilor, injectarea de spam SEO, crearea de backdoor-uri pentru acces permanent, furtul de date sau transformarea serverului în parte a unei rețele de boți.
Detectarea necesită o combinație de scanare automată și verificare manuală a fișierelor temei.
Semne că tema WordPress conține cod malițios
Anumite simptome pot indica prezența codului malițios în tema activă a site-ului dumneavoastră WordPress.
- Redirecționări neașteptate către site-uri externe, mai ales pe dispozitive mobile
- Link-uri de spam sau conținut care nu a fost adăugat de dumneavoastră în codul sursă
- Încetinirea site-ului fără explicație, cauzată de cereri externe adăugate de malware
- Avertismente Google Safe Browsing sau marcare ca site periculos
- Cod JavaScript necunoscut în codul sursă al paginilor
- Modificări ale fișierelor temei la date când nu ați făcut actualizări
- Creșterea neobișnuită a traficului de ieșire din server
Localizarea fișierelor temei de verificat
Fișierele temei WordPress se găsesc în directorul wp-content/themes/. Fiecare temă conține fișiere PHP și JavaScript care sunt executate la afișarea paginilor.
# Listare fișiere temă activă
THEME=$(wp theme list --status=active --field=name --path=/var/www/wpsecurity.ro/)
ls -la /var/www/wpsecurity.ro/wp-content/themes/$THEME/
# Fișiere PHP din temă (toate pot conține cod malițios)
find /var/www/wpsecurity.ro/wp-content/themes/$THEME/ -name "*.php" -type f
# Fișiere modificate recent (ultimele 30 zile)
find /var/www/wpsecurity.ro/wp-content/themes/$THEME/ -name "*.php" -mtime -30 -ls
# Fișiere cu dimensiuni neobișnuit de mari
find /var/www/wpsecurity.ro/wp-content/themes/$THEME/ -name "*.php" -size +100k -ls- functions.php este cel mai vizat fișier deoarece este executat la fiecare cerere
- header.php și footer.php sunt ținte frecvente pentru inserarea de scripturi malițioase
- Fișierele cu nume neobișnuite (class-wp.php, db-config.php) pot fi backdoor-uri adăugate
- Verificați și fișierele .js și .css care pot conține cod JavaScript malițios
Scanarea manuală pentru tipare malițioase
Codul malițios folosește tehnici specifice de ofuscare pentru a evita detectarea. Cunoașterea acestor tipare vă ajută la identificare rapidă.
# Căutare funcții de ofuscare în fișierele temei
THEME_PATH="/var/www/wpsecurity.ro/wp-content/themes/$THEME"
# eval() cu base64_decode - cea mai comună ofuscare
grep -rn "eval(base64_decode" $THEME_PATH/
grep -rn "eval(gzinflate" $THEME_PATH/
grep -rn "eval(gzuncompress" $THEME_PATH/
grep -rn "eval(str_rot13" $THEME_PATH/
# Funcții de execuție sistem
grep -rn "exec(" $THEME_PATH/ | grep -v ".min."
grep -rn "shell_exec" $THEME_PATH/
grep -rn "system(" $THEME_PATH/
grep -rn "passthru" $THEME_PATH/
grep -rn "proc_open" $THEME_PATH/
# Backdoor-uri comune
grep -rn "$_GET[" $THEME_PATH/ | grep -i "eval|exec|system"
grep -rn "$_POST[" $THEME_PATH/ | grep -i "eval|exec|system"
grep -rn "$_REQUEST[" $THEME_PATH/ | grep -i "eval|exec|system"
grep -rn "file_put_contents" $THEME_PATH/
grep -rn "file_get_contents.*http" $THEME_PATH/
# Cod codificat suspect (linii lungi de caractere)
awk 'length > 500' $THEME_PATH/*.php
# Caractere Unicode ascunse (pot masca cod malițios)
grep -rP "[x80-xff]" $THEME_PATH/*.php | head -20- Combinația eval() + base64_decode() este semnătura clasică a codului malițios WordPress
- Funcțiile system(), exec(), passthru() nu au ce căuta în fișierele unei teme
- Liniile de cod mai lungi de 500 de caractere sunt frecvent cod ofuscat
- Variabilele $_GET sau $_POST folosite direct în eval() sunt backdoor-uri definite
Compararea cu versiunea originală a temei
Cea mai fiabilă metodă de detectare este compararea fișier cu fișier între tema instalată și versiunea originală descărcată de la dezvoltator.
# Descărcare versiunea originală a temei (exemplu tema din repository WordPress.org)
wp theme install tema-originala --version=1.0 --path=/tmp/wp-clean/ --force
# Comparare fișiere
diff -rq /var/www/wpsecurity.ro/wp-content/themes/tema/ /tmp/wp-clean/wp-content/themes/tema/
# Comparare detaliată a fișierelor diferite
diff /var/www/wpsecurity.ro/wp-content/themes/tema/functions.php /tmp/wp-clean/wp-content/themes/tema/functions.php
# Alternativ, verificare checksum cu WP-CLI
wp core verify-checksums --path=/var/www/wpsecurity.ro/
# Calcul hash-uri pentru toate fișierele temei
find $THEME_PATH -name "*.php" -exec sha256sum {} ; > /tmp/theme_hashes_current.txt- Orice diferență față de versiunea originală trebuie investigată manual
- Adăugările la începutul sau sfârșitul fișierelor sunt cele mai suspecte
- Verificați inclusiv fișierele care nu ar trebui să existe în versiunea originală
- Temele premium necesită descărcarea de la sursa oficială pentru comparare
Eliminarea codului malițios
După identificarea codului malițios, procedura de eliminare trebuie să fie sistematică și completă pentru a evita reinfectarea.
# Pasul 1: Backup complet înainte de curățare
tar -czf /home/user/compromised_theme_$(date +%Y%m%d).tar.gz $THEME_PATH/
# Pasul 2: Opțiunea recomandată - înlocuire completă cu versiunea curată
rm -rf $THEME_PATH/
# Reinstalare din sursa oficială
wp theme install tema --activate --path=/var/www/wpsecurity.ro/
# Pasul 3: Dacă tema este personalizată, curățare manuală
# Eliminați liniile malițioase identificate
# Verificați fiecare fișier PHP individual
# Pasul 4: Verificare post-curățare
grep -rn "eval(base64_decode|shell_exec|system(|passthru|exec(" $THEME_PATH/
# Pasul 5: Schimbare chei de securitate WordPress
wp config shuffle-salts --path=/var/www/wpsecurity.ro/
# Pasul 6: Schimbare toate parolele
wp user update 1 --user_pass="PAROLA_NOUA_COMPLEXA" --path=/var/www/wpsecurity.ro/- Păstrați întotdeauna o copie a fișierelor compromise pentru investigare ulterioară
- Înlocuirea completă a temei este mai sigură decât curățarea manuală
- Verificați și celelalte teme instalate (chiar dacă sunt inactive) pentru cod malițios
- Schimbați toate parolele: WordPress, FTP, baza de date, cPanel
- Actualizați WordPress, toate plugin-urile și temele la cele mai recente versiuni
- Schimbați cheile de securitate din wp-config.php pentru a invalida sesiunile active
Prevenirea reinfectării
După curățare, implementați măsuri preventive pentru a evita o nouă compromitere.
- Niciodată nu descărcați teme din surse neoficiale sau piratate
- Actualizați tema la fiecare versiune nouă disponibilă
- Implementați un sistem de monitorizare a integrității fișierelor
- Folosiți un firewall WAF care blochează tentativele de exploatare
- Dezactivați editorul de fișiere din wp-admin (DISALLOW_FILE_EDIT)
- Setați permisiunile corecte pe fișierele temei (644) și directoare (755)
- Verificați periodic fișierele temei pentru modificări neautorizate
# Setare permisiuni corecte după curățare
find $THEME_PATH -type d -exec chmod 755 {} ;
find $THEME_PATH -type f -exec chmod 644 {} ;
# Protecție suplimentară: atribut immutable pe fișierele critice ale temei
# (dezactivați temporar la actualizări)
sudo chattr +i $THEME_PATH/functions.php
sudo chattr +i $THEME_PATH/header.php
sudo chattr +i $THEME_PATH/footer.phpDetectarea și eliminarea codului malițios din temele WordPress necesită atenție la detalii și proceduri sistematice. Vizitați secțiunea de securitate cibernetică pentru instrumente de scanare sau blogul nostru. Echipa WPSecurity oferă servicii speciale de curățare malware, contactați-ne pentru intervenție rapidă.
Despre autor
Dorel Tănase este specialist în optimizarea site-urilor pentru motoarele de căutare. Lucrează în online din 1997 și în SEO din 2007, iar activitatea se desfășoară prin GO SEO MARKETING S.R.L. din Alba Iulia. Se ocupă de audit tehnic, arhitectura site-urilor, conținut și construirea legăturilor.