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之使用Python操作数据库(1)
Nov 25 Python
Python中threading模块join函数用法实例分析
Jun 04 Python
python实现自动登录人人网并采集信息的方法
Jun 28 Python
Python实现配置文件备份的方法
Jul 30 Python
书单|人生苦短,你还不用python!
Dec 29 Python
Python 数据库操作 SQLAlchemy的示例代码
Feb 18 Python
python tkinter实现彩球碰撞屏保
Jul 30 Python
Python实现图片添加文字
Nov 26 Python
使用Python打造一款间谍程序的流程分析
Feb 21 Python
jupyter 中文乱码设置编码格式 避免控制台输出的解决
Apr 20 Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
Jun 08 Python
如何在Win10系统使用Python3连接Hive
Oct 15 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 在线翻译函数代码
2009/05/07 PHP
php递归删除目录与文件的方法
2015/01/30 PHP
JavaScript的类型简单说明
2010/09/03 Javascript
window.name代替cookie的实现代码
2010/11/28 Javascript
extjs3 combobox取value和text案例详解
2013/02/06 Javascript
为指定的元素添加遮罩层的示例代码
2014/01/15 Javascript
javascript实现汉字转拼音代码分享
2015/04/20 Javascript
浅谈javascript事件取消和阻止冒泡
2015/05/26 Javascript
jQuery替换textarea中换行的方法
2015/06/10 Javascript
Bootstrap每天必学之模态框(Modal)插件
2016/04/26 Javascript
总结JavaScript三种数据存储方式之间的区别
2016/05/03 Javascript
js获取新浪天气接口的实现代码
2016/06/06 Javascript
jQuery插件学习教程之SlidesJs轮播+Validation验证
2016/07/12 Javascript
浅谈Nodejs应用主文件index.js
2016/08/28 NodeJs
javascript 操作cookies详解及实例
2017/02/22 Javascript
Vue 创建组件的两种方法小结(必看)
2018/02/23 Javascript
收集前端面试题之url、href、src
2018/03/22 Javascript
浅谈Vue中render中的h箭头函数
2019/11/07 Javascript
JavaScript实现文件下载并重命名代码实例
2019/12/12 Javascript
解决Vue 刷新页面导航显示高亮位置不对问题
2019/12/25 Javascript
JavaScript实现横版菜单栏
2020/03/17 Javascript
[03:00]2018完美盛典_最佳英雄奖
2018/12/17 DOTA
用Python制作简单的钢琴程序的教程
2015/04/01 Python
python tkinter实现界面切换的示例代码
2019/06/14 Python
python 并发编程 阻塞IO模型原理解析
2019/08/20 Python
python 将dicom图片转换成jpg图片的实例
2020/01/13 Python
python中使用paramiko模块并实现远程连接服务器执行上传下载功能
2020/02/29 Python
解决导入django_filters不成功问题No module named 'django_filter'
2020/07/15 Python
运动会领导邀请函
2014/02/05 职场文书
出纳员岗位责任制
2014/02/11 职场文书
安全承诺书
2015/01/19 职场文书
2015年乡镇信访工作总结
2015/04/07 职场文书
护士长2015年终工作总结
2015/04/24 职场文书
2016年寒假生活小结
2015/10/10 职场文书
详解CSS开发过程中的20个快速提升技巧
2021/05/21 HTML / CSS
MySQL数据库配置信息查看与修改方法详解
2022/06/25 MySQL