MySQL提权之user.MYD中hash破解方法

经常在服务器提权的时候,尤其是windows环境下,我们发现权限不高,却可以读取mysqldatadir目录,并且能够成功下载user.MYD这个文件。但是在读取内容的时候,经常会遇到root密码hash不完整的情况,手头又没有mysql环境或者 导入出错..可试试下列方法

看图

MySQL提权之user.MYD中hash破解方法

首先看上面图片,发现roothash密文:

*ABFA954DFEEF60FFF0B14 21
F2DF23A6B00 11

前面带*号说明是40位加密
把所有的密文hash全部列出来

*ABFA954DFEEF60FFF0B14 21

F2DF23A6B00 11

*5AED70200C381D1E57E5F58FA0A9C 29

C93E64907C9070B076156E5 21

显而易见,root29位拼11位就是完整的40位密码了

*5AED70200C381D1E57E5F58FA0A9C + F2DF23A6B00 40

MySQL提权之user.MYD中hash破解方法
  
如果存在特殊情况:

提权时,当下载mysqluser.MYD数据库连接密码hash值无法用winhex等十六进制编辑器查看时:

本地搭建mysql,先停止本地mysql服务

将下载的user.MYD user.frm   user.MYI替换本地文件,然后

cd mysqlbin
mysqld-nt –skip-grant-tables

重新打开一个cmd
mysql -u root

select user,password from mysql.user;

自己记录下,免得忘记命令。。