实验环境
select version();
得到用户名和密码 hash
mysql安装好就会默认生成图中红线内的库,
今天先认识mysql库,mysql库里面保存有账户信息、权限信息、存储过程、event、时区等信息。
把登录账号,密码读取出来,
select User,authentication_string from user;
*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B
*THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE
*THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE
带*和不带*的区别
可以利用https://www.cmd5.com/在线工具查看hash类型;
HASH值开头带”*”号的是MYSQL5的HASH ;
不带*号的是旧版MYSQL的HASH(也就是MYSQL323);
参考:
https://www.cnblogs.com/mujj/articles/2048477.html
破解hash
在线工具
缺点就是不能指定自己的密码本。
Hashcat
Hashcat可以指定自己的密码本,但我使用虚拟机装kali,遇到报错:
* Device #1: This device's constant buffer size is too small.
* Device #1: This device's local mem size is too small.
* Device #1: Not a native Intel OpenCL runtime. Expect massive speed loss.
You can use --force to override, but do not report related errors.
No devices found/left.
查了一下网上的解释,说从hashcat V3.30开始,在虚拟机中运行hashcat会报错,提示GPU错误。这是由于从该版本开始,hashcat对于Intel CPU会自动检测Intel OpenCL运行时,即是否支持GPU破解。如果不支持,就会停止运行。还有需要缓存足够,用户可添加隐藏选项--force来强制运行,但可能也解决不了。
暂时不去解决这个问题,先用在线工具,等需要用到自定义破解时在安装一下旧版,或者找其他替换工具。