functions.php s’executa en moltes peticions, per tant serveix per a redireccions, usuaris ocults i injecció de scripts. També conté configuració legítima i personalitzacions. Substituir-lo sense revisar pot esborrar funcions importants i deixar intacte l’accés de l’atacant.
Conserva, compara i aïlla el bloc sospitós abans de reconstruir el tema fiable.
Registra el context del tema
Anota tema pare i fill actius, versions, font i edicions directes conegudes. Desa els directoris complets i la base abans de canviar codi.
Calcula el hash del fitxer sospitós i conserva’n la data. Revisa si l’editor, SFTP o historial de desplegament expliquen el canvi.
No obris el fitxer mitjançant una URL pública ni executis fragments copiats.
Compara amb un paquet fiable
Obté la versió exacta del tema pare des de la font oficial i compara sense connexió:
diff -ruN clean-theme/ installed-theme-copy/
Revisa cada diferència. Un tema fill ha de diferir; un tema comercial pot incloure fitxers generats o amb llicència absents d’una mostra pública.
Classifica les diferències per origen: paquet del proveïdor, tema fill, personalització aprovada o canvi inexplicat. Relaciona cada personalització amb una funció visible i un propietari. Un bloc sense responsable, especialment si va aparèixer fora d’un desplegament, ha de romandre aïllat fins a entendre’l.
No el substitueixis per una versió major diferent durant l’anàlisi: els canvis de compatibilitat ocultarien l’abast.
Identifica com s’invoca el codi
Examina hooks i condicions. S’executa sempre, només per a desconnectats, amb un referrer o dins de l’administrador?
Rastreja dominis, escriptures, canvis a la base i includes dinàmics sense executar-los. Cerca cadenes distintives a la còpia en quarantena.
El text codificat no és la troballa completa. Determina mitjançant anàlisi estàtica aïllada què faria la lògica.
Separa les personalitzacions legítimes
Llista tipus de contingut, hooks de WooCommerce, shortcodes, enqueues i integracions. Després de revisar, mou el codi propi a un tema fill o petit connector del lloc quan correspongui.
No enganxis tot el fitxer antic en un tema net: transferiries el bloc maliciós i una mala pràctica de manteniment.
Prova cada personalització amb la versió actual de WordPress i PHP.
Comprova les dependències abans de moure-la: prioritat del hook, càrrega de traduccions, classes del tema i plantilles de WooCommerce. Una migració aparentment correcta es pot executar dues vegades si el codi continua tant al tema fill com al connector nou.
Reconstrueix el tema des de fonts fiables
A staging o manteniment, elimina el directori compromès i instal·la el paquet verificat. Restaura només fitxers del tema fill revisats.
Utilitza una versió apedaçada i mantinguda després de provar compatibilitat. Un tema abandonat i infectat no és una solució duradora.
Buida memòries cau de pàgina i opcode mitjançant controls admesos. Si un worker manté bytecode antic, la sortida pot continuar infectada encara que el disc sigui net. Segueix el procediment del hosting; no reiniciïs servidors sense autorització.
Esbrina com es va modificar
Revisa administradors, contrasenyes d’aplicació, editor del tema, SFTP, panell i claus de desplegament. Cerca connectors vulnerables i webs veïnes.
Investiga cron o portes posteriors que reescriguin functions.php i monitoritza durant l’interval anterior de recurrència.
Desactivar l’editor redueix una ruta, però no protegeix credencials SFTP o de hosting robades.
Verifica frontal i negoci
Inspecciona l’HTML públic cercant l’script o redirecció anterior. Prova usuaris desconnectats, referrer, navegació, formularis, idiomes i fluxos sandbox de WooCommerce autoritzats.
Confirma que el hash es manté estable després de cron i regeneració de memòria cau.
Fes una prova amb el tema net a staging abans del canvi final i registra errors PHP i JavaScript. Després del desplegament, compara el hash servit a tots els nodes; un servidor endarrerit o artefacte antic pot tornar a publicar la còpia infectada.
Quan és més segura una neteja professional
Demana ajuda si hi ha molta personalització no documentada, el fitxer torna a canviar o toca checkout. Envia tema, versió i ubicació sospitosa com a text, mai credencials o executables.
La reparació ha de conservar el comportament legítim, reconstruir la confiança en el tema i tancar la ruta que el va modificar.