Skip to main content
Blog
Blog Attacks

Como Scripts Maliciosos Sequestram as Jornadas dos Jogadores em Casinos Online

Scripts injectados redirecionam jogadores de casino antes do lobby. As ferramentas de rede não os detectam. Eis como a detecção deve funcionar.

Jun 19, 2026 14 min read
Capa escura do blog com três métodos de ataque de scripts maliciosos em casinos: redirects disparados no browser, shadow GTM containers com tags maliciosas e payloads móveis geo-direccionados

Os operadores de casinos online investem pesadamente na aquisição de jogadores através de afiliados, pesquisa paga e campanhas de influenciadores. Mas uma categoria crescente de ataques ao nível do browser está a desviar esses jogadores antes de chegarem ao lobby. No Q1 2025, o cside detectou mais de 300.000 sinais de ataque em sites monitorizados, muitos deles eventos de redirecionamento desencadeados por JavaScript injectado a correr silenciosamente dentro do browser. A superfície de ataque não é a sua infraestrutura de servidor. É o JavaScript a executar nos browsers dos seus jogadores após cada carregamento de página. Ao trabalhar com operadores de jogo multi-marca, vi este padrão de ataque aparecer repetidamente em ambientes onde a equipa de segurança não tinha ideia de que estava a ocorrer um redirecionamento, porque todas as ferramentas que tinham estavam a vigiar a camada errada.

Como Parecem os Ataques de Redirecionamento por Script Injectado

Resposta Rápida: Os redirects por script injectado funcionam inserindo um pequeno payload JavaScript numa recurso de terceiros confiável — como uma tag de afiliado, biblioteca de analytics, ou tag manager — que executa no browser do jogador após o carregamento da página. O script intercepta a jornada do jogador usando APIs nativas do browser e envia-o para um site concorrente ou destino fraudulento, completamente invisível para a monitorização server-side.

Os ataques de redirecionamento que utilizam JavaScript injectado não são teóricos. A divulgação do Sansec sobre o compromisso da cadeia de fornecimento do Polyfill.js em Junho de 2024 mostrou mais de 100.000 websites a servir código malicioso a partir de uma única biblioteca alojada em CDN que tinha sido vendida a um actor de ameaça. Para plataformas de jogo, a mecânica segue uma anatomia previsível.

O atacante ou compromete um script em que o seu site já confia ou encontra uma forma de injectar um novo script através de um vector aberto, como um tag manager. Uma vez que o seu payload está a executar no browser, tem acesso ao runtime JavaScript completo. A partir daí, tem várias técnicas de redirecionamento disponíveis.

As técnicas de redirect comuns utilizadas contra plataformas de jogo incluem:

  • Chamadas window.open() ou window.location.replace(): o jogador é enviado para um domínio diferente a meio da sessão
  • Substituição de listeners DOM: o script remove um handler de clique existente num botão CTA e substitui-o por um redirect para um concorrente ou destino de fraude de afiliado
  • Manipulação de parâmetros URL: o script altera return_url, redirect_uri ou strings de query semelhantes que a plataforma utiliza para encaminhamento pós-login
  • Adulteração de history.pushState e location.hash: redirects mais subtis que falsificam a barra URL sem desencadear um evento de navegação completo

Cada um destes executa inteiramente dentro do browser. Nenhum pedido HTTP é alterado antes de chegar aos seus servidores. Nenhum CDN vê o payload a ser entregue ao jogador.

Por Que Razão Estes Ataques Visam Especificamente Plataformas de Jogo

Resposta Rápida: As plataformas de jogo são desproporcionalmente visadas porque os seus funis de aquisição de jogadores são orientados por afiliados, as suas páginas de destino transportam muitos scripts de terceiros, e o valor monetizável de redirecionar mesmo uma pequena percentagem de jogadores que depositam é extremamente elevado. Um redirect que desvia 2% do tráfego durante uma campanha de bónus pode representar receita perdida significativa.

As plataformas de casino e de apostas desportivas têm características estruturais que as tornam atractivas para esta classe de atacante. Primeiro, o ecossistema de afiliados significa que dezenas de snippets de JavaScript externos são rotineiramente adicionados às páginas do operador (tracking pixels, scripts de postback, contadores de sub-afiliados), muitos deles adicionados por equipas de marketing sem revisão de segurança.

Segundo, a jornada do jogador que deposita tem momentos discretos de alto valor. Um redirect injectado apenas durante o fluxo de registo ou de depósito, com tempo para disparar depois de o jogador ter introduzido intenção de pagamento, pode desviar um utilizador de alto valor para uma marca concorrente ou para um site fraudulento que recolhe credenciais.

Terceiro, as capacidades de segmentação geográfica e de dispositivos do JavaScript moderno significam que os ataques podem ser cirurgicamente direccionados. Um payload malicioso pode verificar navigator.language, analisar geolocalização de IP via fetch em segundo plano, ou inspeccionar a string do user agent e apenas redirecionar utilizadores móveis em mercados regulados específicos. Esta precisão torna o ataque difícil de detectar através de QA manual porque não vai disparar no browser de computador do programador.

Estas condições combinam-se para criar uma ameaça que é operacionalmente invisível sob configurações de monitorização padrão.

Por Que Razão as Ferramentas de Camada de Rede Não Conseguem Ver Isto

Resposta Rápida: As ferramentas de camada de rede inspeccionam tráfego HTTP entre o servidor e o CDN ou balanceador de carga. Os ataques de redirect por JavaScript executam dentro do browser após a página ter sido completamente carregada. Nenhum pedido de rede é sinalizado porque o motor JavaScript do browser está a fazer o trabalho. Os logs de rede confirmam apenas que GTM.js ou analytics.js carregou com sucesso, não o que correu dentro deles.

O Cloudflare Page Shield, os WAFs e as soluções de monitorização de rede operam numa camada diferente da pilha. Podem dizer-lhe quais scripts foram pedidos. Podem bloquear domínios maliciosos conhecidos ao nível do DNS. O que não conseguem fazer é observar o runtime JavaScript a executar dentro do separador de browser de um utilizador.

Considere este cenário: um shadow GTM container é adicionado a um domínio de casino. O contentor carrega gtm.js, que é um URL legítimo do Google. Dentro desse contentor, uma tag dispara um bloco HTML personalizado que injecta um script de redirect apenas para utilizadores móveis na Alemanha que visitam através de uma fonte de tráfego de afiliado. A partir da camada de rede, os logs mostram que gtm.js carregou com código de estado 200. Nada é sinalizado.

Esta não é uma limitação específica de nenhum fornecedor. É uma fronteira arquitectural fundamental. O seu WAF protege o servidor. O cside protege o que corre nos browsers dos seus clientes. São camadas diferentes e são necessárias ferramentas diferentes para cada uma.

  • As ferramentas de rede vêem: quais recursos foram pedidos, quais respostas HTTP foram devolvidas, e se essas respostas correspondem a assinaturas maliciosas conhecidas
  • As ferramentas de rede não conseguem ver: que JavaScript executa após o carregamento da página, que mutações DOM acontecem em tempo real, ou para que valores window.location o browser envia um jogador

O único ponto de vista que pode observar estes eventos é uma camada de instrumentação a correr dentro do browser, ao lado do código que está a ser monitorizado.

Uma Análise Técnica: O Redirect via Shadow GTM

Resposta Rápida: Um ataque de redirect via shadow GTM carrega um ID de contentor com aparência legítima através de uma conta GTM pai autorizada, depois dispara uma tag HTML personalizada que usa window.open para abrir um site concorrente num novo separador durante o fluxo de depósito. Toda a cadeia é invisível para logs de servidor e WAFs porque cada pedido nela resolve para infraestrutura legítima do Google e da plataforma.

Eis como este ataque se desenrola passo a passo numa plataforma iGaming real.

Passo um: um actor de ameaça, seja um afiliado com acesso ao tag manager ou um contratante de marketing comprometido, adiciona um ID de GTM container secundário ao template global do site. O ID do contentor aparece ao lado do próprio contentor legítimo do operador. Para um programador a inspeccionar a página, ambos os contentores carregam www.googletagmanager.com/gtm.js, um domínio idêntico e confiável.

Passo dois: dentro do contentor malicioso, o atacante configurou uma tag HTML personalizada definida para disparar no gatilho "Todas as Páginas" ou, mais precisamente, num padrão de URL específico correspondendo à página de depósito. A tag contém:

(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);
    });
  }
})();

Passo três: o jogador clica no botão de depósito. O listener de evento sequestrado dispara antes do legítimo (o argumento true define-o para a fase de captura, dando-lhe prioridade). O jogador é redirecionado. Os logs do operador mostram uma saída da página de depósito sem conversão.

Passo quatro: os analytics do operador mostram uma queda inexplicável na taxa de conversão móvel nas geos DACH. Sem instrumentação na camada do browser, diagnosticar a causa requer uma auditoria manual de cada GTM container em cada domínio, um exercício que pode demorar semanas e ainda assim pode não encontrar código injectado dinamicamente.

O cside identifica cada ID de GTM container activo em todos os domínios monitorizados, mapeia cada script a executar dentro de cada contentor, e alerta em tempo real quando um novo ID de contentor aparece ou um contentor conhecido executa um novo padrão de script. A detecção acontece na camada do browser, onde o ataque realmente reside.

O Que o cside Detecta e Como

Resposta Rápida: O cside instrumenta 100% das sessões reais de utilizadores no browser, não uma proxy amostrada. Identifica cada script a executar por carregamento de página, mapeia cada script para a sua origem e contexto de contentor, e levanta alertas quando chamadas de API de classe redirect (como window.location, window.open, ou manipulação do histórico) são detectadas a partir de scripts que não estão na lista de inventário autorizado.

A abordagem nativa do browser do cside significa que vê o ambiente de execução JavaScript completo, não apenas o tráfego de rede. A detecção é alimentada por um motor comportamental com IA que observa o que cada script faz em tempo real: a que dados acede, para onde os envia, e se o seu comportamento corresponde a padrões conhecidos de violação. Para ataques de classe redirect especificamente, a plataforma monitoriza:

  • Atribuições de window.location e escritas de location.replace() / location.href
  • Chamadas window.open() e os URLs de destino que tentam abrir
  • Registo de listeners de evento em elementos DOM de alto valor (botões, campos de formulário, tags de âncora)
  • Chamadas history.pushState e history.replaceState que alteram o URL navegável
  • Tentativas de aceder ou manipular document.referrer ou parâmetros de query URL associados a encaminhamento de afiliados ou de fluxo de retorno

Como o cside instrumenta 100% das sessões (não uma abordagem de amostragem), captura as condições de ataque precisas que tornam estes payloads difíceis de encontrar: gatilhos apenas para móvel, específicos de geo, apenas para a página de depósito que uma solução amostrada ou baseada em proxy vai estatisticamente não detectar.

Quando um novo evento de redirect é detectado a partir de uma origem de script não autorizada, o cside apresenta o contexto completo: qual script o desencadeou, qual GTM container carregou esse script, em quais páginas estava activo, e quais segmentos de utilizadores foram expostos.

Na nossa monitorização de plataformas iGaming, os sinais de classe redirect estão entre os eventos de maior severidade que apresentamos. Os operadores que os detectam consistentemente reportam que o script desencadeante estava presente há semanas antes do alerta, desviando silenciosamente um subconjunto de utilizadores móveis que depositam enquanto as métricas agregadas de conversão mascaravam a perda. O relatório IBM Cost of a Data Breach 2024 situa o custo médio global de uma violação em $4,88 milhões, mas para operadores de jogo o custo comercial do redirecionamento de jogadores não detectado é acumulado antes de qualquer acção regulatória começar.

O Que os Operadores Descobrem nas Primeiras 48 Horas

Quando executámos a primeira sessão de monitorização numa grande plataforma europeia multi-marca de jogo online no início deste ano, o pressuposto da equipa de segurança era que os seus logs server-side e WAF teriam detectado qualquer coisa séria. O que o cside encontrou nas primeiras 24 horas contou uma história diferente. No domínio inicial monitorizado da marca, a plataforma identificou actividade de redirect com alvo geográfico que não tinha aparecido em nenhum log de servidor. Scripts carregados através de tags de afiliados estavam a executar lógica de redirect condicional que apenas disparava para utilizadores móveis em geos específicas da Europa Central e Oriental. No computador, no Reino Unido, ou em qualquer sessão onde o parâmetro de referência do afiliado estava ausente, a página comportava-se exactamente como esperado. Os redirects eram invisíveis para a equipa de QA porque ninguém estava a executar QA a partir do dispositivo, localização e fonte de tráfego correctos simultaneamente.

Dentro de 48 horas, a equipa de segurança tinha um mapa completo de cada script a executar chamadas de API de classe redirect no domínio de teste, incluindo o snippet de afiliado específico responsável, os destinos-alvo, e os segmentos exactos de utilizadores afectados. O Head of Security da plataforma descreveu-o como a primeira vez que viu a sua superfície de ataque na camada do browser como um todo em vez de um domínio de cada vez. O redirect estava a correr silenciosamente por um período indeterminado antes de a monitorização começar.

Por Que a Camada de Detecção Deve Residir no Browser

As ferramentas de camada de rede e a instrumentação de camada de browser não são substitutos uma da outra. A tabela abaixo mostra o que cada abordagem pode e não pode observar num cenário de ataque de redirect.

CapacidadeFerramentas de camada de rede (WAF, CDN, Page Shield)Instrumentação de camada de browser (cside)
Quais scripts foram pedidosSimSim
Quais IDs de contentor carregaramParcial (apenas parâmetro URL)Sim, todos os contentores activos
Que tags dispararam dentro de cada contentorNãoSim
Que JavaScript executou após o carregamento de páginaNãoSim
Chamadas window.location ou window.openNãoSim, com URL de destino
Mutações DOM e mudanças de listeners de eventoNãoSim
Activação de payload apenas para móvel ou específico de geoNãoSim, 100% das sessões
Quais segmentos de utilizadores foram expostosNãoSim

Esta lacuna arquitectural não é uma deficiência de nenhum fornecedor particular. É uma consequência de onde cada ferramenta opera. Um WAF fica entre o CDN e o seu servidor de origem. A instrumentação de camada de browser fica dentro do browser ao lado do código que monitoriza. Apenas uma dessas posições pode ver um redirect JavaScript a executar após o carregamento de página.

O Que os Operadores Devem Fazer Agora

Se a sua plataforma está a executar scripts de rastreamento de afiliados, um tag manager, ou qualquer JavaScript de terceiros sem monitorização contínua na camada do browser, tem um ponto cego que as ferramentas de rede não conseguem fechar. Os passos práticos são:

  1. Faça um inventário de cada ID de GTM container activo em todos os seus domínios, não apenas os que a sua equipa adicionou
  2. Mapeie cada script a executar por carregamento de página para a sua origem, contentor, e as chamadas de API que faz
  3. Estabeleça um inventário de scripts aprovados e configure alertas para qualquer desvio do mesmo
  4. Aplique cobertura de 100% das sessões, não amostragem, para que payloads com alvo geográfico e de dispositivo não possam evadir a detecção por sorte estatística

O cside fornece esta capacidade como uma camada contínua e nativa do browser em todo o seu portfólio de domínios. Monitoriza cada script de primeira, terceira e quarta parte que executa nos browsers dos seus jogadores, incluindo scripts que são carregados por outros scripts. Quando um evento de classe redirect dispara a partir de um script não autorizado, o alerta é apresentado imediatamente com o contexto de execução necessário para o conter.

Resumo

Os ataques de redirect por injecção no browser são operacionalmente invisíveis para qualquer ferramenta que não corra dentro do browser. As plataformas de jogo estão desproporcionalmente expostas por causa dos seus ambientes de scripts pesados em afiliados e do alto valor monetizável de mesmo pequenas taxas de desvio. Os logs de rede, WAFs e ferramentas de camada CDN confirmam que os scripts carregaram, não o que fizeram após carregar. A única camada de detecção que consegue observar chamadas de API de classe redirect, manipulação DOM e sequestro de listeners de evento é uma que instrumenta o runtime JavaScript directamente, com cobertura de 100% das sessões e alertas em tempo real sobre desvios de um inventário 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

Os vectores mais comuns são scripts de rastreamento de afiliados comprometidos, adições não autorizadas de GTM containers por pessoal de marketing ou agências, e ataques à cadeia de fornecimento em bibliotecas JavaScript de terceiros carregadas pelo site. Em cada caso, o atacante não precisa de acesso ao servidor. Apenas precisa de um contexto de execução confiável dentro do browser, que uma tag de script de terceiros fornece.

Não. Os WAFs e firewalls CDN operam sobre tráfego HTTP entre o cliente e o servidor. Os ataques de redirect que utilizam JavaScript injectado executam após a página ter carregado no browser, usando APIs nativas do browser. Nenhum pedido de rede de saída é feito que um WAF possa inspeccionar antes do redirect ocorrer. Apenas a instrumentação de camada de browser consegue observar estes eventos.

A segmentação precisa reduz significativamente o risco de detecção. Um redirect que dispara em todos os utilizadores será capturado rapidamente durante o QA ou detectado em relatórios de anomalias de tráfego. Um redirect limitado a utilizadores móveis em locales de idioma específicos ou intervalos de IP pode correr durante semanas antes de alguém notar a anomalia na taxa de conversão e rastreá-la até um script.

Frequentemente estão relacionados. A fraude de afiliado pode envolver scripts de afiliados legítimos a serem instrumentalizados para redirecionar jogadores que chegaram através de outros canais, para que o afiliado recolha comissão por conversões que não originou. Os ataques de redirect também podem ir para sites concorrentes completamente não afiliados. O cside detecta ambos porque monitoriza o que cada script faz em runtime, não apenas a que rede de afiliados pertence.

O cside detecta e alerta sobre novo comportamento de script ao nível de sessão em tempo real. Quando um script que não foi anteriormente observado a executar uma escrita de window.location ou chamada window.open() o faz pela primeira vez, a plataforma levanta um alerta imediatamente, com contexto de execução completo incluindo o URL de destino e o elemento DOM desencadeador.

Monitore e Proteja Seus Scripts de Terceiros

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

Comece grátis, ou experimente o Business com um teste de 14 dias.

Interface do painel cside mostrando monitoramento de scripts e análises de segurança
Related Articles
Agende uma demonstração