OpenID安全 - 伪造的OpenID重定向

4
我正在尝试弄清楚一个接受OpenID登录的站点如何才能避免被简单的hosts文件更新攻击到指向虚假的OpenID提供商。比如说,我想黑进Joe Smith的账户,而为了举例说明,假设他的OpenID提供商是http://jsmith.myopenid.com。那么,我在我的hosts文件中创建一条条目,将jsmith.myopenid.com指向我控制的IP地址。然后,我会伪造认证,并返回响应,表示用户成功登录。我知道浏览器会出现SSL不匹配警告,但由于这是我的浏览器,我可以轻松地忽略它。请求网站如何知道它收到的响应实际上来自所请求的站点?这似乎是一种基本的攻击方式,我相信站点背后的人已经包含了解决方案,只是我可能没有用正确的术语搜索到答案。

看起来您正在访问的网站也直接联系OpenID提供者进行验证。根据维基百科的描述:“...然后用户代理将与最终用户的凭据一起重定向回依赖方。该依赖方必须确认这些凭据确实来自OpenID提供者。如果依赖方和OpenID提供者之前已经建立了共享密钥,那么依赖方可以通过比较其共享密钥的副本与收到的最终用户凭据中的密钥来验证OpenID提供者的身份...” - Sami Koivu
1个回答

3

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

如果您想让攻击成功,您还需要能够控制依赖方的DNS查找,而不仅仅是您自己的DNS查找。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接