python3读取MySQL-Front的MYSQL密码


Posted in Python onMay 03, 2017

前言

同样的套路又来了,继续尝试从配置文件中读取敏感的信息,这次轮到的是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 格式化后的内容如下:

<?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 的密码:

# -*- 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())

运行代码后输出:

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

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Python 相关文章推荐
Python实现信用卡系统(支持购物、转账、存取钱)
Jun 24 Python
Python+微信接口实现运维报警
Aug 27 Python
Python 正则表达式入门(中级篇)
Dec 07 Python
python 递归遍历文件夹,并打印满足条件的文件路径实例
Aug 30 Python
Python批量提取PDF文件中文本的脚本
Mar 14 Python
在Django中输出matplotlib生成的图片方法
May 24 Python
Python 监测文件是否更新的方法
Jun 10 Python
Python实现简单的列表冒泡排序和反转列表操作示例
Jul 10 Python
Python序列对象与String类型内置方法详解
Oct 22 Python
django实现用户注册实例讲解
Oct 30 Python
Pycharm中配置远程Docker运行环境的教程图解
Jun 11 Python
端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!
Jun 11 Python
Python判断变量是否为Json格式的字符串示例
May 03 #Python
Windows和Linux下Python输出彩色文字的方法教程
May 02 #Python
python中字符串类型json操作的注意事项
May 02 #Python
python实现逻辑回归的方法示例
May 02 #Python
pycharm中连接mysql数据库的步骤详解
May 02 #Python
Python多线程实现同步的四种方式
May 02 #Python
Python之Web框架Django项目搭建全过程
May 02 #Python
You might like
浅析PHP微信支付通知的处理方式
2014/05/25 PHP
php短址转换实现方法
2015/02/25 PHP
php使用COPY函数更新配置文件的方法
2015/06/18 PHP
PHP下载远程图片并保存到本地方法总结
2016/01/22 PHP
thinkPHP5.0框架简单配置作用域的方法
2017/03/17 PHP
PHP封装的完整分页类示例
2018/08/21 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
简单的无缝滚动程序-仅几行代码
2007/05/08 Javascript
JS添加删除一组文本框并对输入信息加以验证判断其正确性
2013/04/11 Javascript
JavaScript中统计Textarea字数并提示还能输入的字符
2014/06/10 Javascript
jquery实现图片随机排列的方法
2015/05/04 Javascript
javascript手风琴下拉菜单实现代码
2015/11/12 Javascript
Jquery实现遮罩层的简单实例(就是弹出DIV周围都灰色不能操作)
2016/07/14 Javascript
js获取隐藏元素的宽高
2017/02/24 Javascript
JS实现简单的天数计算器完整实例
2017/04/28 Javascript
vue中组件的过渡动画及实现代码
2018/11/21 Javascript
vue-cli配置全局sass、less变量的方法
2019/06/06 Javascript
Vue 中可以定义组件模版的几种方式
2019/08/06 Javascript
Vue项目实现换肤功能的一种方案分析
2019/08/28 Javascript
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
2020/02/06 NodeJs
[38:23]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第一场
2014/05/24 DOTA
python计数排序和基数排序算法实例
2014/04/25 Python
C#返回当前系统所有可用驱动器符号的方法
2015/04/18 Python
python requests post多层字典的方法
2018/12/27 Python
Python中的pathlib.Path为什么不继承str详解
2019/06/23 Python
使用Python进行防病毒免杀解析
2019/12/13 Python
Python Des加密解密如何实现软件注册码机器码
2020/01/08 Python
python中np是做什么的
2020/07/21 Python
美国医生配方营养补充剂供应商:Healthy Directions
2019/07/10 全球购物
英国家居用品和床上用品零售商:P&B Home
2020/01/16 全球购物
优秀毕业生自我鉴定
2014/01/19 职场文书
三年级科学教学反思
2014/01/29 职场文书
求职简历的自我评价
2014/01/31 职场文书
财务担保书范文
2014/04/02 职场文书
2015最新婚礼主持词
2015/06/30 职场文书
python随机打印成绩排名表
2021/06/23 Python