Le pirate a changé le mot de passe admin de WordPress : reprendre la main
Publié le · 8 min de lecture· Par Benjamin Bueno

Sommaire
- Vérifier que le mot de passe admin a bien été changé par un pirate
- Voie 1 : le lien « Mot de passe oublié », si votre email est intact
- Voie 2 : phpMyAdmin, réécrire le mot de passe dans wp_users
- Voie 3 : WP-CLI, la méthode la plus propre avec un accès SSH
- Voie 4 : un fichier temporaire déposé en FTP
- Voie 5 : le panneau de l'hébergeur
- Voie 6 : quand l'hébergeur doit intervenir
- Juste après : le pirate a peut-être encore une porte dérobée
- Si vous préférez que nous reprenions la main pour vous
- Sources
En bref : si le pirate a changé le mot de passe administrateur, vous pouvez reprendre la main sans lui : par « Mot de passe oublié » si votre email n'a pas été modifié, par phpMyAdmin (table wp_users), par WP-CLI (wp user update), par un fichier temporaire déposé en FTP, par le panneau de l'hébergeur ou, en dernier recours, par son support. Ensuite, changez tous les mots de passe, renouvelez les clés de sécurité, supprimez les comptes inconnus et nettoyez le site : le pirate a presque toujours laissé une porte dérobée.
Votre mot de passe habituel est refusé sur wp-login.php, la réinitialisation n'arrive jamais, et parfois un avis « Password Changed » ou « Email Changed » est arrivé dans la nuit. Le pirate a pris votre compte et a peut-être remplacé votre email par le sien. Voici les six voies pour reprendre l'accès, de la plus simple à la plus technique, avec les commandes exactes de la documentation WordPress.org et de WP-CLI, puis ce qu'il faut faire dans l'heure qui suit.
Vérifier que le mot de passe admin a bien été changé par un pirate
Écartez d'abord les causes banales : un gestionnaire de mots de passe qui remplit une ancienne valeur, une extension de sécurité qui bloque votre adresse IP après trop d'essais. Les signes d'un piratage :
- Un avis de changement de mot de passe ou d'email que vous n'avez pas demandé. WordPress l'envoie depuis
wp_update_user()dès qu'un profil est modifié dans l'administration, et l'avis de changement d'email part vers l'ancienne adresse, donc vers vous ; une modification directe en base n'envoie rien. - « Mot de passe oublié » annonce un envoi, mais rien n'arrive : l'adresse du compte n'est plus la vôtre.
- Des administrateurs inconnus dans la liste des utilisateurs, sujet de notre article Un administrateur inconnu est apparu dans WordPress.
- Le site redirige, affiche du contenu étranger, ou l'hébergeur vous a écrit.
Avant de toucher à quoi que ce soit
Faites des captures, notez l'heure, exportez une sauvegarde des fichiers et de la base. Ne supprimez rien encore : les comptes et fichiers du pirate sont des preuves et des indices sur la faille. Les premiers réflexes sont détaillés dans Site WordPress piraté : que faire dans la première heure.
Voie 1 : le lien « Mot de passe oublié », si votre email est intact
Sur votre-site.fr/wp-login.php?action=lostpassword, saisissez votre identifiant ou votre email. WordPress envoie un lien de réinitialisation à l'adresse enregistrée sur le compte. Si rien ne vient, vérifiez le courrier indésirable, puis considérez que l'adresse a été changée et passez à la voie suivante.
Voie 2 : phpMyAdmin, réécrire le mot de passe dans wp_users
Votre hébergeur donne accès à la base par phpMyAdmin ou Adminer. C'est la voie que recommande la FAQ « My site was hacked » de WordPress.org quand un compte administrateur a été détourné. Le préfixe des tables n'est pas toujours wp_ : il est indiqué par $table_prefix dans wp-config.php.
- Ouvrez la base du site, puis la table
wp_users. - Repérez votre ligne par
user_login. Siuser_emailn'est plus votre adresse, remettez-la. - Cliquez sur Modifier. Dans
user_pass, effacez la valeur, tapez votre nouveau mot de passe en clair et choisissez MD5 dans la liste « Fonction ». Validez.
Ou, en une requête depuis l'onglet SQL :
UPDATE wp_users
SET user_pass = MD5('VotreNouveauMotDePasseLong'), user_email = 'vous@exemple.fr'
WHERE user_login = 'votre_identifiant';
Pourquoi MD5 ? Depuis la version 6.8, WordPress stocke les mots de passe en bcrypt (préfixe $wp$2y$), mais la documentation « Reset your password », mise à jour en mars 2026, confirme qu'un hachage MD5 écrit à la main reste reconnu à la connexion, puis remplacé par un hachage bcrypt. Changez donc à nouveau le mot de passe depuis votre profil une fois connecté.
Si l'adresse de notification du site a aussi été changée (Réglages > Général), corrigez la ligne admin_email de la table wp_options. Notre guide phpMyAdmin montre l'interface pas à pas.
Voie 3 : WP-CLI, la méthode la plus propre avec un accès SSH
Avec SSH et WP-CLI, selon ce que propose votre hébergeur, tout se fait en trois commandes depuis le dossier du site :
wp user list --role=administrator --format=csv
wp user update votre_identifiant --user_pass='VotreNouveauMotDePasseLong' --user_email='vous@exemple.fr'
wp user session destroy votre_identifiant --all
La première liste les administrateurs (notez les inconnus), la deuxième réécrit mot de passe et email, la troisième détruit les sessions ouvertes du compte, celle du pirate comprise. Deux compléments : wp user create secours vous@exemple.fr --role=administrator crée un compte de secours avec un mot de passe aléatoire ; wp user list --field=ID | xargs -n 1 wp user session destroy --all déconnecte tous les utilisateurs.
Voie 4 : un fichier temporaire déposé en FTP
Avec seulement un accès FTP ou SFTP, faites exécuter le changement par WordPress lui-même : la documentation WordPress.org propose d'ajouter, juste après le premier <?php de functions.php du thème actif :
wp_set_password( 'VotreNouveauMotDePasseLong', 1 );
Le 1 est l'ID de l'utilisateur dans wp_users, en général le premier administrateur. Chargez une page, connectez-vous, puis retirez la ligne immédiatement : elle réinitialise le mot de passe à chaque chargement tant qu'elle est là.
Si vous ignorez votre ID ou si le thème a été modifié par le pirate, préférez un mu-plugin : un fichier PHP placé directement dans wp-content/mu-plugins/. Les mu-plugins sont chargés d'office, n'apparaissent pas dans la liste des extensions et ne se désactivent qu'en supprimant le fichier. Celui-ci crée un compte de secours une seule fois :
<?php
// wp-content/mu-plugins/secours.php : à supprimer dès la première connexion.
add_action( 'init', function () {
$login = 'secours-temporaire';
if ( username_exists( $login ) ) {
return;
}
$id = wp_create_user( $login, 'VotreNouveauMotDePasseLong', 'vous@exemple.fr' );
if ( ! is_wp_error( $id ) ) {
( new WP_User( $id ) )->set_role( 'administrator' );
}
} );
Connectez-vous avec ce compte, reprenez votre compte d'origine depuis Utilisateurs > Tous les utilisateurs, puis supprimez le fichier et le compte de secours. C'est la technique des pirates pour recréer un administrateur après chaque nettoyage, décrite dans notre article sur les portes dérobées dans mu-plugins.
Voie 5 : le panneau de l'hébergeur
Sur cPanel, WP Toolkit (Outils > Domaines) affiche pour chaque installation un bouton « Log in » qui ouvre l'administration sans mot de passe WordPress, et des réglages pour changer le mot de passe de connexion et l'email de l'administrateur. Cette voie suppose que votre compte d'hébergement est intact. Notre page back-office perdu décrit notre intervention quand aucune voie n'est accessible.
Voie 6 : quand l'hébergeur doit intervenir
- Le mot de passe de l'espace client, du FTP ou de la base a été changé : plus aucun accès aux fichiers.
- La boîte email de contact du compte d'hébergement est elle-même compromise.
- L'hébergeur a suspendu le site après avoir détecté le malware ; voyez notre article sur les suspensions pour malware ou spam.
Ouvrez un ticket depuis un appareil sain, avec un justificatif d'identité et le numéro de client. Demandez la réinitialisation des accès et la liste des connexions récentes, puis activez la double authentification sur le compte d'hébergement.
Juste après : le pirate a peut-être encore une porte dérobée
Un mot de passe changé n'a jamais fait partir un pirate. Il est entré par une faille ou un accès volé et a laissé de quoi revenir : compte caché, fichier PHP dans uploads, mu-plugin, mot de passe d'application, session encore ouverte. Dans l'heure qui suit :
- Changez tous les mots de passe : chaque compte WordPress éditeur ou administrateur, FTP ou SFTP, base de données (puis
wp-config.php), espace client, boîtes email. WordPress.org insiste : FTP, wp-admin, panneau d'hébergement et MySQL, pour tous les utilisateurs. - Renouvelez les clés de sécurité de
wp-config.php(AUTH_KEY,SECURE_AUTH_KEY,LOGGED_IN_KEY,NONCE_KEYet leurs sels) avec le générateurapi.wordpress.org/secret-key/1.1/salt/. Les changer invalide tous les cookies et oblige tout le monde à se reconnecter, pirate compris (détails dans notre article sur les clés de sécurité et les sessions WordPress). - Passez en revue les utilisateurs. Supprimez les comptes inconnus en attribuant leurs contenus à votre compte, vérifiez le rôle et l'email de chaque compte restant. Comparez le rôle affiché avec la clé
wp_capabilitiesdewp_usermeta: un compte peut y recevoir directement des capacités d'administrateur sans porter le rôle, et la liste affiche alors un rôle anodin. - Révoquez les mots de passe d'application, utilisés pour l'API REST et invisibles à l'écran de connexion : dans le profil de chaque administrateur, ou via
wp user application-password list votre_identifiant --fields=name,created, puis supprimez les inconnus. - Cherchez la porte dérobée : fichiers PHP dans
wp-content/uploads, contenu demu-plugins, extensions et thèmes que vous n'avez pas installés, fichiers modifiés récemment (find . -name "*.php" -mtime -30), code obscurci. Cette recherche fait partie du nettoyage complet d'un site WordPress piraté. - Mettez tout à jour et fermez la faille (mot de passe faible ou réutilisé, extension vulnérable qui permet de créer ou modifier un utilisateur), puis changez les mots de passe une seconde fois : WordPress.org le recommande, car le pirate a pu lire les premiers pendant que sa porte dérobée était encore en place.
- Activez la double authentification sur tous les administrateurs et limitez les tentatives de connexion, avec notre guide pour sécuriser la connexion WordPress et notre comparatif des solutions 2FA.
Un test simple pour savoir si le pirate est encore là
Clés renouvelées et sessions détruites, notez le nombre d'utilisateurs, la liste des fichiers de mu-plugins et la date du fichier le plus récent dans uploads. Revérifiez chaque jour pendant une semaine. Un nouvel administrateur, un fichier PHP apparu, un mot de passe qui « ne marche plus » à nouveau : la porte dérobée est toujours là.
Si vous préférez que nous reprenions la main pour vous
Notre équipe répare et sécurise des sites WordPress piratés depuis 2016. Envoyez-nous un accès à votre espace d'hébergement, même sans accès WordPress : diagnostic gratuit sous 12 heures, puis récupération du compte, suppression des portes dérobées et nettoyage sous 48 heures, à prix fixe de 350 € annoncé avant intervention et remboursé si nous échouons. Vous recevez la liste des fichiers touchés, la faille identifiée et les accès renouvelés.
Sources
Pages consultées le 6 septembre 2026.
- WordPress.org, « Reset your password », documentation mise à jour le 27 mars 2026, wordpress.org.
- WordPress.org, « FAQ My site was hacked », documentation mise à jour le 26 juillet 2026, wordpress.org.
- John Blackbourn, « WordPress 6.8 will use bcrypt for password hashing », Make WordPress Core, 17 février 2025, make.wordpress.org.
- WP-CLI, références des commandes wp user update, wp user list, wp user create, wp user session destroy et wp user application-password, developer.wordpress.org.
- WordPress Developer Resources, « wp_update_user() », developer.wordpress.org.
- WordPress Developer Resources, « Must Use Plugins », developer.wordpress.org.
- WordPress Developer Resources, « wp-config.php », section Security Keys, developer.wordpress.org.
- hosting.com, « Managing WordPress using the cPanel WP Toolkit », kb.hosting.com.
Votre site est touché ?
Nous intervenons sur les sites WordPress piratés, nettoyage et sécurisation compris. Décrivez votre situation, nous vous répondons.
À lire aussi

Un administrateur inconnu est apparu dans WordPress : d'où il vient et comment s'en débarrasser
Un administrateur que vous n'avez pas créé est apparu dans WordPress ? D'où vient le compte, trouver les comptes cachés, fermer les accès et nettoyer.
· 8 min de lecture

Analyser les journaux pour dater et comprendre un piratage WordPress
Où trouver les logs, quoi y chercher, les commandes grep, awk et find avec exemples, et comment reconstituer la chronologie d'un piratage WordPress.
· 10 min de lecture

Faux CAPTCHA et ClickFix sur les sites WordPress piratés : détecter et supprimer la fausse vérification
Votre site WordPress affiche un faux CAPTCHA ou une fausse vérification Cloudflare (ClickFix) ? Où se cache l'injection, comment la voir et la supprimer.
· 9 min de lecture

Google Ads suspendu pour « site compromis » : comment lever la suspension
Annonces refusées ou compte Google Ads suspendu pour « site infecté » ? La règle, le nettoyage, le réexamen Search Console, l'appel et les délais.
· 8 min de lecture