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网络编程学习笔记(10):webpy框架
Jun 09 Python
Python下的twisted框架入门指引
Apr 15 Python
Python的Flask站点中集成xhEditor文本编辑器的教程
Jun 13 Python
python互斥锁、加锁、同步机制、异步通信知识总结
Feb 11 Python
对numpy.append()里的axis的用法详解
Jun 28 Python
详解Django中CBV(Class Base Views)模型源码分析
Feb 25 Python
Python3模拟登录操作实例分析
Mar 12 Python
python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条功能
Jul 04 Python
python抓取多种类型的页面方法实例
Nov 20 Python
Python zip函数打包元素实例解析
Dec 11 Python
python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例
Feb 28 Python
pytorch掉坑记录:model.eval的作用说明
Jun 23 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 xml实例 留言本
2009/03/20 PHP
Discuz批量替换帖子内容的方法(使用SQL更新数据库)
2014/06/23 PHP
getimagesize获取图片尺寸实例
2014/11/15 PHP
PHP常用函数之根据生日计算年龄功能示例
2019/10/21 PHP
说明你的Javascript技术很烂的五个原因
2011/04/26 Javascript
基于jquery自己写tab滑动门(通用版)
2012/10/30 Javascript
window.open的页面如何刷新(父页面)上层页面
2012/12/28 Javascript
让你的博客飘雪花超出屏幕依然看得见
2013/01/04 Javascript
JavaScript避免内存泄露及内存管理技巧
2014/09/05 Javascript
node.js中的path.sep方法使用说明
2014/12/08 Javascript
深入剖析JavaScript编程中的对象概念
2015/10/21 Javascript
深入理解JavaScript中的浮点数
2016/05/18 Javascript
JS实现兼容各种浏览器的高级拖动方法完整实例【测试可用】
2016/06/21 Javascript
easyUI实现(alert)提示框自动关闭的实例代码
2016/11/07 Javascript
windows下vue-cli及webpack搭建安装环境
2017/04/25 Javascript
JS+canvas动态绘制饼图的方法示例
2017/09/12 Javascript
vuex 的简单使用
2018/03/22 Javascript
vue.js编译时给生成的文件增加版本号
2018/09/17 Javascript
angular8和ngrx8结合使用的步骤介绍
2019/12/01 Javascript
Python内置的字符串处理函数整理
2013/01/29 Python
关于Tensorflow中的tf.train.batch函数的使用
2018/04/24 Python
详解django中url路由配置及渲染方式
2019/02/25 Python
python把ipynb文件转换成pdf文件过程详解
2019/07/09 Python
pytorch点乘与叉乘示例讲解
2019/12/27 Python
python-sys.stdout作为默认函数参数的实现
2020/02/21 Python
在Python中用GDAL实现矢量对栅格的切割实例
2020/03/11 Python
eDreams意大利:南欧领先的在线旅行社
2018/11/23 全球购物
北京RT科技有限公司.net工程师面试题
2013/02/15 面试题
幼儿教师自我鉴定
2013/11/02 职场文书
大堂副理的岗位职责范文
2014/02/17 职场文书
亮剑精神演讲稿
2014/05/23 职场文书
2015年乡镇组织委员工作总结
2015/10/23 职场文书
《静夜思》教学反思
2016/02/17 职场文书
幼儿园教师教学反思
2016/03/02 职场文书
大学学生会主席竞选稿怎么写?
2019/08/19 职场文书
CSS 一行代码实现头像与国旗的融合
2021/10/24 HTML / CSS