跳到主要内容

点击劫持

可能发生的威胁

通过点击劫持攻击,可能会出现以下威胁。除了仅限于鼠标操作的处理之外,其威胁与 CSRF 攻击相似。

利用仅对登录用户可用的服务用户发布意外信息,用户执行意外退会等更改仅有登录用户可编辑的设置更改用户信息的公开范围等

需要注意的网站特征

通过鼠标操作就可以执行仅对登录用户可用的功能(服务或设置)的网站可能会受到点击劫持攻击的影响。如果指定的处理仅限于鼠标操作,则特别需要注意攻击的袭击。此外,实施对策后,将发生副作用。因此,请考虑网站的信息安全政策和副作用等,以及是否要实施防止点击劫持漏洞的措施。

根本解决

  • 在 HTTP 响应头中输出 X-Frame-Options 头部字段,限制其他域的站点通过 frame 元素或 iframe 元素进行读取。

X-Frame-Options 是用于防止点击劫持攻击的头部。通过在 HTTP 的响应头中输出像“X-Frame-Options: DENY”这样的内容,可以在支持 X-Frame-Options 的浏览器中限制框架元素或 iframe 元素的页面读取。另外,Internet Explorer 7 不支持 X-Frame-Options 头部,因此即使实施了此防护措施,也无法防御该浏览器中的点击劫持攻击。指定的设置值将更改限制范围。以下表格显示了设置值的行为。请注意,ALLOW-FROM 在某些浏览器上可能无法正确运作。在调查开发的 Web 应用程序支持的浏览器的响应能力之后,考虑使用该设置值。

  • 设置值:frame 元素和 iframe 元素的显示范围

DENY禁止在所有网页中的框架内显示SAMEORIGIN仅允许在相同来源的网页中的框架内显示ALLOW-FROM仅允许在指定的来源网页中的框架内显示

  • 在执行处理之前,再次要求输入密码,并在执行页面上仅在重新输入的密码正确的情况下执行处理。

通过在执行处理之前进行密码验证,可以消除点击劫持漏洞。但是,由于这种方法需要更改屏幕设计规格。

保险措施

  • 重要处理无法仅通过鼠标操作执行。

点击劫持攻击会通过视觉欺骗引导用户执行特定操作。因此,要求用户进行复杂的操作是困难的。通过插入键盘操作等方式,使处理无法仅通过鼠标操作执行,可以降低攻击成功率。