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中列表和元组的使用方法和区别详解
Dec 30 Python
Odoo中如何生成唯一不重复的序列号详解
Feb 10 Python
Python使用MD5加密算法对字符串进行加密操作示例
Mar 30 Python
基于pip install django失败时的解决方法
Jun 12 Python
python中的for循环
Sep 28 Python
浅谈Pandas:Series和DataFrame间的算术元素
Dec 22 Python
python处理multipart/form-data的请求方法
Dec 26 Python
使用Python制作简单的小程序IP查看器功能
Apr 16 Python
Python批量查询关键词微信指数实例方法
Jun 27 Python
使用python-pptx包批量修改ppt格式的实现
Feb 14 Python
基于python实现操作redis及消息队列
Aug 27 Python
详解Django关于StreamingHttpResponse与FileResponse文件下载的最优方法
Jan 07 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笔记之:初探PHPcms模块开发介绍
2013/04/26 PHP
yii2中的rules 自定义验证规则详解
2016/04/19 PHP
php面向对象程序设计入门教程
2019/06/22 PHP
用js判断用户浏览器是否是XP SP2的IE6
2007/03/08 Javascript
常见JS效果之图片减速度滚动实现代码
2011/12/08 Javascript
网页中可关闭的漂浮窗口实现可自行调节
2013/08/20 Javascript
ajax请求乱码的解决方法(中文乱码)
2014/04/10 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(一)
2016/05/17 Javascript
JavaScript编写一个简易购物车功能
2016/09/17 Javascript
js学习笔记之事件处理模型
2016/10/31 Javascript
JavaScript DOM节点操作实例小结(新建,删除HTML元素)
2017/01/19 Javascript
从零学习node.js之模块规范(一)
2017/02/21 Javascript
一篇看懂vuejs的状态管理神器 vuex状态管理模式
2017/04/20 Javascript
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
2017/05/05 jQuery
jQuery+Datatables实现表格批量删除功能【推荐】
2018/10/24 jQuery
JavaScript之实现一个简单的Vue示例
2019/01/17 Javascript
js图片无缝滚动插件使用详解
2020/05/26 Javascript
Vue自定义指令结合阿里云OSS优化图片的实现方法
2019/11/12 Javascript
Vue实现一种简单的无限循环滚动动画的示例
2021/01/10 Vue.js
vite2.0+vue3移动端项目实战详解
2021/03/03 Vue.js
MySQL最常见的操作语句小结
2015/05/07 Python
python比较2个xml内容的方法
2015/05/11 Python
在Python中用split()方法分割字符串的使用介绍
2015/05/20 Python
Python开发微信公众平台的方法详解【基于weixin-knife】
2017/07/08 Python
Python3.7实现中控考勤机自动连接
2018/08/28 Python
Django中reverse反转并且传递参数的方法
2019/08/06 Python
浅谈keras中的batch_dot,dot方法和TensorFlow的matmul
2020/06/18 Python
毕业生自我推荐
2013/11/04 职场文书
大学生家政服务项目创业计划书
2014/01/30 职场文书
机关单位动员会主持词
2014/03/20 职场文书
酒后驾车标语
2014/06/30 职场文书
整改落实自查报告
2014/11/05 职场文书
2014年食堂工作总结
2014/11/20 职场文书
2014年实习生工作总结
2014/11/27 职场文书
中层干部考核评语
2015/01/04 职场文书
新娘婚礼答谢词
2015/09/29 职场文书