创建我公司使用的平台的开发人员不再为我们工作,我不知道如何从自定义PHP应用程序中检索密码
当我查看PHPmyAdmin时,密码是ecrypted(例如*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19)
我该如何更改或检索这些?
Pek*_*ica 17
如果使用了正确的加密方法,则无法轻松检索它们.
只需使用新密码重置它们即可.
编辑:字符串看起来像它正在使用PASSWORD():
UPDATE user SET password = PASSWORD("newpassword");
Run Code Online (Sandbox Code Playgroud)
jww*_*jww 17
如何解密MySQL密码
你不能真的因为它们是经过哈希处理而不是加密的.
这PASSWORD是当前MySQL使用的函数的本质.你可以从sql终端执行它:
mysql> SELECT SHA1(UNHEX(SHA1("password")));
+------------------------------------------+
| SHA1(UNHEX(SHA1("password"))) |
+------------------------------------------+
| 2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
+------------------------------------------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
我该如何更改或检索这些?
如果您在登录debian或ubuntu系统时遇到问题,请首先尝试此操作(感谢tohuwawohu,网址为https://askubuntu.com/questions/120718/cant-log-to-mysql):
$ sudo cat /etc/mysql/debian.conf | grep -i password
...
password: QWERTY12345...
Run Code Online (Sandbox Code Playgroud)
然后,使用debian维护用户登录:
$ mysql -u debian-sys-maint -p
password:
Run Code Online (Sandbox Code Playgroud)
最后,更改用户的密码:
mysql> UPDATE mysql.user SET Password=PASSWORD('new password') WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit;
Run Code Online (Sandbox Code Playgroud)
当我查看PHPmyAdmin时,密码是加密的
相关的,如果您需要转储用户数据库以获取相关信息,请尝试:
mysql> SELECT User,Host,Password FROM mysql.user;
+------------------+-----------+----------------------+
| User | Host | Password |
+------------------+-----------+----------------------+
| root | localhost | *0123456789ABCDEF... |
| root | 127.0.0.1 | *0123456789ABCDEF... |
| root | ::1 | *0123456789ABCDEF... |
| debian-sys-maint | localhost | *ABCDEF0123456789... |
+------------------+-----------+----------------------+
Run Code Online (Sandbox Code Playgroud)
是的,那些密码不受腌制.因此,攻击者可以预先构建表并将其应用于所有MySQL安装.此外,攻击者可以了解哪些用户具有相同的密码.
有人说,mySQL的人不遵循最佳实践.John Steven在OWASP的密码存储备忘单上做了一篇关于密码存储最佳实践的优秀论文.为了公平对待MySQL人员,他们可能会因为架构,设计或实现方面的痛点(我根本不知道)而这样做.
如果您使用PASSWORD和UPDATE命令并且更改不起作用,请参阅http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html.即使该页面被命名为"重置权限",它的确如何更改密码.(它令人迷惑的MySQL密码更改程序如此破碎,你必须跳过箍,但它就是这样).
散列是一个单向过程,但使用密码列表,您可以重新生成散列并与存储的散列进行比较以"破解"密码.
这个站点https://crackstation.net/尝试为您执行此操作 - 运行密码列表并根据您的哈希告诉您明文密码.
| 归档时间: |
|
| 查看次数: |
237875 次 |
| 最近记录: |