【问题标题】:Change encrypted password on mysql更改mysql上的加密密码
【发布时间】:2021-06-27 05:01:04
【问题描述】:

我正在尝试进入一个我不知道密码的网站的管理面板,该网站有一个较旧的备份,我可以在其中进入管理面板,从旧数据库我复制了旧加密的字段在新数据库上工作的密码,但它不起作用,我对网络不太了解,所以我真的不知道密码字段是否与解密密码的东西相关联,谢谢你的帮助。

【问题讨论】:

  • 大多数情况下,密码没有加密,而是经过哈希处理。这意味着您无法对它们进行解密,甚至无法对其进行散列处理。
  • 我可以访问网络上的所有文件,网站文件上是否有任何内容可以帮助我,或者它与网站无关
  • 所以你可以访问代码和数据库?控制面板的两个版本?
  • 我可以访问代码和数据库,我需要进入站点的管理页面
  • 你能检查一下注册/创建密码的代码是否相同吗?并检查两个数据库中的字段长度是否相同?大概其中至少有一个是不同的,否则复制/粘贴将起作用......

标签: php mysql ubuntu web passwords


【解决方案1】:

可能不会工作。为什么?

当您按下“登录/开始/登录等”时,所有数据形式都会被 urlencoded 并且您的密码将被转换为散列,或加密的 AND 散列。 加密并不重要(先验)

如果您的密码是“helloword$1234”,它将抛出:“a3eb447769293c93f56060b4994a4149”,因此这意味着您的密码在客户端和服务器之间不会是“纯文本”,以避免挂钩和泄漏。一些攻击者可以使用您的 urencoded 数据获取您的请求,但不会获得真正的密码(加密或未加密),因为在 throry 哈希中无法反转

您的服务器将获得“a3eb447769293c93f56060b4994a4149”,然后服务器应用程序将从 db 表中获取 HASHED 密码(不是真实密码),以比较提交的密码; “a3eb447769293c93f56060b4994a4149” == “a3eb447769293c93f56060b4994a4149”。

如果您在登录表单中输入“a3eb447769293c93f56060b4994a4149”(您在 db 表中查看的内容),则该客户端(前端)将使用此“a3eb447769293c93f56060b4994a4149”并将哈希您的哈希。 所以“a3eb447769293c93f56060b4994a4149”将输出“5d88b7458b31365dc9860007dfca5685”。 然后您的服务器应用程序将获得“5d88b7458b31365dc9860007dfca5685”并比较“a3eb447769293c93f56060b4994a4149”==“5d88b7458b31365dc9860007dfca5685”(假)。它会拒绝你,因为你发送了一个哈希值,哈希值永远不会相等。

【讨论】:

  • 谢谢你的回答,这真的很有帮助,我现在明白为什么它不起作用,关于哈希,我如何知道我的网络的哈希以及我如何对密码进行哈希处理,所以我可以在数据库上插入散列密码,否则不可能
【解决方案2】:

如果你想更改加密密码,你应该先知道加密算法,然后你从你知道的纯文本密码中制作另一个。

示例:您知道使用 md5 的算法,那么您应该将文本“密码”加密为 md5 算法,然后从 db admin 更改密码,您可以从本站 https://www.md5hashgenerator.com/ 将纯文本加密为 md5

【讨论】:

  • md5 多年来一直被认为是broken - 不要使用它来散列密码,因为有大量的散列查找表使得查找许多密码变得微不足道。在 PHP 中使用 password_hash 安全地散列密码
  • 感谢您的回答,从您刚才所说的旧备份中的密码格式与新的相同,所以我猜它是相同的格式,无论如何我会尝试找到算法密码,然后再试一次,谢谢!
  • 没问题,祝你好运^^
猜你喜欢
  • 2019-05-09
  • 2019-04-07
  • 2014-12-10
  • 2013-09-06
  • 1970-01-01
  • 2013-01-24
  • 2017-12-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多