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去掉字符串中空格的方法
Mar 11 Python
跟老齐学Python之坑爹的字符编码
Sep 28 Python
python模拟鼠标拖动操作的方法
Mar 11 Python
在Linux下调试Python代码的各种方法
Apr 17 Python
python黑魔法之编码转换
Jan 25 Python
Python数据分析之真实IP请求Pandas详解
Nov 18 Python
浅谈Python2.6和Python3.0中八进制数字表示的区别
Apr 28 Python
Python使用回溯法子集树模板获取最长公共子序列(LCS)的方法
Sep 08 Python
详解Python nose单元测试框架的安装与使用
Dec 20 Python
详解pandas安装若干异常及解决方案总结
Jan 10 Python
Appium+Python自动化测试之运行App程序示例
Jan 23 Python
解决pycharm修改代码后第一次运行不生效的问题
Feb 06 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
给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug
2007/04/12 PHP
php判断并删除空目录及空子目录的方法
2015/02/11 PHP
PHP Yaf框架的简单安装使用教程(推荐)
2016/06/08 PHP
PHP实现双链表删除与插入节点的方法示例
2017/11/11 PHP
将jQuery应用于login页面的问题及解决
2009/10/17 Javascript
JavaScript cookie的设置获取删除详解
2014/02/11 Javascript
jquery+css3打造一款ajax分页插件(自写)
2014/06/18 Javascript
JavaScript lodash常见用法系列小结
2016/08/24 Javascript
js中的面向对象入门
2017/03/06 Javascript
Vue.js实现移动端短信验证码功能
2017/03/29 Javascript
vue基于element的区间选择组件
2018/09/07 Javascript
生产制造追溯系统之再说条码打印
2019/06/03 Javascript
layui使用数据表格实现购物车功能
2019/07/26 Javascript
vue iview的菜单组件Mune 点击不高亮的解决方案
2019/11/01 Javascript
浅谈关于vue中scss公用的解决方案
2019/12/02 Javascript
Vue实现点击当前元素以外的地方隐藏当前元素(实现思路)
2019/12/04 Javascript
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
2019/12/21 Javascript
阿望教你用vue写扫雷小游戏
2020/01/20 Javascript
JS如何在数组指定位置插入元素
2020/03/10 Javascript
基于redis的小程序登录实现方法流程分析
2020/05/25 Javascript
js实现滑动滑块验证登录
2020/07/24 Javascript
如何利用javascript接收json信息并进行处理
2020/08/06 Javascript
python+matplotlib绘制旋转椭圆实例代码
2018/01/12 Python
python+matplotlib演示电偶极子实例代码
2018/01/12 Python
python如何使用unittest测试接口
2018/04/04 Python
浅析python打包工具distutils、setuptools
2018/04/20 Python
Python定时发送天气预报邮件代码实例
2019/09/09 Python
python3 os进行嵌套操作的实例讲解
2020/11/19 Python
编写一子程序,将一链表倒序,即使链表表尾变表头,表头变表尾
2016/02/10 面试题
酒店管理专业自荐信
2014/05/23 职场文书
比赛口号大全
2014/06/10 职场文书
遗失证明范文
2015/06/19 职场文书
运动会3000米加油稿
2015/07/21 职场文书
村主任当选感言
2015/08/01 职场文书
早上好问候语大全
2015/11/10 职场文书
新手初学Java网络编程
2021/07/07 Java/Android