python3读取MySQL-Front的MYSQL密码

python3
mysql
密码
MySQL-Front

前言

同样的套路又来了,继续尝试从配置文件中读取敏感的信息,这次轮到的是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

codegay 2017年5月1日14:14:09

ps:第一次尝试用小书匠编辑器客户端,支持markdown,支持一键发布到cnblogs,推荐一下。

参考资料:

pyquery 官方文档(英文) http://pyquery.rtfd.org/
Python爬虫利器六之PyQuery的用法 http://cuiqingcai.com/2636.html
(在线工具)XML格式化 http://web.chacuo.net/formatxml
小书匠编辑器 http://soft.xiaoshujiang.com/download.html

python3读取MySQL-Front的MYSQL密码的更多相关文章

  1. python3读取sqlyog配置文件中的MySql密码

    这个人有什么目的?: 我多多少少听过一些安全圈的大牛说到类似的思路,大意是可以通过扫描各种程序和服务的配置文件(比如SVN的文件,RSYNC的配置文件等), 从中发现敏感信息,从而找到入侵的突破口.沿 ...

  2. day 7-11 初识MySQL数据库及安装密码设置破解

    一. 什么是数据库 之前所学,数据要永久保存,比如用户注册的用户信息,都是保存于文件中,而文件只能存在于某一台机器上. 如果我们不考虑从文件中读取数据的效率问题,并且假设我们的程序所有的组件都运行在一 ...

  3. day43 mysql 基本管理,[破解密码以及用户权限设置]以及慢日志查询配置

    配置文件:详细步骤, 1,找到mysql的安装包,然后打开后会看到一个my.ini命名的程序,把它拖拽到notepad++里面来打开,(应该是其他文本形式也可以打开,可以试一下),直接拖拽即可打开该文 ...

  4. MySQL程序端启动密码错误解决方法

    MySQL程序端启动密码错误解决方法 一般启动MySQL程序端,都是用mysql -uroot -p命令,当然前提是你的环境变量已经配好了. 为了连接服务器,当调用mysql时,通常需要提供一个MyS ...

  5. {MySQL数据库初识}一 数据库概述 二 MySQL介绍 三 MySQL的下载安装、简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 初识sql语句

    MySQL数据库初识 MySQL数据库 本节目录 一 数据库概述 二 MySQL介绍 三 MySQL的下载安装.简单应用及目录介绍 四 root用户密码设置及忘记密码的解决方案 五 修改字符集编码 六 ...

  6. 转 mysql front安装与使用教程 mysql 工具

    mysql front安装与使用教程 由 kaikai0220 创建,Alma 最后一次修改 2018-04-25 mysql front一款小巧的管理Mysql的应用工具,那么这个工具该如何安装和使 ...

  7. Linux环境下MySQL的安装、密码策略、忘记密码后的破解及用户授权等。

    mysql安装.用户密码.密码策略.授权用户等(mysql5.7版本) 1.mysql安装后相关目录与文件: 主配置文件: /etc/my.cnf 数据库目录: /var/lib/mysql/ 默认端 ...

  8. Flink 1.9 实战:使用 SQL 读取 Kafka 并写入 MySQL

    上周六在深圳分享了<Flink SQL 1.9.0 技术内幕和最佳实践>,会后许多小伙伴对最后演示环节的 Demo 代码非常感兴趣,迫不及待地想尝试下,所以写了这篇文章分享下这份代码.希望 ...

  9. MySQL 8 重置 root 密码

    如果 root 密码丢失,如何重置 root 密码? 重置 root 密码:Unix 和 类 Unix 系统: 1.登录 Unix 系统用户(运行MySQL服务器的用户) 2.停止MySQL服务器   ...

随机推荐

  1. Poj2018 Best Cow Fences

    传送门 题目大意就是给定一个长度为 n 的正整数序列 A ,求一个平均数最大的,长度不小于 L 的子序列. 思路: 二分答案. Code: #include<iostream> #incl ...

  2. js switch 字符串

    //字符串var day="dd";switch (day){case "dd": x="day it's dd"; break;case ...

  3. 网站性能测试工具 webbench 的安装和使用

    1.webbench的下载和安装 wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz sudo tar xvf we ...

  4. bs4 FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need to install a parser library?

    安装beautifulsoup后,运行测试报错 from urllib import requestfrom bs4 import BeautifulSoup url = "http://w ...

  5. PyQt5——基本控件

    PyQt5基本控件使用方法详见:https://blog.csdn.net/jia666666/article/list/5?t=1& PyQt5基本控件汇总: 1.QMainWindow 2 ...

  6. 什么是卷积convolution

    定义 卷积是两个变量在某范围内相乘后求和的结果.如果卷积的变量是序列x(n)和h(n),则卷积的结果 , 其中星号*表示卷积. 当时序n=0时,序列h(-i)是h(i)的时序i取反的结果:时序取反使得 ...

  7. 记录下curl的使用方法

    curl是一个可以在命令行中直接发起请求的工具,基础用法如下: curl localhost:6767/1.html //返回url对应的页面内容 curl localhost:6767/1.html ...

  8. HIT2019春软件构造->正则表达式语法

    普通字符:匹配与之相同的字符        字母.数字.汉字.下划线.没有特殊定义的标点符号. 简单的转义字符: \n 换行符 \t 制表符 \\ 代表\本身 \^,\$,\.,\(,\),\{,\} ...

  9. JAVA写接口傻瓜(?)教程(一)

    当一个安卓开发人员/微信小程序开发者想做点什么的时候,如果他发现没有合适的接口,那么单机安卓.本地数据库emmm.没了接口就好像老人没了拐杖.盲人没了墨镜,完全可以称得上是举步维艰.生活艰难到需要自己 ...

  10. Angular7.1.4+Typescript3.1框架学习(二)

    接着第一部分,这篇文章就 Angular cli进行介绍总结: 1. ng g:列出当前命令 ng g 需在angular工程文件夹下执行: C:\Users\zb\angulardemo\heroe ...