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. d3.event=null

    d3功能奇多, 已经模块化,(其实感觉和react差不多了). 所以默认打包的单个文件 <script src="https://d3js.org/d3.v5.min.js" ...

  2. php输出语句有什么不同

    print()函数: 输出一个或者多个字符串.同echo一样,实际上它并不是一个函数.print有返回值.而echo没有.当其执行失败时返回false,成功 则返回true,速度比echo稍慢.只能打 ...

  3. ubuntu下安装 java环境

    步骤1:下载jdk 我选择的jdk版本文件: jdk-8u201-linux-x64.tar 官网下载链接 步骤2:创建单独的目录 sudo mkdir /usr/local/java 步骤3:将下载 ...

  4. Phonics 自然拼读法 g, o, u, l, f, b Teacher:Lamb

    课上内容(Lesson) Part I     Warm-up & Video  Food Fashion Fun  19 sets http://www.unsv.com/material/ ...

  5. python-*args和**kwargs作用和区别

    1. *args 不定长的参数:*args 无论你传递一个参数还是二个还是多个都可以.(*args传入的是无命名参数,例如:add(1,2,3,4,5)存储的是元祖)args可以自定义其他名称 def ...

  6. SpringBoot之Java配置

    Java配置也是Spring4.0推荐的配置方式,完全可以取代XML的配置方式,也是SpringBoot推荐的方式. Java配置是通过@Configuation和@Bean来实现的: 1.@Conf ...

  7. docker 中安装 rabbitMQ

    安装rabbitMQ的命令 docker run -d --hostname my-rabbit --name rabbit -e RABBITMQ_DEFAULT_USER=admin -e RAB ...

  8. 基于springboot的ssm

    参考该网址成功搭建: https://blog.csdn.net/liboyang71/article/details/73459909 目前有几个问题: 1.我使用application.yml配置 ...

  9. C#实现数字字符串左补齐0的方法

    如下: ; , '); //0003 (推荐) s = string.Format("{0:d4}", n); //0003 再如: ; 方法1:Console.WriteLine ...

  10. Hadoop 2.7.4 HDFS+YRAN HA增加datanode和nodemanager

    当前集群 主机名称 IP地址 角色 统一安装目录 统一安装用户 sht-sgmhadoopnn-01 172.16.101.55 namenode,resourcemanager /usr/local ...