python3读取MySQL-Front的MYSQL密码
前言
同样的套路又来了,继续尝试从配置文件中读取敏感的信息,这次轮到的是MySQL-Front。
MySQL-Front就一款开源的mysql管理工具,官方网站http://www.mysqlfront.de/。
配置文件的路径:
MySQL-Front的配置文件存在用户目录下,环境变量是%appdata%。
在windows7下的存储路径是:
C:\Users\%user%\AppData\Roaming\MySQL-Front\Accounts.xml
Accounts.xml这个XML文件里面存储了所有重要的信息,且密码默认不是加密的。上次我忘记mysqlroot用户的密码,打开这个文件立马就找回密码,
这个算是不加密的好处吧。→_→不过总有刁民想害朕,还是需要保护好这些重要的信息,以免被坏人读取到。
格式化XML
Accounts.xml中的内容是被压缩成一行的。需要格式化成好看的格式。这类在线工具搜索一下就可以找得到。
Accounts.xml格式化后的内容如下:
127.0.0.1 42847.9391816088 127.0.0.1 libMySQL.dll root 3306 root 0 127.0.0.1 libMySQL.dll daqin 3306 daqin
python处理XML、HTML的利器PyQuery
我出于要练习的目的,想要用python的XML标准库处理XML,但是发python内置提供了好几种方法:xml.saxxml.domxml.minidom
以及还有xml.parsers.expat,选择太多,还是决定用PyQuery,PyQuery是依赖于lxml实现的jquery风格的xml解析和处理库。
lxml算是python很重要的库了,已知pandas,BeautifulSoup等等这些库有部分功能依赖lxml。
输入命令安装即可:
pipinstallpyquery
看完教程后就能把代码写出来了↓↓↓
python3读取MySQL-Front的密码:
#-*-coding:utf-8-*- """ Createdon2017-04-2222:53:35 @author:codegay """ importos frompyqueryimportPyQueryaspyq xmlpath=os.environ['appdata']+r'\MySQL-Front\Accounts.xml' root=pyq(filename=xmlpath) forrinroot('connection').items(): print("----------------------------------------------") print('host:',r('host').text()) print('username:',r('user').text()) print('password:',r('password').text())
运行代码后输出:
---------------------------------------------- host:127.0.0.1 username:root password:root ---------------------------------------------- host:127.0.0.1 username:daqin password:daqin
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持毛票票!