理论基础
MYSQL数据库的认证密码有两种方式,MYSQL 4.1版本之前是MYSQL323加密,MYSQL 4.1和之后的版本都是MYSQL SHA1加密,MYSQL数据库中自带Old_Password(str)
和Password(str)
函数,它们均可以在MYSQL数据库里进行查询,前者是MYSQL323
加密,后者是MYSQL SHA1
方式加密。
MYSQLSHA1加密结果是长度为40的字符串。
mysql> select password('admin');
+-------------------------------------------+
| password('admin') |
+-------------------------------------------+
| *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |
+-------------------------------------------+
在mysql 8里面,移除了password函数:
mysql> help password;
Name: 'PASSWORD'
Description:
Syntax:
PASSWORD(str)
This function was removed in MySQL 8.0.11.
URL: http://dev.mysql.com/doc/refman/8.0/en/encryption-functions.html
破解MySQL 5密码
MyISAM引擎的表文件由“frm”、“MYD”“和MYI”组成,“.frm”是描述表结构的文件,
“.MYD”是表的数据文件,“.MYI”是表数据文件中任何索引的数据树。
直接将user.MYD拖到winhex下面:
在cmd5网站上,可以破解mysql的密码: