Disponible pour missions & renforts d’agence · Réponse rapide, par la personne qui intervient

Mes visiteurs voient une fausse page « prouvez que vous êtes humain »

Vos clients décrivent un écran de vérification qui leur demande de coller une commande dans leur ordinateur, alors que vous ne voyez rien d’anormal depuis votre navigateur : l’infection choisit ses victimes, et vous n’en faites pas partie.

Décrire mon problème Discuter sur WhatsApp

Vous ne voyez rien, et pourtant ils ont raison

Un client vous écrit qu’avant d’arriver sur votre boutique, il a vu une page de vérification lui annonçant un trafic web inhabituel, avec un message du type « Unusual Web Traffic Detected », et lui demandant d’effectuer une manipulation sur son propre ordinateur pour prouver qu’il n’est pas un robot. Vous ouvrez votre site : rien. Vous rechargez : rien. Vous testez sur deux autres pages : toujours rien. La tentation est grande de conclure que le client s’est trompé de site, ou qu’il a une extension de navigateur douteuse.

C’est presque toujours faux. Le code est bien sur votre serveur. Ce qui change, c’est qu’il ne se déclenche pas pour tout le monde. Un code injecté dans un thème peut décider, à chaque affichage, de servir la page normale ou la page piégée, en fonction de ce qu’il apprend du visiteur : son navigateur, son système, la provenance de sa visite, le fait qu’il soit connecté ou non à l’administration. Je ne peux pas vous dire quels critères précis retient telle ou telle variante — cela change d’une campagne à l’autre — mais le principe est constant : le propriétaire du site, qui arrive toujours par le même chemin, avec la même session et le même navigateur, est le visiteur le moins susceptible de voir quoi que ce soit.

C’est aussi ce qui rend ces infections durables. Tant que personne ne reproduit les conditions d’un vrai visiteur, le site paraît sain depuis le back-office, et le problème reste dans les messages du service client.

Ce que vos clients décrivent

  • Un écran de vérification anti-robot apparaît avant votre page, alors que vous n’avez jamais mis ce dispositif en place.
  • Le message parle d’un trafic web inhabituel et affiche un texte en anglais que vous ne reconnaissez pas.
  • On demande au visiteur d’effectuer une manipulation sur son propre ordinateur pour « prouver qu’il est humain ».
  • Le phénomène est intermittent : sur le même lien, un client le voit et un autre non.
  • Certains visiteurs sont redirigés vers une page extérieure qui propose une mise à jour de navigateur.
  • Vous, depuis votre navigateur habituel, ne constatez strictement rien.

Où se cache le code, et pourquoi tous les thèmes sont concernés

Sucuri a documenté en mai 2025 une campagne exactement conforme à ce que vos clients décrivent. Le code malveillant est injecté dans le fichier header.php de tous les thèmes installés, et non du seul thème actif. Il renvoie vers un fichier verification.html déposé sur le serveur, qui contient la fausse page de vérification. Le visiteur y lit qu’un trafic inhabituel a été détecté et qu’il doit exécuter une manipulation sur sa machine. S’il la suit, il installe un logiciel malveillant sur son ordinateur. Il s’agit d’une évolution d’une campagne déjà observée par Sucuri en mars 2025.

Le point important à comprendre est celui-là : dans ce schéma, la victime finale n’est pas votre serveur. Votre site n’est pas volé, il n’est pas chiffré, ses données ne partent pas forcément. Il sert de point de distribution. C’est ce qui explique le décalage entre ce que vous mesurez — un site qui répond normalement, des commandes qui passent — et ce que vos clients vivent.

Le détail des « tous les thèmes installés » n’est pas une précision de curiosité. Un thème que vous n’utilisez pas, laissé en place après un essai ou livré par défaut avec l’installation, reste un fichier PHP présent sur le serveur. Le nettoyer uniquement sur le thème actif laisse le reste du code en place, prêt à être rappelé si le thème change, et laisse surtout croire que le problème est réglé. Je pars donc toujours du principe qu’il faut inspecter l’intégralité du dossier des thèmes.

Il faut aussi vérifier une deuxième cachette. Le dossier wp-content/mu-plugins/ contient les extensions dites « must-use » : elles sont chargées automatiquement à chaque affichage de page, sans activation, et n’apparaissent pas dans la liste des extensions du tableau de bord. Un site audité uniquement depuis l’interface d’administration a donc un angle mort complet à cet endroit.

Reproduire, chercher, refermer

  1. Cessez d’être un visiteur connu

    Déconnectez-vous du back-office, ouvrez une fenêtre de navigation privée, changez de navigateur, changez d’appareil, passez par une connexion mobile plutôt que par le réseau du bureau, et arrivez sur le site depuis un lien externe plutôt qu’en tapant l’adresse. Chaque paramètre que vous modifiez vous rapproche des conditions d’un vrai visiteur. Demandez aussi à votre client quel navigateur et quel système il utilisait : c’est l’information la plus utile qu’il puisse vous donner.

  2. Comparez les fichiers d’en-tête de tous les thèmes

    Ouvrez le fichier header.php de chaque thème présent sur le serveur, pas seulement du thème actif, et comparez-le à une copie propre de la même version du thème. Un fichier modifié récemment, alors que vous n’avez rien changé, suffit à orienter la recherche.

  3. Cherchez les fichiers qui n’ont rien à faire là

    Un fichier verification.html, ou tout autre fichier HTML isolé dans un dossier de thème ou à la racine, mérite d’être ouvert et daté. Les thèmes n’ont normalement aucune raison d’héberger des pages HTML autonomes.

  4. Ouvrez le dossier des extensions à chargement automatique

    Listez le contenu de wp-content/mu-plugins/ en accès fichier, pas depuis le tableau de bord. Sucuri y a observé trois fichiers : redirect.php, qui envoie les visiteurs vers une page extérieure se faisant passer pour une mise à jour de navigateur ; index.php, un webshell donnant un accès distant au serveur ; et custom-js-loader.php, qui remplace le contenu du site par des liens indésirables et manipule les images.

  5. Datez les modifications avant de nettoyer

    Notez les dates de modification des fichiers touchés avant de les restaurer. C’est ce qui vous permettra de chercher, dans les journaux du serveur, ce qui s’est passé ce jour-là et par où l’accès a été obtenu. Nettoyer d’abord et enquêter ensuite fait disparaître la moitié des indices.

  6. Refermez la porte, pas seulement la fenêtre

    Restaurez les fichiers de thème depuis une source saine, supprimez les fichiers ajoutés, puis passez à la cause : tout mettre à jour, revoir les comptes administrateurs et supprimer ceux qui ne servent plus, imposer des mots de passe uniques, activer la double authentification, mettre en place un contrôle d’intégrité des fichiers et un pare-feu applicatif.

recherche-fichiers-modifies.sh
# Fichiers d'en-tete de theme modifies dans les 30 derniers jours
find wp-content/themes -name 'header.php' -mtime -30 -ls

# Fichiers HTML isoles deposes dans les dossiers de theme
find wp-content/themes -maxdepth 3 -name '*.html' -ls

# Contenu du dossier des extensions a chargement automatique
ls -la wp-content/mu-plugins/

Pour aller plus loin

Décrivez votre besoin en 1 minute

Quelques questions ciblées pour que je vous réponde avec une estimation, pas avec un questionnaire de plus.

Qu’avez-vous constaté ?
Depuis quand le problème est-il constaté ?

Plus l’infection est ancienne, plus elle a pu se propager dans les fichiers et la base de données.

Disposez-vous d’une sauvegarde saine ?
Avez-vous encore accès à l’administration WordPress ? (facultatif)
Indiquez au moins un e-mail ou un téléphone pour que je puisse vous répondre.

Indiquez au moins un e-mail ou un téléphone pour que je puisse vous répondre.

Questions fréquentes

Mes clients se trompent-ils de site ?
C’est possible mais très rare, surtout si plusieurs personnes décrivent la même chose. Une infection qui ne se déclenche pas pour tout le monde produit exactement ce tableau : des signalements crédibles et concordants, et un propriétaire qui ne reproduit rien depuis son propre poste.
Le problème vient-il de l’ordinateur du visiteur ?
Non, pas au départ. La page piégée est servie par votre site : le code est injecté dans les fichiers de thème et renvoie vers une page de vérification déposée sur le serveur. En revanche, c’est bien la machine du visiteur qui est infectée s’il suit les instructions affichées. Le serveur n’est que le point de distribution.
Pourquoi inspecter des thèmes que je n’utilise même pas ?
Parce que l’injection documentée par Sucuri touche le fichier header.php de tous les thèmes installés, pas seulement du thème actif. Un thème inutilisé reste du code présent sur le serveur ; nettoyer le seul thème actif donne l’illusion d’un site assaini.
Que dire à un client qui a suivi les instructions ?
Qu’il fasse analyser son ordinateur par un outil de sécurité à jour, et qu’il change depuis un autre appareil les mots de passe des comptes utilisés sur cette machine, en commençant par la messagerie et les accès bancaires. Je ne prends pas en charge la désinfection d’un poste client : c’est le métier d’un prestataire informatique, pas le mien.
Faut-il prévenir tous mes clients, ou seulement ceux qui ont signalé l’écran ?
Ceux qui ont signalé sont, par définition, ceux qui ne se sont pas fait avoir. Ce sont les autres qui comptent. Une information publiée sur le site pendant quelques semaines, factuelle et sans dramatisation, touche des visiteurs que vous n’avez aucun moyen d’identifier autrement.
Une fois le site nettoyé, le problème est-il derrière moi ?
Pas tant que la voie d’entrée n’est pas identifiée. Le fichier modifié est la conséquence, pas la cause. Sans mise à jour complète, révision des comptes administrateurs, mots de passe uniques, double authentification et contrôle d’intégrité des fichiers, la même injection revient souvent au même endroit.