司博文 avatar

话说管理员密码忘了,怎么破??

🕥 by 司博文

刚建了一个站点, 注册了一个账号, 但是玩了一会, 密码忘了, 怎么破??

💘 相关文章

评论

共11条关于"话说管理员密码忘了,怎么破??"的评论

jat001 avatar
#1 jat001 回复

密码在数据库中可以查看,但是 MD5 加密,如果比较简单,可以试试解密的网站,不行的话,删掉数据库重装吧。

司博文 avatar
#2 司博文 回复

解决了, 数据库里复制了另一个账号的密码, 用另一个密码登陆了

jat001 avatar
#4 jat001 回复

@ego008 这让我想起了 MD5 的安全性,把加密改成 Hash 再加盐吧。

ego008 avatar
#6 ego008 回复

@jat001 common.php 里的 formhash 函数加了点盐。 下次改进密码加盐,看看能不能较友好的兼容已有上线网站。

superwbd avatar
#7 superwbd 回复

@ego008

貌似还有一种思路:

把一个简单的密码(123456)加盐后,直接公开加密数据。

这样,要是忘了,进数据库,把密码替换,就能用123456登陆了。

另: https://github.com/superwbd/youBBS-ACICFG 在1.04基础上加了点功能,调试中。。。 啥都不会,别见笑。。。

jat001 avatar
#8 jat001 回复

@superwbd @ego008 discuz 是两层 MD5 并加盐,wordpress 则更复杂。 我的想法是: 在数据库中新增两列 new_passwd 和 salt,用户登录时判断是否存在 new_passwd 和 salt,不存在验证 password,登录后强制要求用户修改密码。在几个版本后,用 new_passwd 替换 password。salt 可以用用户的注册时间,也可以像 discuz 那样随机产生并写进数据库,wordpress 则是用户指定。

ego008 avatar
#9 ego008 回复

@superwbd 管理员通过mysql 重设的好方法。 @jat001 尽量不修改数据库表结构,其中一个想法是判断当前密码的长度,若是32 就是原来密码的md5值,则直接通过新加密方法更新数据库,可以无缝接合,前提是新的密文少于32个字符。

写一条评论

Based on Golang + fastHTTP + sdb | go1.16.5 Processed in 1ms