Notes techniques DeEhi Kioya
Et bien pas exactement le piratage. Mais laissez-moi vous expliquer
L’hébergement Web fait partie de mon activité et comme on pouvait s’y attendre, la plupart des clients construisent leurs sites avec WordPress. Tout leur contenu (fichiers et bases de données) se trouve sur mes serveurs et même si je n’ai peut-être pas (ou que je veux) un compte administrateur sur leurs installations WordPress, j’ai un accès root à la fois au niveau du système de fichiers et de la base de données.
Les clients oublient souvent leurs informations de connexion WordPress. Lorsque cela se produit, ils sont exclus de la zone d’administration de leurs sites et ont besoin d’aide pour y revenir. Il existe également des scénarios dans lesquels les administrateurs de serveur peuvent avoir besoin de « forcer » leur accès au site d’un client même si le client ne l’a pas demandé. Peut-être pour des raisons juridiques ou des violations de la politique. Ou selon le type de service de gestion fourni, les administrateurs du serveur peuvent avoir besoin de se connecter pour effectuer des mises à jour, une maintenance de routine, etc.
En résumé, les scénarios où le « piratage » d’un mot de passe WordPress peut être nécessaire incluent:
- Vous avez oublié le nom d’utilisateur et l’adresse e-mail de votre propre site.
- Vous connaissez le nom d’utilisateur ou l’adresse e-mail mais avez oublié le mot de passe. Et pour une raison quelconque, l’option de réinitialisation du mot de passe prête à l’emploi n’a pas fonctionné – peut-être parce que les e-mails de réinitialisation du mot de passe ne sont pas disponibles. Ou peut-être que vous n’avez plus accès à l’adresse e-mail d’origine utilisée.
- Votre client a perdu les informations de connexion d’un site WordPress que vous hébergez en son nom.
- Pour des raisons légales ou en raison de violations de la politique, vous êtes tenu de forcer votre accès à un site Web hébergé sur votre infrastructure.
- Votre site a été piraté et le compte administrateur a été supprimé (ou le mot de passe a été modifié).
Dans tous les cas, cet article explique comment un administrateur de serveur peut forcer la réinitialisation du mot de passe WordPress d’un utilisateur ou créer un nouvel utilisateur administrateur WordPress avec un tout nouveau mot de passe. Je vais montrer comment cela peut être fait à partir de la base de données MySQL principale ou en utilisant les fonctions.fichier php via FTP. Dans les deux cas, un compte WordPress sur le site Web en question n’est pas requis.
Les méthodes que nous explorerons ici sont:
- » Piratage » d’un mot de passe WordPress sur la base de données (en forçant une réinitialisation du mot de passe)
- Création d’un nouvel utilisateur administrateur WordPress via la base de données
- « Piratage » (réinitialisation) d’un mot de passe WordPress à l’aide des fonctions.fichier php
- Création d’un nouvel utilisateur administrateur WordPress à l’aide des fonctions.fichier php
Bien qu’aucune des méthodes ci-dessus ne soit exactement un piratage de mot de passe (puisque nous n’utilisons pas de techniques de force brute ou quelque chose comme ça), le résultat final « pirate » efficacement notre chemin dans WordPress avec les mêmes droits d’administration qui ont été précédemment perdus.
AVERTISSEMENT: Les processus décrits ici sont tout à fait légaux. Même si la pièce de hachage de mot de passe utilise cet outil que j’ai construit, l’outil utilise la fonction officielle de WordPress wp_hash_password() dans les coulisses. J’ai écrit cet article avec les administrateurs de serveur et les maîtres Web à l’esprit. Il se veut purement informatif et éducatif. Si quelqu’un utilise les instructions ici pour des raisons malveillantes, je ne peux être tenu responsable.
Commençons…
Méthode 1: « Pirater » (Réinitialiser) Un Mot De Passe WordPress Sur La Base De Données
Lancez votre outil d’administration de base de données. Cela pourrait être phpMyAdmin, HeidiSQL, MySQL Workbench, etc. Nous allons faire un changement sur la table wp_users.
REMARQUE : Le nom de la table peut être différent selon que votre installation utilise un préfixe de table personnalisé. Cet article suppose que wp_ est le préfixe de votre table. C’est la valeur par défaut. Un rapide coup d’œil aux noms de vos tables WordPress devrait vous aider à identifier votre préfixe de table et la table wp_users équivalente dans votre cas. Vous pouvez également trouver le préfixe de table défini explicitement dans wp-config.fichier php (la variable d’intérêt esttabletable_prefix).
Une fois que vous ouvrez la table wp_users pour afficher les données, vous devriez pouvoir identifier rapidement l’enregistrement utilisateur à modifier. Le champ d’intérêt (qui contient le mot de passe haché) est le champ user_pass. Ce champ aura une valeur qui ressemble à ceci :PPBEBE.lIb0ypAKBR2OZCREKMwSrPiWW9g1
Lancez le générateur de hachage de mot de passe WordPress. Entrez le nouveau mot de passe que vous souhaitez pour cet utilisateur et cliquez sur le bouton « Hachez cette phrase ». Copiez la chaîne générée et remplacez la valeur user_pass actuelle par celle-ci. Vous devriez pouvoir modifier la valeur en double-cliquant simplement dessus.
Enregistrez les modifications et connectez-vous à votre espace d’administration WordPress avec votre nouveau mot de passe. Selon la force de votre mot de passe choisi et si votre site Web applique des mots de passe forts, il peut vous être demandé de choisir un mot de passe fort immédiatement après vous être connecté.
Méthode 2: Création d’un nouvel utilisateur administrateur WordPress Via La base de données
La création d’un nouvel utilisateur administrateur est similaire au processus ci-dessus de réinitialisation du mot de passe d’un utilisateur. Mais c’est un peu plus compliqué. Cette fois, nous modifierons à la fois la table wp_users et la table wp_usermeta. Voici ce que vous devez faire
Créer un nouvel enregistrement dans la table wp_users. Définissez ces champs:
- user_login – Le nom d’utilisateur que vous souhaitez pour accéder à la zone d’administration WordPress
- user_pass – Le code de hachage du mot de passe que vous avez choisi généré à l’aide du générateur de hachage de mot de passe WordPress
- user_email – L’e–mail que vous souhaitez associer à ce nouveau compte
- user_registered – La date d’enregistrement de cet utilisateur
Tous les autres champs peuvent rester vides pour l’instant. Ce ne sont pas des champs obligatoires. Mais vous pouvez les modifier plus tard à partir du tableau de bord WordPress si vous le souhaitez. Enregistrez le nouvel enregistrement utilisateur.
Une fois enregistré, WordPress donnera automatiquement un identifiant à l’utilisateur. Ce numéro sera enregistré dans le champ ID. Notez ce numéro.
Ouvrez maintenant la table wp_usermeta. Nous allons créer deux nouveaux enregistrements dans ce tableau.
Pour les deux nouveaux enregistrements, définissez le champ user_id sur l’ID généré automatiquement ci-dessus.
Pour le premier enregistrement, définissez le champ meta_key sur wp_user_level et définissez le champ meta_value sur 10.
Pour le deuxième enregistrement, définissez le champ meta_key sur wp_capabilities et définissez le champ meta_value sur a:1:{s:13: « administrator »;s:1: »1″;}
NOTE: Les valeurs wp_user_level et wp_capabilities utilisées ci-dessus dépendront à nouveau du préfixe de table utilisé dans votre installation. Ainsi, si par exemple, le préfixe de votre table est wp_yourdomain_, les valeurs doivent être respectivement wp_yourdomain_user_level et wp_yourdomain_capabilities.
Enregistrez les deux enregistrements et connectez-vous à votre site Web WordPress avec le nouveau nom d’utilisateur et le nouveau mot de passe que vous venez de créer. Selon la force de votre mot de passe choisi et si votre site Web applique des mots de passe forts, il peut vous être demandé de choisir un mot de passe fort immédiatement après vous être connecté.
Une fois connecté, modifiez votre utilisateur à partir du tableau de bord WordPress. Pas besoin de changer quoi que ce soit. Faites simplement défiler vers le bas et appuyez sur le bouton Enregistrer. WordPress ajoutera en interne des informations supplémentaires au nouvel utilisateur que vous venez de créer. Si on vous demande de fournir des informations supplémentaires requises, fournissez-les simplement (par exemple, on pourrait vous demander de fournir un surnom unique).
Maintenant que vous avez un nouveau compte admin WordPress, vous pouvez continuer et supprimer l’ancien compte admin si vous le souhaitez. Pendant le processus de suppression, WordPress vous permettra d’attribuer tout le contenu créé par l’ancien utilisateur au nouvel utilisateur (ou à tout autre utilisateur existant).
Méthode 3: « Pirater » Un Mot De Passe WordPress En Utilisant Les Fonctions.fichier php
Ouvrez les fonctions.fichier php de votre thème actif dans un éditeur de texte. Ce fichier se trouve généralement ici : public_html/wp_content/themes/your-active-theme/functions.php
Ajoute cette ligne de code au fichier. Vous pouvez simplement l’ajouter à la fin du contenu existant.
wp_set_password('yourdesiredpassword', 1);
Il est préférable de choisir un mot de passe fort. De cette façon, si votre site Web applique des mots de passe forts, vous ne serez pas obligé de le modifier à nouveau après vous être connecté.
Dans le cas ci-dessus, le mot de passe de l’utilisateur avec un identifiant de 1 sera réinitialisé.
Enregistrez les fonctions.fichier php et visitez le frontend de votre site. Le mot de passe de l’utilisateur sera réinitialisé.
IMPORTANT: Avant même de confirmer que la réinitialisation du mot de passe a fonctionné, supprimez d’abord la ligne de code ci-dessus de vos fonctions.fichier php. Si vous ne le faites pas, le mot de passe sera réinitialisé à chaque chargement de page et vous ne parviendrez peut-être jamais à vous connecter avec le nouveau mot de passe que vous avez défini.
Après avoir supprimé le code de réinitialisation du mot de passe, vous pouvez maintenant vous connecter avec le nouveau mot de passe.
Vous pouvez en savoir plus sur la fonction wp_set_password() ici.
Notez que contrairement à la méthode de réinitialisation du mot de passe de la base de données ci-dessus, pour utiliser cette technique de réinitialisation du mot de passe FTP, vous devrez connaître au préalable l’identifiant de l’utilisateur. Mais comme vous ne le savez peut-être pas déjà (sans deviner), je pense que la méthode de réinitialisation du mot de passe de la base de données (décrite dans la méthode 1 ci-dessus) est plus puissante.
Méthode 4: Création D’Un Nouvel Utilisateur Administrateur WordPress À L’Aide Des Fonctions.fichier php
Ouvrez les fonctions.fichier php de votre thème actif.
Ajoutez ce code au fichier.
function ehi_kioya_create_admin_account(){$username = 'yourdesiredusername';$password = 'yourdesiredpassword'; // Choose a strong password. That way, if your website enforces strong passwords, you won't be required to change it again after signing in.$email = '[email protected]';// Only create user if chosen username and chosen email are not already in useif (!email_exists($email) && !username_exists($username)){$userid = wp_create_user($username, $password, $email);wp_update_user(array('ID' => $userid, 'nickname' => $email));$newuser = new WP_User($userid);$newuser->set_role('administrator');}}add_action('init','ehi_kioya_create_admin_account');
N’oubliez pas d’entrer vos propres valeurs de nom d’utilisateur, de mot de passe et d’e-mail. S’il y a déjà un utilisateur dans WordPress avec le nom d’utilisateur ou l’e-mail que vous avez choisi, un nouveau compte ne sera pas créé. Assurez-vous donc d’utiliser des valeurs uniques pour le nom d’utilisateur et l’e-mail.
Enregistrez les fonctions.fichier php, puis visitez simplement le frontend de votre site Web. Le code sera exécuté et le nouvel utilisateur administrateur sera créé. Vous pouvez ensuite vous connecter avec les informations d’identification du nouvel utilisateur.
Encore une fois, n’oubliez pas de supprimer le code des fonctions.fichier php.
Conclusion
Espérons que l’une des méthodes discutées ci-dessus vous aidera à retrouver un accès administratif à votre site Web WordPress. En ayant accès à la base de données et / ou au système de fichiers, vous prouvez que vous avez des droits sur le serveur et que vous devez donc avoir des droits sur les sites Web hébergés sur celui-ci. Si vous essayez de pirater un site Web WordPress pour lequel vous n’avez ni accès à la base de données ni au système de fichiers, alors vous essayez de pirater les sites d’autres personnes et vous n’êtes clairement pas à la hauteur. Obtenir un accès non autorisé aux sites Web d’autres personnes comme ça est un crime et non quelque chose que j’enseigne ou que j’encourage.
Si vous avez trouvé les méthodes discutées ici utiles, ou si vous avez une question ou une contribution, veuillez partager vos réflexions en utilisant la section commentaires ci-dessous.