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 相关文章推荐
在Django中创建动态视图的教程
Jul 15 Python
Python实现的随机森林算法与简单总结
Jan 30 Python
python读取excel指定列数据并写入到新的excel方法
Jul 10 Python
python 解决动态的定义变量名,并给其赋值的方法(大数据处理)
Nov 10 Python
解决pycharm运行程序出现卡住scanning files to index索引的问题
Jun 27 Python
Django xadmin开启搜索功能的实现
Nov 15 Python
TFRecord文件查看包含的所有Features代码
Feb 17 Python
python数字类型math库原理解析
Mar 02 Python
Softmax函数原理及Python实现过程解析
May 22 Python
关于python tushare Tkinter构建的简单股票可视化查询系统(Beta v0.13)
Oct 19 Python
Python关于拓扑排序知识点讲解
Jan 04 Python
Python 实现进度条的六种方式
Jan 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
几种显示数据的方法的比较
2006/10/09 PHP
利用discuz实现PHP大文件上传应用实例代码
2008/11/14 PHP
php去掉URL网址中带有PHPSESSID的配置方法
2014/07/08 PHP
Laravel中基于Artisan View扩展包创建及删除应用视图文件的方法
2016/10/08 PHP
PHP实现微信支付(jsapi支付)流程步骤详解
2018/03/15 PHP
php判断目录存在的简单方法
2019/09/26 PHP
获取客户端电脑日期时间js代码(jquery)
2012/09/12 Javascript
浏览器加载、渲染和解析过程黑箱简析
2012/11/29 Javascript
Javascript获取HTML静态页面参数传递值示例
2013/08/18 Javascript
JavaScript自定义方法实现trim()、Ltrim()、Rtrim()的功能
2013/11/03 Javascript
Knockout visible绑定使用方法
2013/11/15 Javascript
js日期对象兼容性的处理方法
2014/01/28 Javascript
javascript制作的滑动图片菜单
2015/05/15 Javascript
jQuery中$.extend()用法实例
2015/06/24 Javascript
七夕情人节丘比特射箭小游戏
2015/08/20 Javascript
AngularJs表单校验功能实例代码
2017/02/09 Javascript
浅谈JS中的常用选择器及属性、方法的调用
2017/07/28 Javascript
js与jQuery实现的用户注册协议倒计时功能实例【三种方法】
2017/11/09 jQuery
五分钟搞懂Vuex实用知识(小结)
2019/08/12 Javascript
解决pandas无法在pycharm中使用plot()方法显示图像的问题
2018/05/24 Python
python3爬取数据至mysql的方法
2018/06/26 Python
Python 调用 zabbix api的方法示例
2019/01/06 Python
利用Python库Scapy解析pcap文件的方法
2019/07/23 Python
基于Django实现日志记录报错信息
2019/12/17 Python
在notepad++中实现直接运行python代码
2019/12/18 Python
浅析Django 接收所有文件,前端展示文件(包括视频,文件,图片)ajax请求
2020/03/09 Python
Python性能测试工具Locust安装及使用
2020/12/01 Python
泰国排名第一的家居用品中心:HomePro
2020/11/18 全球购物
优秀公益广告词大全
2014/03/19 职场文书
党员教师群众路线思想汇报范文
2014/10/28 职场文书
2014年关工委工作总结
2014/11/17 职场文书
中学推普周活动总结
2015/05/07 职场文书
springboot中的pom文件 project报错问题
2022/01/18 Java/Android
Python 全局空间和局部空间
2022/04/06 Python
MySQL 计算连续登录天数
2022/05/11 MySQL
Redis入门基础常用操作命令整理
2022/06/01 Redis