Skip to main content
Blog
Blog Attacks

Cómo los scripts maliciosos secuestran el recorrido de los jugadores de casino

Scripts inyectados redirigen a jugadores de casino antes del lobby. Las herramientas de red no los detectan. Así debe funcionar la detección.

Jun 19, 2026 15 min read
Portada oscura del blog con tres métodos de ataque de scripts maliciosos: redireccionamientos desde el browser, contenedores GTM en la sombra con etiquetas maliciosas y payloads móviles geoespecíficos

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 no es su infraestructura de servidor. Es el JavaScript que se ejecuta en los browsers de sus jugadores después de cada carga de página. 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.

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 100.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() o window.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_uri u otras cadenas de consulta similares que la plataforma usa para el enrutamiento posterior al inicio de sesión
  • Manipulación de history.pushState y location.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 moderno 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.

Considere 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. Su WAF protege el servidor. cside protege lo que se ejecuta en los browsers de sus 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.location enví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.location y escrituras de location.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.pushState y history.replaceState que alteran la URL navegable
  • Intentos de acceder o manipular document.referrer o 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.

CapacidadHerramientas de capa de red (WAF, CDN, Page Shield)Instrumentación de capa del browser (cside)
Qué scripts se solicitaron
Qué ID de contenedor se cargaronParcial (solo parámetro de URL)Sí, todos los contenedores activos
Qué etiquetas se dispararon dentro de cada contenedorNo
Qué JavaScript se ejecutó tras la carga de la páginaNo
Llamadas a window.location o window.openNoSí, con URL de destino
Mutaciones del DOM y cambios en listeners de eventosNo
Activación de payload solo para móviles o específica por geografíaNoSí, 100% de las sesiones
Qué segmentos de usuarios estuvieron expuestosNo

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 su 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 su plataforma ejecuta scripts de seguimiento de afiliados, un tag manager o cualquier JavaScript de terceros sin monitorización continua en la capa del browser, tiene un punto ciego que las herramientas de red no pueden cerrar. Los pasos prácticos son:

  1. Inventariar cada ID de GTM container activo en todos sus dominios, no solo los que añadió su equipo
  2. Mapear cada script que se ejecuta por carga de página a su origen, contenedor y las llamadas de API que realiza
  3. Establecer un inventario de scripts aprobados y configurar alertas para cualquier desviación del mismo
  4. 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 su cartera de dominios. Monitoriza cada script de primera, tercera y cuarta parte que se ejecuta en los browsers de sus 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.

Resumen

Los ataques de redirección inyectados en el browser son operativamente invisibles para cualquier herramienta que no se ejecute dentro del browser. Las plataformas de juego están desproporcionadamente expuestas debido a sus entornos de scripts pesados en afiliados y el alto valor monetizable de incluso pequeñas tasas de desvío. Los registros de red, los WAF y las herramientas de capa CDN confirman que los scripts se cargaron, no lo que hicieron después de cargarse. La única capa de detección que puede observar llamadas de API de clase redirección, manipulación del DOM y secuestro de listeners de eventos es la que instrumenta el runtime JavaScript directamente, con cobertura del 100% de las sesiones y alertas en tiempo real sobre desviaciones de un inventario de scripts autorizado.

Mike Kutlu
Client-Side Security Consultant

Client-side security consultant at cside. 10+ years of experience implementing technology solutions for enterprises (previously at Oracle, Cloudflare, and Splunk). Now helping teams use client-side intelligence to catch & reduce fraud.

FAQ

Frequently Asked Questions

Los vectores más comunes son los scripts de seguimiento de afiliados comprometidos, las adiciones no autorizadas de contenedores GTM por parte de personal de marketing o de agencias, y los ataques a la cadena de suministro en bibliotecas JavaScript de terceros cargadas por el sitio. En cada caso, el atacante no necesita acceso al servidor. Solo necesita un contexto de ejecución de confianza dentro del browser, que proporciona una etiqueta de script de terceros.

No. Los WAF y los firewalls CDN operan sobre el tráfico HTTP entre el cliente y el servidor. Los ataques de redirección que utilizan JavaScript inyectado se ejecutan después de que la página se ha cargado en el browser, usando API nativas del browser. No se realiza ninguna solicitud de red saliente que un WAF pueda inspeccionar antes de que se produzca la redirección. Solo la instrumentación de la capa del browser puede observar estos eventos.

La segmentación precisa reduce significativamente el riesgo de detección. Una redirección que se dispara para todos los usuarios será detectada rápidamente durante el QA o detectada en los informes de anomalías de tráfico. Una redirección limitada a usuarios móviles en locales de idiomas específicos o rangos de IP puede ejecutarse durante semanas antes de que alguien note la anomalía en la tasa de conversión y la rastree hasta un script.

A menudo están relacionados. El fraude de afiliados puede involucrar scripts de afiliados legítimos que se usan como armas para redirigir a jugadores que llegaron a través de otros canales, de modo que el afiliado cobra comisión por conversiones que no generó. Los ataques de redirección también pueden ir a sitios de la competencia completamente no afiliados. cside detecta ambos porque monitoriza lo que cada script hace realmente en runtime, no solo a qué red de afiliados pertenece.

cside detecta y alerta sobre el nuevo comportamiento de scripts a nivel de sesión en tiempo real. Cuando un script que no ha ejecutado anteriormente una escritura de window.location o una llamada a window.open() lo hace por primera vez, la plataforma genera una alerta inmediatamente, con contexto de ejecución completo que incluye la URL de destino y el elemento del DOM desencadenante.

Monitoriza y Asegura tus Scripts de Terceros

Gain full visibility and control over every script delivered to your users to enhance site security and performance.

Comienza gratis, o prueba Business con una prueba de 14 días.

Interfaz del panel de cside mostrando monitorización de scripts y análisis de seguridad
Related Articles
Reservar una demo