前言
同样的套路又来了,继续尝试从配置文件中读取敏感的信息,这次轮到的是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文件里面存储了所有重要的信息,且密码默认不是加密的。上次我忘记mysql root用户的密码,打开这个文件立马就找回密码,
这个算是不加密的好处吧。→_→不过总有刁民想害朕,还是需要保护好这些重要的信息,以免被坏人读取到。
格式化XML
Accounts.xml 中的内容是被压缩成一行的。需要格式化成好看的格式。这类在线工具搜索一下就可以找得到。
Accounts.xml 格式化后的内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
<? 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 >
|
python处理XML、HTML的利器PyQuery
我出于要练习的目的,想要用python的XML标准库处理XML ,但是发python 内置提供了好几种方法:xml.sax xml.dom xml.minidom
以及还有xml.parsers.expat ,选择太多,还是决定用PyQuery,PyQuery是依赖于lxml实现的jquery风格的xml解析和处理库。
lxml算是python很重要的库了,已知pandas,BeautifulSoup等等这些库有部分功能依赖lxml。
输入命令安装即可:
pip install pyquery
看完教程后就能把代码写出来了↓↓↓
python3 读取 MySQL-Front 的密码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# -*- coding: utf-8 -*-
"""
Created on 2017-04-22 22:53:35
@author: codegay
"""
import os
from pyquery import PyQuery as pyq
xmlpath = os.environ[ 'appdata' ] + r '\MySQL-Front\Accounts.xml'
root = pyq(filename = xmlpath)
for r in root( 'connection' ).items():
print ( "----------------------------------------------" )
print ( 'host:' ,r( 'host' ).text())
print ( 'username:' ,r( 'user' ).text())
print ( 'password:' ,r( 'password' ).text())
|
运行代码后输出:
1
2
3
4
5
6
7
8
|
----------------------------------------------
host: 127.0.0.1
username: root
password: root
----------------------------------------------
host: 127.0.0.1
username: daqin
password: daqin
|
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持服务器之家!
原文链接:http://www.cnblogs.com/gayhub/p/6799996.html