Redirección condicional a spam
Síntoma
Tú abres tu tienda y está perfecta. Pero tus clientes te dicen que al entrar desde Google acaban en una página de pastillas, casinos o réplicas. O lo ves solo desde el móvil. O no ves nada raro y simplemente las ventas han caído en picado sin explicación.
Qué está pasando de verdad
El código malicioso no redirige a todo el mundo: comprueba de dónde vienes. Si llegas escribiendo la URL o estás logueado como administrador, te sirve la web normal. Si vienes de una búsqueda de Google o desde un móvil, te manda al spam. Está diseñado exactamente para que el dueño no lo vea.
Por eso casi siempre se descubre tarde: por un aviso de Search Console, por un cliente que se queja, o por la caída de tráfico. Mientras tanto Google ya ha empezado a indexar las páginas de spam bajo tu dominio.
Dónde se esconde
- Inyección en la base de datos, no en los archivos: en WooCommerce, registros de
wp_optionscon nombres inocuos y JavaScript ofuscado enwp_posts. - Inyección en la base de datos, no en los archivos: en PrestaShop, valores modificados en
ps_configurationy en el contenido de las páginas CMS. - Reglas de reescritura en
.htaccess, a veces al final del archivo tras cientos de líneas en blanco para que no se vean al abrirlo. - Código inyectado en el
header.phpo elfooter.phpdel tema. - Código inyectado en las plantillas del tema o en un módulo aparentemente legítimo.
- Carga remota desde un dominio que imita a un CDN o a un servicio de analítica.
Por qué el plugin no lo encuentra
Un escáner que se ejecuta desde dentro de tu web se identifica como visitante directo, así que el malware se comporta bien delante de él. Y si la inyección está en la base de datos y no en un archivo, la mayoría de escáneres de integridad de ficheros ni la miran.
Qué hacemos
Reproducimos el comportamiento del atacante: peticiones simulando referrer de Google y user-agent móvil, desde fuera del servidor. Ahí aparece la redirección. Luego rastreamos la cadena hasta el origen —base de datos, .htaccess o tema— y limpiamos los tres frentes, porque casi nunca es solo uno.