这里的第一个问题:)
我一直在阅读很多关于如何在没有https的网站上安全登录的问题。它们都非常有趣,大多数答案归结为“如果您关心安全性,请使用SSL!”。我同意这一点,但我也想知道,这个特定程序的缺陷是什么(一个用户(=我),没有会话:密码总是与< html>标记的完整内容一起发送,替换该文件的当前内容。):
假设攻击者知道A和B的所有有效对,除了重放攻击(在散列有效的100ms时间范围内)和他猜测正确哈希的纯粹运气之外,他/她是否有任何方式成功进行身份验证在这个特定的时间表?
当然,攻击者仍然可以尝试所有可能的密码,但使用https不会改变。
我并不是说这对于不能使用https的网站来说是一个有用的策略,只是想知道是否存在我没有想到的理论缺陷。
如果网站目前没有流量,您会如何强行进入?
答案 0 :(得分:1)
这里有几个缺陷:
底线:不使用HTTP进行用户身份验证。我还没有听说过任何基于HTTP的安全认证的情况。如果SSL非常昂贵,则只能将其用于登录页面。这仍然是一种非常糟糕的做法,因为攻击者可以通过窃取会话cookie(以及其他中间人攻击)来执行会话劫持,但至少密码不会以这种方式显示。
答案 1 :(得分:1)
您所描述的是较大的程序中的一个小技术细节,您根本不会详细介绍。我假设该程序的更大目的是登录?然后交换此令牌后会发生什么?用户是否收到某种类似cookie的永久令牌?那么这很容易受到:
即使如果(很大,如果)这个特殊的令牌方案完美无瑕,整个通信链都可以被第三方和所有私人数据观察到(包括未经授权的用户可以在特权网络位置(→session hijacking)清楚地读取识别cookie。