gpt4 book ai didi

asp.net - 重置 ASP.NET 密码 - 安全问题?

转载 作者:行者123 更新时间:2023-12-04 05:27:32 26 4
gpt4 key购买 nike

我已经看到有关此问题的各种问题,但有几个问题尚未提出。如果用户忘记了密码,我希望他们能够仅使用他们的电子邮件地址来重置密码(即没有安全问题/答案)。密码存储为加盐哈希,因此无法恢复。相反,我只是希望用户在确认他们已请求重置后输入新密码。

A common method that's been mentioned is to simply:

1) Create a random Guid/Cryptographically strong random number

2) Send a unique URL containing the random number to the user's email address

3) When confirmed, the user is asked to change password



但是,这不是对 MITM 开放吗?攻击?如果通过 Internet 向电子邮件发送临时密码是不安全的,那么这样做与简单地发送攻击者可以导航到的唯一 URL 有什么区别?
我是否错过了使该系统更安全的关键步骤(或者是否有更好的方法来重置密码)?

谢谢

最佳答案

如果您正确地构建了您的哈希,则 URL 点击必须来自请求重置的 IP 地址。这将要求 MITM 欺骗 IP 和/或伪造 header 。虽然这是可能的,但您可以识别相关系统的哈希值越独特,“结束”哈希值就越困难。

还建议该 guid 是某些标准的单向哈希。也可以使用私钥解锁的公钥加密请求中的系统数据,这样当点击 url 时,相同的公共(public)加密系统数据必须伴随散列,并且唯一可以解密这些值的系统是保存在服务器上的私钥。基本上是散列的伪 PKI 附件。

关于asp.net - 重置 ASP.NET 密码 - 安全问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2150895/

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