gpt4 book ai didi

security - 为什么我应该存储持久登录 cookie 和密码重置 token 的哈希值?

转载 作者:行者123 更新时间:2023-12-02 19:10:37 25 4
gpt4 key购买 nike

我刚刚阅读了以下内容:

And DO NOT STORE THE PERSISTENT LOGIN COOKIE (TOKEN) IN YOUR DATABASE, ONLY A HASH OF IT! The login token is Password Equivalent, so if an attacker got his hands on your database, he/she could use the tokens to log in to any account, just as if they were cleartext login-password combinations. Therefore, use strong salted hashing (bcrypt / phpass) when storing persistent login tokens.

(在此答案中:https://stackoverflow.com/a/477578/943102)

我认为应该使用散列,因为人们在多个站点上使用相同的密码,并且它可以防止攻击者闯入同一用户的其他帐户。由于登录 token 是随机值,因此在这种情况下不存在这种风险。我显然遗漏了一些东西,但我找不到有关此的任何进一步信息。有人可以解释一下吗?

最佳答案

假设您是一名 Web 应用程序开发人员,并且您做了正确的事情,并且您只将用户密码的哈希值存储在数据库中(而不是明文),但您决定将其经过身份验证的登录 token 存储在数据库中而不进行哈希处理他们。

现在假设恶意攻击者闯入 Web 应用程序的数据库并进行转储并与 Web 上的恶意攻击伙伴共享。好吧,这些密码哈希对他没有多大好处,因为他无法使用哈希登录。但他看到这些登录 token 以纯文本形式存储。现在,对他来说,将一个 cookie 放入 cookie 并将其与 HTTP 请求一起发送到服务器就变得很简单了。服务器将获取 cookie,根据数据库对其进行身份验证,并允许攻击者进入。因此,即使这些登录 token 只是随机值,一旦攻击者拥有它们,他或她就可以使用它们来冒充经过身份验证的用户。

关于security - 为什么我应该存储持久登录 cookie 和密码重置 token 的哈希值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13426710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com