哈希安全漏洞 - 如何修复

Hash Security Vulnerability - How to Fix?

本文关键字:何修复 安全漏洞 哈希      更新时间:2023-09-26

我开发了我的应用程序来使用加盐的SHA-512密码哈希。

如果黑客要获取哈希,我该怎么做才能防止黑客使用 Greasemonkey 更改登录页面,以便密码不会被哈希处理? 我预见的攻击媒介将使他们能够在密码输入中输入他们获得的哈希值,然后 Greasemonkey 更改的页面按原样发送该信息(不对输入的密码进行哈希处理,这是实际哈希值)。

这只是如何使用获取的哈希的一个例子。 还有其他方法可以使用Greasemonkey更改站点的代码以达到相同的结果。

我想不出任何方法来防止/防止这种类型的攻击。

这里有人想出什么吗?

在服务器上对密码进行哈希处理。使用 SSL 通过网络进行保护。

这个问题是关于Greasemonkey拦截密码的漏洞,对吧?

在这种情况下,SSL不会防止用户凭据被盗,密码(或哈希或其他任何内容)将直接从用户的浏览器中获取,并通过GM_xmlhttpRequest()传输给坏人。

如果你尝试对密码进行编码或哈希处理,客户端,Greasemonkey 可以拦截甚至替换负责的 JS。

请参阅"网站可以知道我是否正在运行用户脚本吗?",您可以使脚本编写者更难,但最终,如果坏人可以让用户安装Greasemonkey脚本(或者更糟的是,完整的附加组件/扩展),那么您只会使用户帐户更难 - 并非不可能 - 被泄露。

我什至不会担心它,直到/除非您有证据表明正在使用恶意脚本或附加组件。 最终,用户有责任确保他的浏览器和客户端交互的安全

您可以执行的操作以使脚本编写者更难(并非不可能):

  1. 监视您的日志,检查异常活动(无论如何都应该这样做)。
  2. 采取针对机器人的一般保护措施,例如,请参阅"当机器人攻击时!
  3. 如果检测到实际脚本或策略,则警告用户。
  4. 监控用户的帐户/操作是否存在异常活动。
  5. 您可以使用JS
  6. 和一次性编码来截获键入的密码。 这将过滤掉因果脚本,但不会过滤掉确定的脚本。请注意,我不建议这样做,只是为了完整起见而包含它。
  7. 将密码输入放在 Flash 对话框中。 Pure Greasemonkey很难与Flash互动。 同样,我认为这不划算,但为了完整性而包括它。
  8. 不需要合法用户执行任何繁琐的步骤(一次性密码、第三通道身份验证等)。 这只会惹恼永远爱你的受害者,直到他们找到更好的选择或解决方法(他们会的)。