ref:详解MYSQL数据库密码的加密方式及破解方法
ref:https://blog.csdn.net/paul123456789io/article/details/53081921
MySQL数据库用户密码跟其它数据库用户密码一样,在应用系统代码中都是以明文出现的,在获取文件读取权限后即可直接从数据库连接文件中读取,例如asp代码中的conn.asp数据库连接文件,在该文件中一般都包含有数据库类型,物理位置,用户名和密码等信息;而在MYSQL中即使获取了某一个用户的数据库用户(root用户除外)的密码,也仅仅只能操作某一个用户的数据库中的数据。
在实际攻防过程中,在获取Webshell的情况下,是可以直下载MYSQL数据库中保留用户的user.MYD文件,该文件中保存的是MYSQL数据库中所有用户对应的数据库密码,只要能够破解这些密码那么就可以正大光明的操作这些数据,虽然网上有很多修改MYSQL数据库用户密码的方法,却不可取,因为修改用户密码的事情很容易被人发现!
研究MYSQL数据库的加解密方式,在网络攻防过程中具有重要的意义;试想一旦获取了网站一定的权限后,如果能够获取MYSQL中保存用户数据,通过解密后,即可通过正常途径来访问数据库;一方面可以直接操作数据库中的数据,另一方面可以用来提升权限。通过在网络上查找资料,目前关于破解MYSQL方面的研究不多,本文算是抛砖引玉,虽然效果不是特别好,但也算是对破解MYSQL数据库用户密码的一种探讨和尝试。
(一)MYSQL加密方式
MYSQL数据库的认证密码有两种方式,MYSQL 4.1版本之前是MYSQL323加密,MYSQL 4.1和之后的版本都是MYSQLSHA1加密,MYSQL数据库中自带Old_Password(str)和Password(str)函数,它们均可以在MYSQL数据库里进行查询,前者是MYSQL323加密,后者是MYSQLSHA1方式加密。
(1)以MYSQL323方式加密
SELECT Old_Password('bbs.antian365.com');
|
查询结果MYSQL323 = 10c886615b135b38
(2)以MYSQLSHA1方式加密
SELECT Password('bbs.antian365.com');
|
查询结果MYSQLSHA1 = *A2EBAE36132928537ADA8E6D1F7C5C5886713CC2 执行结果如图1所示,MYSQL323加密中生成的是16位字符串,而在MYSQLSHA1中生存的是41位字符串,其中*是不加入实际的密码运算中,通过观察在很多用户中都携带了“*”,在实际破解过程中去掉“*”,也就是说MYSQLSHA1加密的密码的实际位数是40位。

(二)MYSQL数据库文件结构
1.MYSQL数据库文件类型
MYSQL数据库文件共有“frm”、“MYD”“和MYI”三种文件,“.frm”是描述表结构的文件,
“.MYD”是表的数据文件,“.MYI”是表数据文件中任何索引的数据树。一般是单独存在一个文件夹中,默认是在路径“C:\Program Files\MYSQL\MYSQL Server 5.0\data”下。
2.MYSQL数据库用户密码文件
在MYSQL数据库中所有设置默认都保存在“C:\Program Files\MYSQL\MYSQL Server 5.0\data\MYSQL”中,也就是安装程序的data目录下,如图2所示,有关用户一共有三个文件即user.frm、user.MYD和user.MYI,MYSQL数据库用户密码都保存在user.MYD文件中,包括root用户和其他用户的密码。

(三)破解MYSQL密码
1.获取MYSQL数据库用户密码加密字符串
使用UltraEdit-32编辑器直接打开user.MYD文件,打开后使用二进制模式进行查看,如图3所示,可以看到在root用户后面是一串字符串,选中这些字符串将其复制到记事本中,这些字符串即为用户加密值,即506D1427F6F61696B4501445C90624897266DAE3。
注意:
(1)root后面的“*”不要复制到字符串中。
(2)在有些情况下需要往后面看看,否则得到的不是完整的MYSQLSHA1密码,总之其正确的密码位数是40位。
(四)破解方式
1.4网站在线密码破解
1.ww.cmd5.com破解。将获取的MySQL值放在cmd5.com网站中进行查询,MySQL密码破解一般都是收费的,成功破解一次0.1元。
2.somd5.com破解。Somd5.com是后面出现的一个免费破解网站,每次破解需要手工选择图形码进行破解,速度快,效果好,只是每次只能破解一个,而且破解一次后需要重新输入验证码。
1.5 hashcat破解hashcat支持很多种破解算法,免费开源软件,官方网站https://hashcat.net/hashcat/,破解命令:
hashcat64.exe -m 200 myql.hashpass.dict//破解MySQL323类型
hashcat64.exe -m 300 myql.hashpass.dict//破解MySQL4.1/MySQL5类型
1.6 John the Ripper密码破解John the Ripper下载地址:http://www.openwall.com/john/h/john179w2.zip,John theRipper除了能够破解linux外,还能破解多种格式的密码,在kali下测试破解MySQL密码,如图4所示。
ref:详解MYSQL数据库密码的加密方式及破解方法的更多相关文章
- 详解MYSQL数据库密码的加密方式及破解方法
MYSQL加密方式:http://blog.csdn.net/listeningsea/article/details/8139641
- 修改servu数据库密码 servu加密方式
项目要求可以有用户自行修改servu密码.servu可以通过odbc访问access\mysql\sqlserver数据库.我们直接通过创建web来修改就可以了. 不过问题来了,密码是加密的...通过 ...
- MySQL Replication 详解MySQL数据库设置主从同步的方法
MySQL同步的流程大致如下: 1.主服务器(master)将变更事件(更新.删除.表结构改变等等)写入二进制日志(master log). 2.从服务器(slave)的IO线程从主服务器(binl ...
- 详解mysql数据库的左连接、右连接、内连接的区别
一般所说的左连接,外连接是指左外连接,右外连接.做个简单的测试你看吧. 先说左外连接和右外连接: SQL>select * from t1; ID NAME ---------- ------- ...
- MySQL数据库的双向加密方式
如果你正在运行使用MySQL的Web应用程序,那么你把密码或者其他敏感信息保存在应用程序里的机会就很大.保护这些数据免受或者窥探者的获取 是一个令人关注的重要问题,因为您既不能让未经授权的人员使用或者 ...
- wampserver修改mysql数据库密码的简单方式
刚装好的wampserver的数据库是没有密码的,所以可以直接登录,要设置密码,一种简单的方式如下: 打开phpMyadmin 初始状态没有密码,可以直接登录 登录之后,点击账户 点击修改权限,设置你 ...
- SSL/TLS协议详解(上):密码套件,哈希,加密,密钥交换算法
本文转载自SSL/TLS协议详解(上):密码套件,哈希,加密,密钥交换算法 导语 作为一名安全爱好者,我一向很喜欢SSL(目前是TLS)的运作原理.理解这个复杂协议的基本原理花了我好几天的时间,但只要 ...
- 详解Mysql分布式事务XA(跨数据库事务)
详解Mysql分布式事务XA(跨数据库事务) 学习了:http://blog.csdn.net/soonfly/article/details/70677138 mysql执行XA事物的时候,mysq ...
- 详解MySQL索引
原文链接详解MySQL索引 索引介绍 索引是帮助MySQL高效获取数据的数据结构.在数据之外,数据库系统还维护着一个用来查找数据的数据结构,这些数据结构指向着特定的数据,可以实现高级的查找算法. 本文 ...
随机推荐
- sql 2012之后分页查询速度问题
一.SQL Server 2012使用OFFSET/FETCH NEXT分页,比SQL Server 2005/2008中的RowNumber()有显著改进.今天特地作了简单测试,现将过程分享如下: ...
- 第一回 java~简介
Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称.由James Gosling和同事们共同研发,并在1995年正式 ...
- nginx+tomat https ssl 部署 完美解决方案
关于nginx+tomcat https的部署之前网上一直有2种说法: 1.nginx和tomcat都要部署ssl证书 2.nginx部署ssl证书,tomcat增加ssl支持 在实际的部署过程中ng ...
- 信息安全学习笔记--CSRF
一.CSRF简介 CSRF(Cross-site request forgery)跨站请求伪造,也被称为“one click attack”或者“session riding”,通常缩写为CS ...
- 图文解说视频直播原理-zz
本文主要介绍rtmp&hls视频直播原理,文章最早发表在我们的微信公众号上,详见这里,欢迎关注微信公众号blackerteam,更多详见www.blackerteam.com 现在视频直播很火 ...
- Laravel 5.5 迁移报错:General error: 1215 Cannot add foreign key constraint
问题 之前一直用的 Laravel 5.4,数据库也是直接写 sql 的,感觉可定制性更强,顺便锻炼下 sql.这次改用了 Laravel 5.5,索性用迁移建库试试,结果报错如下: SQLSTATE ...
- React-Native 之 FlexBox介绍和使用
# 前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会 ...
- 一张图教会CSS3倒影
分享 示例图片 在CSS3之前,想要实现示例图片这样的一个倒影效果一般只能通过处理图片的方式,而CSS3问世之后,想要实现这样的效果变得非常简单,只需一个CSS3属性就可以轻松实现了. 这就是今天所要 ...
- [how to]HBase Snapshots原理与使用
1.简介 Snapshots即快照的意思,作用于表上.在对于表做快照的时候不会造成文件的拷贝,如不会对HFile文件进行拷贝而是以链接的方式链接到元表的HFile上.可以说它是一种元数据的集合,可以快 ...
- Python_oldboy_自动化运维之路(二)
本节内容: 1.pycharm工具的使用 2.进制运算 3.表达式if ...else语句 4.表达式for 循环 5.break and continue 6.表达式while 循环 1.pycha ...