【发布时间】:2017-02-09 01:50:25
【问题描述】:
这里的第一个问题:)
我一直在阅读许多关于如何在没有 https 的情况下安全登录的问题。它们都非常有趣,大多数答案归结为“如果您关心安全性,请使用 SSL!”。我同意这一点,但我也想知道,这个特定过程的缺陷是什么(一个用户(=我),没有会话:密码总是与 标签的完整内容一起发送,它替换该文件的当前内容。):
- 服务器向页面发送两个变量:随机令牌 A 和 B=派生自 (A)。
- 客户端发回 md5(password+timestamp+B) 和 A.
- 服务器从 A 派生 B 以执行与客户端相同的 md5hash 并匹配服务器和客户端的哈希。
- 服务器允许每个 IP 地址每秒不超过 1 个请求。
假设攻击者知道所有有效的 A 和 B 对,除了重放攻击(在 100 毫秒的时间范围内哈希有效)和他猜对正确哈希的纯粹运气之外,他/她有什么方法可以成功进行身份验证在这个特定的时间范围内?
当然,攻击者仍然可以尝试所有可能的密码,但这不会因为使用 https 而改变。
我并不是说这对于不能使用 https 的网站来说是一个有用的策略,只是想知道是否存在我没有想到的理论缺陷。
如果网站目前没有流量,你会如何强行进入?
【问题讨论】:
标签: security authentication md5 sha256