TL;DR: secuestro del recorrido del jugador
- Los redireccionamientos inyectados por scripts desvían a los jugadores antes de que lleguen al lobby. El ataque se dispara desde JavaScript que se ejecuta en el browser tras la carga de la página, invisible para todas las herramientas de monitorización del lado del servidor y de red que tiene el operador.
- Las etiquetas de seguimiento de afiliados son el vector de entrega más común. Se ejecutan en cada página clave, rara vez se someten a revisión de seguridad, y un payload comprometido sobrescribe la atribución de captación o redirige al jugador por completo.
- La capa de detección que detecta esto vive en el runtime del browser. cside instrumenta JavaScript directamente, marcando la primera vez que cualquier script escribe en
window.locationo abre una URL no autorizada en una sesión real de un visitante.
¿Poco tiempo? Consulta el bloqueo de Magecart y skimmers en el navegador de cside. Cubre todo lo de abajo en un solo despliegue.
Los operadores de casino en línea invierten grandes sumas para captar jugadores a través de afiliados, búsqueda de pago y campañas de influencers. Pero una categoría creciente de ataques en la capa del browser está desviando a esos jugadores antes de que lleguen al lobby. En el primer trimestre de 2025, cside detectó más de 300.000 señales de ataque en sitios monitorizados, muchas de ellas eventos de clase redirección desencadenados por JavaScript inyectado que se ejecuta silenciosamente dentro del browser. La superficie de ataque es el JavaScript que se ejecuta en los browsers de sus jugadores después de cada carga de página, no su infraestructura de servidor. Al trabajar con operadores de juego multimarca, he visto este patrón de ataque aparecer repetidamente en entornos donde el equipo de seguridad no tenía idea de que se estaba produciendo una redirección, porque cada herramienta que tenían estaba mirando la capa incorrecta.
Qué es el secuestro del recorrido del cliente
El secuestro del recorrido del cliente es un ataque en la capa del browser en el que scripts maliciosos, inyectados a través de proveedores externos, extensiones del browser o compromisos en la cadena de suministro, redirigen a los usuarios fuera del sitio durante el checkout, insertan códigos de afiliado no autorizados o sustituyen las recomendaciones de productos por ofertas de la competencia. A diferencia de los ataques del lado del servidor, el secuestro del recorrido ocurre por completo en el browser del usuario y es invisible para los registros del servidor. Eso lo convierte en un punto ciego persistente para la monitorización de seguridad tradicional.
En el juego online, la matemática financiera es contundente. Un jugador desviado antes del registro le cuesta al operador todo el valor de vida de la captación. Los scripts de seguimiento de afiliados son el vector de entrega más común: ya se ejecutan en el browser en cada página clave, y rara vez se someten a una revisión de seguridad más allá de confirmar que el proveedor es de confianza.
El término paraguas abarca varias formas de ataque. Los redireccionamientos inyectados por scripts son los más directos: JavaScript que dispara window.location.replace() para enviar al jugador a la competencia. El fraude de afiliados es una variante más sutil en la que el jugador permanece en tu plataforma, pero un script inyectado sobrescribe el parámetro de afiliado para que la comisión se pague a una cuenta controlada por el atacante en lugar de al partner que generó el tráfico. Ambos ataques usan el mismo mecanismo de entrega. Solo el destino difiere.
Cómo se ven los ataques de redirección inyectados por scripts
Respuesta rápida: Los redireccionamientos inyectados por scripts funcionan insertando un pequeño payload de JavaScript en un recurso de terceros de confianza (como una etiqueta de afiliado, una biblioteca de análisis o un tag manager) que se ejecuta en el browser del jugador tras la carga de la página. El script intercepta el recorrido del jugador usando API nativas del browser y lo envía a un sitio de la competencia o a un destino fraudulento, de forma completamente invisible para la monitorización del lado del servidor.
Los ataques de redirección que aprovechan JavaScript inyectado no son teóricos. La divulgación de Sansec del compromiso de la cadena de suministro de Polyfill.js en junio de 2024 mostró a más de 490.000 sitios web sirviendo código malicioso desde una única biblioteca alojada en CDN que había sido vendida a un actor de amenazas. Para las plataformas de juego, la mecánica sigue una anatomía predecible.
El atacante o bien compromete un script en el que su sitio ya confía, o encuentra la manera de inyectar un nuevo script a través de un vector abierto como un tag manager. Una vez que su payload se ejecuta en el browser, tiene acceso al runtime JavaScript completo. Desde allí, dispone de múltiples técnicas de redirección.
Las técnicas de redirección más comunes utilizadas contra plataformas de juego incluyen:
- Llamadas
window.open()owindow.location.replace(): el jugador es enviado a un dominio diferente a mitad de sesión - Reemplazo de listeners del DOM: el script elimina un controlador de clic existente en un botón CTA y lo sustituye por una redirección a un competidor o a un destino de fraude de afiliados
- Manipulación de parámetros de URL: el script altera
return_url,redirect_uriu otras cadenas de consulta similares que la plataforma usa para el enrutamiento posterior al inicio de sesión - Manipulación de
history.pushStateylocation.hash: redireccionamientos más sutiles que falsifican la barra de URL sin desencadenar un evento de navegación completo
Cada uno de estos se ejecuta completamente dentro del browser. Ninguna solicitud HTTP se altera antes de llegar a sus servidores. Ningún CDN ve el payload entregado al jugador.
Por qué estos ataques apuntan específicamente a plataformas de juego
Respuesta rápida: Las plataformas de juego están desproporcionadamente atacadas porque sus embudos de captación de jugadores están basados en afiliados, sus páginas de destino llevan muchos scripts de terceros y el valor monetizable de redirigir incluso un pequeño porcentaje de jugadores depositantes es extremadamente alto. Una redirección que desvíe el 2% del tráfico durante una campaña de bonos puede representar una pérdida significativa de ingresos.
Las plataformas de casino y apuestas deportivas tienen características estructurales que las hacen atractivas para esta clase de atacante. En primer lugar, el ecosistema de afiliados significa que docenas de fragmentos de JavaScript externos se añaden rutinariamente a las páginas del operador (píxeles de seguimiento, scripts de postback, contadores de sub-afiliados), muchos de ellos añadidos por equipos de marketing sin revisión de seguridad.
En segundo lugar, el recorrido del jugador depositante tiene momentos de alto valor discretos. Una redirección inyectada solo durante el flujo de registro o depósito, cronometrada para dispararse después de que el jugador ha expresado intención de pago, puede desviar a un usuario de alto valor a una marca de la competencia o a un sitio fraudulento que recoge credenciales.
En tercer lugar, las capacidades de segmentación geográfica y por dispositivo del JavaScript Methodrno significan que los ataques pueden dirigirse con precisión quirúrgica. Un payload malicioso puede verificar navigator.language, analizar la geolocalización de IP mediante una fetch en segundo plano, o inspeccionar la cadena del agente de usuario y redirigir solo a los usuarios móviles en mercados regulados específicos. Esta precisión hace que el ataque sea difícil de detectar mediante QA manual porque no se disparará en el browser de escritorio del desarrollador.
Estas condiciones se combinan para crear una amenaza que es operativamente invisible bajo configuraciones de monitorización estándar.
Por qué las herramientas de la capa de red no pueden ver esto
Respuesta rápida: Las herramientas de la capa de red inspeccionan el tráfico HTTP entre el servidor y el CDN o el balanceador de carga. Los ataques de redirección de JavaScript se ejecutan dentro del browser después de que la página se ha cargado completamente. No se marca ninguna solicitud de red porque el motor JavaScript del browser es quien hace el trabajo. Los registros de red confirman solo que GTM.js o analytics.js se cargaron correctamente, no lo que se ejecutó dentro de ellos.
Cloudflare Page Shield, los WAF y las soluciones de monitorización de red operan en una capa diferente del stack. Pueden indicarle qué scripts se solicitaron. Pueden bloquear dominios conocidos como maliciosos a nivel de DNS. Lo que no pueden hacer es observar el runtime JavaScript ejecutándose dentro de una pestaña del browser de un usuario.
Considera este escenario: se añade un shadow GTM container a un dominio de casino. El contenedor carga gtm.js, que es una URL legítima de Google. Dentro de ese contenedor, una etiqueta dispara un bloque HTML personalizado que inyecta un script de redirección solo para usuarios móviles en Alemania que visitan a través de una fuente de tráfico de afiliado. Desde la capa de red, los registros muestran que gtm.js se cargó con un código de estado 200. No se marca nada.
Esto no es una limitación específica de ningún proveedor concreto. Es un límite arquitectónico fundamental. Tu WAF protege el servidor. cside protege lo que se ejecuta en los browsers de tus clientes. Son capas diferentes y se requieren herramientas diferentes para cada una.
- Las herramientas de red ven: qué recursos se solicitaron, qué respuestas HTTP se devolvieron y si esas respuestas coinciden con firmas conocidas como maliciosas
- Las herramientas de red no pueden ver: qué JavaScript se ejecuta después de la carga de la página, qué mutaciones del DOM ocurren en tiempo real, o a qué valores de
window.locationenvía el browser a un jugador
El único punto de observación que puede observar estos eventos es una capa de instrumentación que se ejecuta dentro del propio browser, junto al código que se está monitorizando.
Recorrido técnico: la redirección de shadow GTM
Respuesta rápida: Un ataque de redirección de shadow GTM carga un ID de contenedor de aspecto legítimo a través de una cuenta GTM padre autorizada, luego dispara una etiqueta HTML personalizada que usa window.open para abrir un sitio de la competencia en una nueva pestaña durante el flujo de depósito. Toda la cadena es invisible para los registros del servidor y los WAF porque cada solicitud en ella se resuelve en infraestructura legítima de Google y de la plataforma.
Así se desarrolla este ataque paso a paso en una plataforma iGaming real.
Paso uno: un actor de amenazas (ya sea un afiliado con acceso al tag manager o un contratista de marketing comprometido) añade un ID de GTM container secundario a la plantilla global del sitio. El ID del contenedor aparece junto al propio contenedor legítimo del operador. Para un desarrollador que inspecciona la página, ambos contenedores cargan www.googletagmanager.com/gtm.js, un dominio idéntico y de confianza.
Paso dos: dentro del contenedor fraudulento, el atacante ha configurado una etiqueta HTML personalizada configurada para dispararse en el desencadenador "Todas las páginas" o, más precisamente, en un patrón de URL específico que coincide con la página de depósito. La etiqueta contiene:
(function() {
var ua = navigator.userAgent.toLowerCase();
var lang = navigator.language || navigator.userLanguage;
if (/mobile|android/.test(ua) && /de|at|ch/.test(lang)) {
window.addEventListener('DOMContentLoaded', function() {
document.querySelector('#deposit-btn').addEventListener('click', function(e) {
e.preventDefault();
window.open('https://competitor-offer.example.com/?ref=hijack123', '_blank');
}, true);
});
}
})();
Paso tres: el jugador hace clic en el botón de depósito. El listener de eventos secuestrado se dispara antes que el legítimo (el argumento true lo establece en la fase de captura, dándole prioridad). El jugador es redirigido. Los registros del operador muestran un rebote de la página de depósito sin conversión.
Paso cuatro: los análisis del operador muestran una caída inexplicable en la tasa de conversión móvil en geografías DACH. Sin instrumentación en la capa del browser, diagnosticar la causa requiere una auditoría manual de cada contenedor GTM en todos los dominios, un ejercicio que puede llevar semanas y que aún puede pasar por alto el código inyectado dinámicamente.
cside identifica cada ID de GTM container activo en todos los dominios monitorizados, mapea cada script que se ejecuta dentro de cada contenedor y alerta en tiempo real cuando aparece un nuevo ID de contenedor o un contenedor conocido ejecuta un nuevo patrón de script. La detección ocurre en la capa del browser, donde realmente vive el ataque.
Qué detecta cside y cómo
Respuesta rápida: cside instrumenta el 100% de las sesiones de usuarios reales en el browser, no un proxy muestreado. Identifica cada script que se ejecuta por carga de página, mapea cada script a su origen y contexto de contenedor, y genera alertas cuando se detectan llamadas de API de clase redirección (como window.location, window.open, o manipulación del historial) desde scripts que no están en la lista de inventario autorizado.
El enfoque nativo del browser de cside significa que ve el entorno de ejecución JavaScript completo, no solo el tráfico de red. La detección está impulsada por un motor conductual basado en IA que observa lo que cada script hace en tiempo real: a qué datos accede, a dónde los envía y si su comportamiento coincide con patrones de filtración conocidos. Para ataques de clase redirección específicamente, la plataforma monitoriza:
- Asignaciones de
window.locationy escrituras delocation.replace()/location.href - Llamadas a
window.open()y las URL de destino que intentan abrir - Registro de listeners de eventos en elementos del DOM de alto valor (botones, campos de formulario, etiquetas de anclaje)
- Llamadas a
history.pushStateyhistory.replaceStateque alteran la URL navegable - Intentos de acceder o manipular
document.referrero parámetros de consulta de URL asociados con el enrutamiento de afiliados o de flujo de retorno
Dado que cside instrumenta el 100% de las sesiones (no un enfoque de muestreo), captura las condiciones de ataque precisas que hacen que estos payloads sean difíciles de encontrar: desencadenadores solo para móviles, específicos por geografía y solo para páginas de depósito que una solución muestreada o basada en proxy perdería estadísticamente.
Cuando se detecta un nuevo evento de redirección desde un origen de script no autorizado, cside muestra el contexto completo: qué script lo desencadenó, qué contenedor GTM cargó ese script, en qué páginas estaba activo y qué segmentos de usuario estuvieron expuestos.
En nuestra monitorización de plataformas iGaming, las señales de clase redirección se encuentran entre los eventos de mayor gravedad que detectamos. Los operadores que las detectan de forma consistente informan que el script desencadenante estuvo presente durante semanas antes de la alerta, desviando silenciosamente a un subconjunto de depositantes móviles mientras las métricas de conversión agregadas enmascaraban la pérdida. El informe IBM Cost of a Data Breach 2024 sitúa el coste medio global de una filtración en 4,88 millones de dólares, pero para los operadores de juego el coste comercial de la redirección no detectada de jugadores se acumula antes de que comience cualquier acción regulatoria.
Qué descubren los operadores en las primeras 48 horas
Cuando ejecutamos la primera sesión de monitorización en una importante plataforma de juego en línea multimarca europea a principios de este año, la suposición del equipo de seguridad era que sus registros del lado del servidor y su WAF habrían detectado cualquier cosa grave. Lo que cside encontró en las primeras 24 horas contaba una historia diferente. En el dominio de marca inicial monitorizado, la plataforma identificó actividad de redirección dirigida por geografía que no había aparecido en ningún registro del servidor. Los scripts cargados mediante etiquetas de afiliado estaban ejecutando lógica de redirección condicional que solo se disparaba para usuarios móviles en geografías específicas de Europa Central y del Este. En escritorio, en el Reino Unido, o en cualquier sesión donde el parámetro de referencia del afiliado estaba ausente, la página se comportaba exactamente como se esperaba. Las redirecciones eran invisibles para el equipo de QA porque nadie estaba ejecutando QA desde el dispositivo, la ubicación y la fuente de tráfico correctos simultáneamente.
En 48 horas, el equipo de seguridad tenía un mapa completo de cada script que ejecutaba llamadas de API de clase redirección en el dominio de prueba, incluido el fragmento de afiliado específico responsable, los destinos objetivo y los segmentos exactos de usuarios afectados. El Director de Seguridad de la plataforma describió que era la primera vez que veían toda su superficie de ataque en la capa del browser en conjunto, en lugar de dominio por dominio. La redirección había estado ejecutándose silenciosamente durante un período indeterminado antes de que comenzara la monitorización.
Por qué la capa de detección debe vivir en el browser
Las herramientas de la capa de red y la instrumentación de la capa del browser no son sustitutos entre sí. La siguiente tabla muestra lo que cada enfoque puede y no puede observar en un escenario de ataque de redirección.
| Capacidad | Herramientas de capa de red (WAF, CDN, Page Shield) | Instrumentación de capa del browser (cside) |
|---|---|---|
| Qué scripts se solicitaron | Sí | Sí |
| Qué ID de contenedor se cargaron | Parcial (solo parámetro de URL) | Sí, todos los contenedores activos |
| Qué etiquetas se dispararon dentro de cada contenedor | No | Sí |
| Qué JavaScript se ejecutó tras la carga de la página | No | Sí |
Llamadas a window.location o window.open | No | Sí, con URL de destino |
| Mutaciones del DOM y cambios en listeners de eventos | No | Sí |
| Activación de payload solo para móviles o específica por geografía | No | Sí, 100% de las sesiones |
| Qué segmentos de usuarios estuvieron expuestos | No | Sí |
Esta brecha arquitectónica no es una deficiencia de ningún proveedor en particular. Es una consecuencia de dónde opera cada herramienta. Un WAF se sitúa entre el CDN y tu servidor de origen. La instrumentación de la capa del browser se sitúa dentro del browser junto al código que monitoriza. Solo una de esas posiciones puede ver una redirección JavaScript ejecutándose después de la carga de la página.
Qué deben hacer los operadores ahora
Si tu plataforma ejecuta scripts de seguimiento de afiliados, un tag manager o cualquier JavaScript de terceros sin monitorización continua en la capa del browser, tienes un punto ciego que las herramientas de red no pueden cerrar. Los pasos prácticos son:
- Inventariar cada ID de GTM container activo en todos tus dominios, no solo los que añadió tu equipo
- Mapear cada script que se ejecuta por carga de página a su origen, contenedor y las llamadas de API que realiza
- Establecer un inventario de scripts aprobados y configurar alertas para cualquier desviación del mismo
- Aplicar cobertura del 100% de las sesiones, no muestreo, para que los payloads dirigidos por geografía y por dispositivo no puedan evadir la detección por suerte estadística
cside proporciona esta capacidad como una capa continua y nativa del browser en toda tu cartera de dominios. Monitoriza cada script de primera, tercera y cuarta parte que se ejecuta en los browsers de tus jugadores, incluidos los scripts que son cargados por otros scripts. Cuando un evento de clase redirección se dispara desde un script no autorizado, la alerta aparece inmediatamente con el contexto de ejecución necesario para contenerlo.









