5

假设我的 Web 应用程序使用 CSRF 令牌免受 CSRF 攻击,此外,它使用 SSL 并受到 XSS 攻击的保护。此外,出于这个问题的目的,假设它仅用于最近的浏览器并且它们没有错误。我可以使用 X-Frame-Options:Deny 标头来防止基于帧的点击劫持,但我看不出它会提供什么额外的保护,因为任何基于帧的表单提交都将缺少 CSRF 令牌。(并且同源策略可以防止 CSRF 令牌被攻击者的 JavaScript 发现。)问题:

  1. 是否存在其他不基于帧的点击劫持?(即,是 X-Frame-Options:Deny 不是完整的点击劫持防御吗?)

  2. 在没有 X-Frame-Options:Deny 标头的情况下,考虑到上述假设,点击劫持攻击是否仍有可能成功?

(我问这个不是因为我想防止基于帧的点击劫持,因为我确实包含了 X-Frame-Options:Deny 标头。相反,我试图了解点击劫持攻击的范围。)

4

1 回答 1

6

做一些更多的研究,我想我已经回答了我自己的问题:覆盖的、透明的 iframe 持有要攻击的站点,可以正常访问。例如,它可能是一个带有删除照片、电子邮件等按钮的页面。来自攻击者站点的可见页面完全是另一回事,可能是为了参加比赛,按钮正好位于 iframe 按钮所在的位置。所以,这不是 CSRF 的情况,因为提交的表单不是伪造的;它在各个方面都是真实的,并且没有被改变过。

解决方案是禁止将站点加载到框架中,这就是 X-Frame-Options:Deny 所做的。

于 2013-06-09T19:53:18.720 回答