📜  点击劫持/用户界面修复

📅  最后修改于: 2021-10-22 05:04:38             🧑  作者: Mango

点击劫持或 UI 修正是常见的网络安全攻击之一。在这种攻击中,最终用户会获得一个看起来合法的网页,并诱使他/她点击 UI 中的某些内容。但在幕后,一个专门制作的页面加载在看起来合法的页面后面。

对于最终用户来说,用户界面中的组件正在被点击,但不幸的是,点击是在隐藏页面中的不可见组件上进行的,并且将为该按钮点击映射的操作将被执行。

在这个例子中,用户被提供了一个垃圾邮件页面iphone。 PHP ,其中他/她很想单击“免费 iPhone”按钮。但实际页面加载在iphone后面。 PHP传输。 PHP ,这可能是您银行网站上的网页。可以使用 CSS 隐藏目标网站。

用户只能看到 iphone。 PHP在界面中,并且对传输一无所知。 PHP完全在 iphone 后面呈现。 PHP但后台页面被隐藏。点击iphone。 PHP可以映射到点击传输。 PHP ,其中定义了从帐户转移资金的操作,这可能会使最终用户赔钱。

一个页面可以使用iframe html 标签加载到另一个页面中。攻击者打算在其页面中加载的目标网站在src属性中给出。在这种情况下,目标网站可以是https://mybankwebsite.com/transferFunds.do ,当用户点击iphone按钮时,将执行转移资金操作。 PHP

点击劫持纯粹基于鼠标点击事件,是一种非常简单的攻击方式。 HTML 的基本知识足以尝试在站点中进行点击劫持攻击。有许多活跃的漏洞赏金计划由各家公司运行,为道德黑客提供一个平台来测试和报告其产品中的潜在安全漏洞。但是除了极少数程序之外,大多数程序并不认为这是一个严重的漏洞。

防止点击劫持 –

确保来自网站的内容是不可框架的(不应加载到 iframe 元素中)。这可以通过在网页中设置适当的响应头来实现。响应头的名称是X-Frame-Options 。根据在此标头上设置的值,页面可能会或可能不会在框架元素中呈现。

标头可以有三个可能的值:

  • X-Frame-Options : 拒绝
    X-Frame-Options设置为DENY将阻止页面加载到任何其他网页中,包括托管在您自己网站上的网页。
  • X-Frame-Options : SAMEORIGIN
    X-Frame-Options设置为SAMEORIGIN将阻止页面加载到除站点中托管的网页之外的任何其他网页中,换句话说,这将仅允许在您的域内进行框架化。
  • X-Frame-Options : ALLOW-FROM : URI
    X-Frame-Options设置为ALLOW-FROM : URI提供了允许特定域在框架中加载预期页面的选项。

尽管在 ALLOW FROM Headers 中没有允许多个域的标准方法,但有一些解决方法。您可以为每个域/组织提供唯一的端点/URL,并使用特定域名设置 XFRAME-OPTION [Allow-From] 标头。

作为最终用户,在单击广告/垃圾邮件页面中的组件以及打开来自不受信任来源的电子邮件时,应始终小心。参考:

  • 点击劫持 – 维基百科
  • XFrame 选项 – Mozilla