Maison  >  Article  >  développement back-end  >  Comment lire le mot de passe utilisateur depuis MySQL-Front

Comment lire le mot de passe utilisateur depuis MySQL-Front

Y2J
Y2Joriginal
2017-05-12 10:30:432364parcourir

Cet article présente principalement les connaissances pertinentes de python3 pour lire le mot de passe MYSQL de MySQL-Front, qui a une bonne valeur de référence. Jetons un coup d'œil avec l'éditeur ci-dessous

Avant-propos

La même routine est encore là, continuez à essayerà partir du fichier de configuration Lisez les informations sensibles , cette fois c'est MySQL-Front.

MySQL-Front est un outil de gestion MySQL open source, le site officiel est www.mysqlfront.de/.

Le chemin du fichier de configuration :

Le fichier de configuration de MySQL-Front est stocké dans le répertoire utilisateur, et la variable d'environnement est %appdata%. Le chemin de stockage de

sous Windows 7 est :

C:Users%user%AppDataRoamingMySQL-FrontAccounts.xml

Accounts.xml est stocké dans ce XML fichier Toutes les informations importantes et les mots de passe ne sont pas cryptés par défaut. La dernière fois que j'ai oublié le mot de passe de l'utilisateur root mysql, j'ai pu récupérer le mot de passe immédiatement après avoir ouvert ce fichier

C'est l'avantage de ne pas le crypter. →_→Cependant, il y a toujours des gens sans scrupules qui veulent me faire du mal, je dois donc quand même protéger ces informations importantes pour éviter qu'elles ne soient lues par de mauvaises personnes.

XML formaté

Le contenu de Accounts.xml est compressé en une seule ligne. Doit être formaté dans un format agréable. De tels outils en ligne peuvent être trouvés en effectuant une recherche.

Le contenu formaté de Accounts.xml est le suivant :


<?xml version="1.0" encoding="utf-8"?>
<accounts version="1.1.0">
 <default>127.0.0.1</default>
 <account name="127.0.0.1">
 <lastlogin>42847.9391816088</lastlogin>
 <manualurl version="5.0.22-community-nt"></manualurl>
 <connection>
  <database></database>
  <host>127.0.0.1</host>
  <library>
  <filename>libMySQL.dll</filename>
  <tunnel_url></tunnel_url>
  </library>
  <password encode="none">root</password>
  <port>3306</port>
  <user>root</user>
 </connection>
 <favorites />
 </account>
 <account name="daqin">
 <lastlogin>0</lastlogin>
 <manualurl version=""></manualurl>
 <connection>
  <database></database>
  <host>127.0.0.1</host>
  <library>
  <filename>libMySQL.dll</filename>
  <tunnel_url></tunnel_url>
  </library>
  <password encode="none">daqin</password>
  <port>3306</port>
  <user>daqin</user>
 </connection>
 <favorites />
 </account>
</accounts>

Le puissant outil de Python pour le traitement du XML et HTML PyQuery

À des fins de pratique, je souhaite utiliser la bibliothèque standard XML de python pour traiter XML, mais python fournit plusieurs méthodes intégrées : xml.sax xml . dom xml.minidom

et xml.parsers.expat Il y a trop de choix, j'ai donc décidé d'utiliser PyQuery PyQuery s'appuie sur le style jquery implémenté par. lxml. Bibliothèque d'analyse et de traitement XML.

Lxml est une bibliothèque très importante en Python. On sait que certaines fonctions de pandas, BeautifulSoup et d'autres bibliothèques dépendent de lxml.

Entrez la commande install :

pip install pyquery

Vous pourrez écrire le code après avoir lu le tutoriel↓↓↓

python3 lit le mot de passe de MySQL-Front :


# -*- coding: utf-8 -*-
"""
Created on 2017-04-22 22:53:35

@author: codegay
"""
import os
from pyquery import PyQuery as pyq

xmlpath = os.environ[&#39;appdata&#39;]+r&#39;\MySQL-Front\Accounts.xml&#39;

root = pyq(filename=xmlpath)
for r in root(&#39;connection&#39;).items():
 print("----------------------------------------------")
 print(&#39;host:&#39;,r(&#39;host&#39;).text())
 print(&#39;username:&#39;,r(&#39;user&#39;).text())
 print(&#39;password:&#39;,r(&#39;password&#39;).text())

Sortie après exécution du code :


----------------------------------------------
host: 127.0.0.1
username: root
password: root
----------------------------------------------
host: 127.0.0.1
username: daqin
password: daqin

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn