Nettoyer un site web infecté

3 min de lecture07 novembre 2026

Un site infecté ne se résume pas à une page défigurée. Il peut rediriger les visiteurs, injecter des liens commerciaux ou envoyer du spam depuis votre hébergement. Supprimer les fichiers visibles ne suffit pas : sans identifier le point d'entrée, l'infection revient en quelques jours.

Isoler et conserver une preuve

Mettez le site en maintenance ou protégez-le par mot de passe, sans supprimer les journaux. Téléchargez une copie complète des fichiers et exportez la base avant de modifier quoi que ce soit : cette copie servira à comprendre l'attaque, pas à remettre le site en ligne.

Notez la date des premiers symptômes et les changements récents : mise à jour de plugin, nouveau formulaire, compte administrateur ajouté, mot de passe faible. Sur KeyHelp, les fichiers sont accessibles par SFTP et la base depuis le panneau ; sur un VPS, utilisez tar et mysqldump.

Identifier la charge

Les indices classiques sont un code PHP obfusqué, des appels eval ou base64_decode, des iframes injectées, un .htaccess qui redirige, des utilisateurs administrateurs inconnus et des fichiers récents dans les dossiers d'upload.

Bash
grep -rIl --include='*.php' -E 'eval\(|base64_decode\(|gzinflate\(|str_rot13\(' /var/www/votre-domaine
find /var/www/votre-domaine -type f -mtime -14 -ls

Pour WordPress, WP-CLI compare les fichiers officiels et liste les comptes :

Bash
wp core verify-checksums
wp plugin verify-checksums --all
wp user list --role=administrator
wp cron event list

Une différence sur le cœur ou une extension indique un fichier modifié. Les tâches cron inconnues et les administrateurs que vous n'avez pas créés sont à traiter en priorité.

Nettoyer ou reconstruire

Si vous disposez d'une sauvegarde antérieure à l'infection et vérifiée, restaurez-la, puis mettez à jour l'application et toutes ses extensions avant de remettre le site en ligne. Si la sauvegarde est douteuse, reconstruisez depuis les sources officielles : réinstallez le cœur, les thèmes et les extensions depuis leurs dépôts, puis réimportez uniquement les contenus et les médias contrôlés.

La base peut aussi contenir des injections : articles, options, widgets, utilisateurs. Ne vous contentez pas de supprimer les lignes suspectes ; comparez avec une base saine ou nettoyez les contenus un par un. Supprimez les extensions et thèmes inutilisés : chaque composant abandonné est une porte.

Changer les secrets et durcir

L'infection signifie que des identifiants ont probablement fuité. Faites tourner le mot de passe de la base, les comptes administrateurs, les accès FTP/SFTP, les clés SSH et les jetons d'API. Dans wp-config.php, régénérez les clés de salage et passez le fichier en 600. Les permissions standard sont 644 pour les fichiers et 755 pour les dossiers ; 777 n'est jamais une solution.

Mettez à jour PHP, l'application et les extensions, désactivez l'éditeur de fichiers si l'application le permet et activez la double authentification sur les comptes d'administration.

Vérifier après le nettoyage

Relancez le scan, puis contrôlez :

  • les pages clés et les redirections avec curl -I https://votre-domaine.fr ;
  • les journaux, à la recherche de requêtes POST vers des scripts inconnus ;
  • les comptes administrateurs et les tâches planifiées.

Si le site a été signalé, demandez une réévaluation auprès du service concerné.

Surveillez pendant au moins deux semaines. Une réinfection indique que le point d'entrée, une sauvegarde ou un compte oublié n'a pas été traité. Si l'infection dépasse votre site, contactez le support : sur l'hébergement web KeyHelp, vous n'avez pas root, et sur un VPS, une compromission système impose une reconstruction.

Publicité

Cet article vous a-t-il aidé ?

À lire aussi