← Blog de seguridad

PrestaShop · 12 min de lectura

PrestaShop comprometido: cómo detectar botones de pago falsos y scripts maliciosos

Aprende a detectar y neutralizar botones de pago falsos y scripts maliciosos en PrestaShop. Pasos prácticos para detección, respuesta y prevención.

06 noviembre 2026•Securantis•Actualizado el 06 noviembre 2026
Escritorio con portátil mostrando código y una página de pago, manos tecleando.

Por qué los botones falsos y los scripts maliciosos son una amenaza

Los botones de pago falsos y los scripts maliciosos en el lado del cliente rompen la confianza entre la tienda y sus clientes. En lugar de atacar el servidor, los atacantes inyectan código en las páginas o templates para que los datos de pago lleguen a un endpoint controlado por ellos. Esto puede derivar en el robo de tarjetas, transacciones fraudulentas y daño reputacional.

En PrestaShop el riesgo aumenta con módulos de terceros y plantillas Smarty, que ejecutan código en el front-end y pueden ser aprovechados para inyectar HTML o JavaScript. WooCommerce y WordPress enfrentan riesgos similares, pero difieren en la estructura de ficheros y puntos de integración.

Indicadores visibles de manipulación

Un botón falso rara vez es idéntico al original. Busca variaciones en el texto o el estilo, redirecciones inesperadas al hacer clic o una ventana modal que no coincide con la interfaz de tu proveedor de pagos (Stripe, PayPal, Redsys, etc.). Los scripts maliciosos suelen provocar comportamientos extraños: formularios que se envían solos, campos que se borran tras escribir o recursos externos cargados desde dominios desconocidos.

Verifica siempre el comportamiento de red: si el pago hace una POST a un dominio desconocido o aparecen peticiones a hosts no relacionados con tu procesador de pagos, trátalo como sospechoso. Iframes inyectados y scripts añadidos dinámicamente son señales claras de compromiso.

Inspección client-side con las herramientas del navegador

Las herramientas de desarrollo del navegador son indispensables. En la pestaña Network observa las peticiones al cargar la página y durante el proceso de compra. Identifica POSTs a URLs desconocidas y scripts cargados desde dominios de terceros. La pestaña Sources permite revisar el JavaScript ejecutado: busca funciones anónimas que interceptan envíos de formularios, llamadas a fetch() o XMLHttpRequest hacia hosts no aprobados y cadenas largas en base64 que sugieran payloads codificados.

El inspector DOM ayuda a localizar botones o iframes insertados dinámicamente. Compara el HTML con una copia limpia si la tienes. En PrestaShop, las diferencias en el markup suelen indicar qué módulo o template ha sido modificado.

Comprobaciones en el servidor: ficheros y módulos a revisar

En el servidor lista los ficheros modificados recientemente en el documento raíz. En hosts Linux comandos como find . -type f -mtime -n destacan archivos alterados. Revisa especialmente themes/, modules/, override/ y los controladores frontales. La modificación directa de archivos es un vector común cuando las credenciales han sido comprometidas.

Desde el back office de PrestaShop revisa los módulos instalados y desactiva o elimina los que sean desconocidos u obsoletos. Los módulos que actúan en el front-end pueden inyectar scripts; audita su PHP buscando llamadas externas, cadenas codificadas o include vía URL.

Buscar puertas traseras y scripts ocultos

Los atacantes suelen dejar puertas traseras para volver. Busca archivos PHP que usen eval(), base64_decode(), preg_replace() con /e/, create_function() o include hacia rutas extrañas. Los nombres de archivo pueden engañar (por ejemplo css.php o jquery.php). Usa grep para localizar patrones sospechosos: grep -R "base64_decode" .

No elimines archivos sin criterio. Archiva los ficheros sospechosos para análisis offline. Si no está claro el alcance de la intrusión, pon el sitio en mantenimiento y crea una copia completa para análisis forense profesional. Revisa también la base de datos por HTML inyectado o hooks maliciosos en tablas de configuración.

Verificar integraciones de pago y webhooks

Los flujos de pago falsos imitan a proveedores legítimos. Comprueba que las claves API y endpoints de webhook en PrestaShop apunten a dominios oficiales. Revisa los logs del proveedor de pagos para detectar llamadas no autorizadas. Para Stripe, PayPal o Redsys, asegúrate de validar callbacks mediante firmas o certificados.

Si sospechas que los webhooks han sido comprometidos, revoca y regenera claves y secretos inmediatamente y limita endpoints por IP o validación firmada.

Medidas inmediatas tras la detección

La prioridad es detener fugas y proteger a los clientes. Pon la tienda en modo mantenimiento y muestra un aviso claro de que se está investigando. Cambia inmediatamente contraseñas de cuentas admin, FTP/SFTP, base de datos y panel de hosting. Elimina cuentas innecesarias o sospechosas.

Haz una copia completa de archivos y base de datos antes de cualquier modificación; conserva logs (access.log, error.log) para la forense. Si es posible, revoca y regenera credenciales API de los proveedores de pago.

Limpieza segura y restauración

Si dispones de una copia limpia reciente, restaurar suele ser la opción más segura. Tras restaurar, actualiza PrestaShop, módulos y temas. Si no puedes restaurar, limpia manualmente: elimina archivos sospechosos, reinstala módulos desde fuentes fiables y aplica parches.

Tras la limpieza realiza comprobaciones exhaustivas: escanea el servidor con antivirus, prueba los flujos de compra en un entorno aislado y considera una revisión forense profesional si el ataque fue sofisticado. Conserva documentación de los pasos realizados para notificaciones.

Prevención a largo plazo: actualizaciones, backups y principio de menor privilegio

La prevención depende de procesos. Mantén al día PrestaShop, temas y módulos. Evita instalar módulos de fuentes no verificadas. Automatiza backups fuera del sitio, conserva versiones múltiples y prueba restauraciones con regularidad.

Aplica el principio de menor privilegio: concede permisos mínimos a cuentas FTP y administradores, usa SFTP/SSH en lugar de FTP y habilita autenticación de dos factores para accesos críticos. Limita el acceso al back office mediante whitelist de IP cuando sea posible.

Monitorización continua y detección

Implementa monitorización de integridad de archivos y alertas sobre cambios inesperados. Habilita registros detallados y usa herramientas que analicen peticiones HTTP para detectar intentos de inyección. Para PrestaShop, valora servicios que monitoricen cambios en templates y posibles inyecciones en el cliente.

Vigila también métricas de negocio: picos de tráfico inusuales, tasas de conversión anómalas o quejas de clientes sobre pagos sospechosos pueden ser señales tempranas de compromiso.

Cuándo contratar a un profesional y cómo notificar a clientes

Para tiendas online, es aconsejable contratar especialistas cuando la magnitud de la intrusión supera las capacidades internas. Un profesional podrá realizar análisis forense, determinar la cronología del ataque y guiar la remediación sin destruir evidencias.

Si se han expuesto datos de clientes, notifícalo a los afectados y a las autoridades competentes según la normativa aplicable (por ejemplo GDPR en Europa). Ofrece información clara sobre lo ocurrido, las acciones tomadas y las protecciones ofrecidas (monitorización, consejos para cambiar contraseñas, etc.).

Conclusión: prioridades y siguientes pasos

Detectar un botón de pago falso o un script malicioso requiere inspección tanto en el cliente como en el servidor: usa herramientas del navegador para identificar llamadas de red y cambios DOM sospechosos, y analiza ficheros y módulos en el servidor buscando puertas traseras. La contención inmediata—modo mantenimiento, rotación de credenciales y preservación de logs—es esencial para limitar los daños.

A largo plazo, construye procesos robustos: actualizaciones regulares, backups probados, principio de menor privilegio y monitorización continua. Si no tienes recursos internos, contrata especialistas y comunica con transparencia a los clientes afectados. Herramientas y servicios como Securantis pueden ayudar en la monitorización y recuperación, aunque ninguna solución garantiza seguridad absoluta.