2011-01-20 21 views
4

我试图找出如何接受OpenID登录的网站无法通过简单的主机被黑客攻破文件更新为指向一个虚假的OpenID提供商。例如OpenID的安全性 - 虚假的OpenID重定向

比方说,我想侵入Joe Smith的账户,并且假设他的OpenID提供者是http://jsmith.myopenid.com。什么会阻止我在我的主机文件中创建一个条目,将jsmith.myopenid.com指向我控制的IP。然后,我会伪造身份验证,并返回说,用户成功登录的响应。

我知道会有一个SSL失配在浏览器的警告,但因为它是我的浏览器,我可以很容易忽略它。请求网站如何知道其收到的回应实际上来自请求的网站?

这似乎是一个基本的攻击,我相信后面的人已经包括了一个解决方案,我只是不能被搜索的正确方面去寻找答案。

+0

看来你也直接访问该网站联系人的OpenID提供商以验证。维基百科:” ......那么用户代理与最终用户的凭据重定向回依赖方一起依赖方必须再确认凭证真正从OpenID提供商来了。如果依赖方和OpenID提供商。之前已经建立了共享密钥,那么依赖方可以通过将共享密钥的副本与最终用户的凭证进行比较来验证OpenID提供商的身份......“ – 2011-01-20 11:34:59

回答

3

依赖方直接与OpenID提供者联系,或者在进行身份验证之前(建立一个用于将HMAC放在OpenID提供者的响应上的共享密钥)或者身份验证之后(要求它确认实际来自OpenID的响应提供商)。

对于你的攻击的工作,你还需要能够控制依赖方的DNS查询,而不是你自己的。