什么是点击劫持以及如何预防
已发表: 2023-01-17点击劫持是一种恶意网络攻击,自第一个网站进入 Internet 以来就一直存在。 点击劫持者利用将一个网页嵌入另一个网页的方法。 结合欺骗性的社会工程学,点击劫持攻击的成功率高得离谱,每天都有数百万毫无戒心的受害者。
WordPress作为全球最流行的建站框架,是点击劫持的一大目标。 默认情况下,只有 WordPress 登录页面和管理区域不能嵌入到另一个网页中。 如果您不想将网站的其他部分嵌入到其他地方,您必须自己采取措施保护它们。
本点击劫持或用户界面纠正攻击指南将向您展示点击劫持的工作原理,以便您确保您的 WordPress 网站内容不会被攻击者用来窃取敏感信息或诱骗用户做出伤害他们和/或帮助他们的事情。点击劫持者。
什么是点击劫持?
顾名思义,点击劫持会劫持点击和其他网络界面操作。 它允许点击劫持者代表毫无戒心的受害者为自己的目的执行操作。
点击劫持的技术名称是“界面修正”。 点击劫持者通过将合法网页嵌入到他们自己的网站中来“重新修饰”合法网页,他们自己的代码可以在访问者与其交互时偷偷修改发生的事情。 这是通过在犯罪分子创建的恶意网页上嵌入合法内容(例如来自合法网站或服务的登录页面或付款屏幕)来实现的。 访问者可以单击看似无害的按钮,将一些信息输入文本框,甚至执行拖放操作。 他们看不到执行不同的、意想不到的、有利于攻击者的操作的隐藏接口。
通过用您的内容伪装他们的网站,点击劫持者希望诱骗他们的网站访问者执行其他不需要的操作,例如泄露敏感信息或下载恶意软件。
点击劫持如何运作?
点击劫持攻击利用 HTML 的能力,通过使用<iframe>
或<objects>
元素将一个网站的网页加载到另一个站点的页面中。
大多数时候,用户界面修复攻击依赖于用户登录到某个网站并在与点击劫持者“重新设计”的网站交互时相信他们在该网站上。 这样,被诱骗到恶意网页的人可能会执行点击劫持者想要的某些操作,而不会意识到他们没有与他们的银行或熟悉的 WordPress 网站进行交互。
点击劫持的五种主要类型
根据攻击者的最终目标,有多种类型的点击劫持策略。 它们的范围从相对无害的活动(增加其内容网站的浏览量或在帖子或视频上获得点赞)到窃取登录信息甚至是毫无戒心的受害者的钱。
点击劫持是一种进行各种恶意活动的高度灵活的方式。 虽然点击劫持被认为是一种网络攻击形式,但它也可能促进其他攻击,例如 XSS 或跨站点脚本攻击,甚至使用 XSS 有效负载来促进 XSRF 或跨站点请求伪造攻击。
以下是五种最常见的点击劫持攻击类型:
- 经典的点击劫持。 涉及选择受害网站或服务并使用其内容诱骗其用户执行许多不需要的操作。
- 喜欢劫持。 点击劫持的旧变体旨在提高某个网页或视频的观看次数和点赞次数。 可以被认为是相当无害的,现在很少见到了。
- 光标劫持。 攻击者使用的一种技术,将实际光标替换为假光标,以诱使用户在不知情的情况下单击恶意元素。
- 饼干劫持。 攻击者常用的策略是获取受害者浏览器存储的 cookie。 大多数时候,它是由受邀在攻击者的网页上执行看似无害的拖放操作的用户执行的。
- 文件劫持。 攻击利用浏览器打开用户设备上的文件的能力,允许攻击者访问他们的本地文件系统。 除了本地文件系统之外,攻击者还可以访问您设备上的麦克风或您所在的位置。
点击劫持的受害者:从社交媒体平台到在线支付系统
大约十年前,当 Facebook 和 Twitter 等主要社交媒体平台成为各种点击劫持的受害者时,点击劫持变得特别流行。 例如,在 2000 年代后期进行的一次点击劫持攻击使攻击者只需单击一下即可诱骗受害者向他们的整个 Facebook 好友列表发送垃圾邮件。
在过去十年中,用户界面纠正的日益普及导致科技巨头迅速采取适当措施来保护他们的平台免受此类攻击。 然而,即使在今天,安全研究人员仍在不断报告更多影响大型组织的漏洞。
最近发现的最突出的漏洞之一是影响 Paypal。 2021 年,威胁研究人员偶然发现了 Paypal 汇款服务中的一个漏洞,该漏洞可能允许攻击者利用一键式资金转账从用户账户中窃取资金。 Paypal 奖励了研究人员并宣布了解决这一问题的计划。
完美的陷阱:设置点击劫持攻击
任何点击劫持攻击都涉及三个主要步骤:选择目标或受害网站、创建恶意网页以及引诱目标网站或服务的客户。
步骤 1. 选择目标网站
由于绝大多数大型组织都实施了强大的安全措施来防止攻击者对其客户执行点击劫持攻击,因此黑客通常会针对较小的企业。 WordPress 网站对犯罪分子特别有吸引力,因为该软件不强制执行任何默认安全措施来防止 WordPress 内容嵌入攻击者的网站。
WordPress 登录页面和管理仪表板确实作为例外,但保护网站其余部分的责任落在网站所有者身上。 下次当您想知道为什么黑客会攻击您的网站时,答案很简单 — 黑客很容易将您作为目标,特别是如果您没有保持 WordPress 软件更新。 由于 WordPress 插件和主题中总是出现许多漏洞,因此必须对要安装的内容做出正确的选择。 然后保持所有软件更新 否则,您很容易成为目标。
根据您运营的 WordPress 网站类型和您发布的内容,攻击者可以针对网站的不同部分。 WordPress 点击劫持通常以 Web 表单、WordPress 管理员外部的登录页面和启用一键式结帐的 WooCommerce 结帐页面为目标。
步骤 2. 创建恶意网页
一旦选择了目标网站并发现它容易受到点击劫持,攻击者就会创建一个恶意网页来诱骗用户执行特定操作。 WordPress 点击劫持很可能以电子商务功能为目标,但窃取凭据和发送垃圾邮件仍然是攻击者设定的共同目标。
点击劫持的一个很好的例子是声称您赢得了奖品并邀请您领取奖品的页面。 通过点击“领取我的奖品”按钮,您实际上是在提供个人信息或确认购买或汇款。
步骤 3. 引诱目标网站的用户进入陷阱
要使点击劫持攻击成功,攻击者必须让用户打开他们的恶意网页并相信它是合法的、熟悉的站点的一部分。 这可以通过多种方式实现,可能是通过在电子邮件中发送指向它的链接或将用户从攻击者先前入侵的受感染第三方网站重定向。
如果您不单击异常、意外或可疑的电子邮件、文本或聊天中的链接,则点击劫持尝试成功的可能性非常低,即使攻击者的恶意网页看起来完全合法并且不会引起您的怀疑。 现代浏览器还采用了广泛的保护措施来防止点击劫持,您的警惕性和当前浏览器技术的结合可以显着降低任何 UI 修复攻击的成功率。
如何不成为点击劫持的受害者
为保护自己免受各种类型的点击劫持,请避免打开可疑的电子邮件、广告和网站链接。 切勿安装来自未经验证来源的软件。 由于点击劫持依赖于欺骗性的社会工程实践,因此学习如何发现它们是最好的防御措施。 除此之外,您应该将所有浏览器和操作系统更新到最新版本。 您还可以安装强大的浏览器安全扩展程序并使用现代防病毒软件来确保您不会成为点击劫持和其他危险网络攻击的受害者。
对点击链接的邀请持怀疑态度
点击劫持者通常通过电子邮件、短信和消息应用程序向潜在受害者发送链接。 如果您没有采取任何措施来请求或触发此类消息,请查看其来源。 点击劫持者通常会从类似于 Paypal 等合法站点的域、子域和帐户名发送消息。 看看您是否可以检测到导致这些可疑发件人的细微差别:
- [电子邮件保护]
- http://paypaI.com
在第一种情况下,“paypal”是一个任何人都可以附加到主顶级域的子域,在本例中是“app1.com”。 那不是贝宝。
在第二种情况下,小写字母“l”已替换为大写字母“I”,这在许多常见字体中都是相同的。 点击劫持者经常注册像这样的轻微拼写错误的域,以诱使人们相信它们来自合法发件人。
您还可以查看电子邮件标头以了解邮件的来源。 熟悉您的金融机构和其他重要帐户使用的域和电子邮件地址。 他们还将制定一项政策,概述他们将如何与您联系或不与您联系以及他们将如何表明自己的身份。 不要相信任何超出这些参数范围的通信。 安全总比后悔好!
安装反点击劫持浏览器扩展
除了浏览器的内置安全功能外,反点击劫持浏览器扩展程序还可以为您提供更高级别的保护,防止点击劫持和跨站点脚本攻击。 NoScript 是 Google Chrome、Mozilla Firefox 和 Microsoft Edge 支持的最流行的跨浏览器扩展。 JS Blocker 是 Safari 用户的 NoScript 的绝佳替代品。
保护您的 WordPress 网站免受点击劫持的三个步骤
默认情况下,WordPress 会保护管理仪表板及其登录页面免受点击劫持,但您网站的所有其他区域都需要额外的保护。 如今,针对大多数网站的攻击数量之多,使得安全性成为网站所有者的最高优先级。
幸运的是,有很多方法可以保护自己免受 WordPress 点击劫持。 , 你应该结合几种方法来确保它们被所有浏览器支持。 此外,安全措施的组合将有助于确保您的网站内容免受 UI 补救攻击可能促进的所有类型的恶意活动的侵害。
您可以采取三大步骤来保护您的 WordPress 网站免受点击劫持:
- 设置X-Frame-Options 标头以阻止任何人在不受信任的第三方资源的框架中加载您的网站内容。
- 配置内容安全策略 (CSP) frame-ancestors 指令以指定哪些网站可以将您网站的页面嵌入框架中。 (通常,这可以设置为“无”。)
- 使用Set-Cookie 标头的 SameSite cookie 属性来防御点击劫持和跨站点请求伪造 (CSRF) 尝试。
使用 .htaccess 为 WordPress 配置 HTTP 响应标头
响应标头是 HTTP 标头,用于为您的站点与其访问者浏览器之间的客户端-服务器通信定义特定变量。 它们对您的访客是不可见的。 X-Frame-Options、Content Security Policy 和 Set-Cookie 都是 HTTP 响应标头的示例。
虽然某些 WordPress 插件可用于在 WordPress 网站上配置 HTTP 响应标头,但最简单的方法是使用本地 .htaccess 文件。 (假设您的服务器环境使用 Apache 或 Litespeed 来处理 HTTP 请求。)网站根目录中的 .htaccess 文件中指定的标头配置将应用于网站上的所有页面。
mod_headers Apache 模块允许您使用Header set和Header append语句在 .htaccess 中配置响应标头。 由于可以在 Web 服务器的全局配置中配置某些标头,因此有时建议使用Header append将配置的值合并到现有响应标头中,而不是替换现有配置。
由于您的托管服务提供商可以默认为所有网站配置某些 HTTP 响应标头,因此最好在对 .htaccess 进行任何更改之前与他们联系以避免出现任何问题。
设置 X-Frame-Options 标头
X-Frame-Options 标头定义网页是否可以在框架中呈现以及允许这样做的资源列表。 X-Frame-Options 有两个指令——DENY 和 SAMEORIGIN。 以前使用的 ALLOW-FROM 指令现在已弃用。
DENY 值有效地防止任何网站将您网站的内容嵌入到框架中。 如果请求来自您网站的其他页面,则将 X-Frame-Options 设置为 SAMEORIGIN 允许内容框架。
要在 WordPress 网站上配置 X-Frame-Options 标头,请将以下行之一添加到 WordPress 安装目录中的 .htaccess 文件。 (请注意使用了 set 选项。)
标题集 X-Frame-Options "DENY"
标头集 X-Frame-Options“SAMEORIGIN”
尽管现代浏览器仅包括对 X-Frame-Options 的部分支持,甚至弃用它以支持 CSP frame-ancestors 指令,但在您的 WordPress 网站上配置它可以保护旧浏览器。
配置内容安全策略框架祖先指令
内容安全策略响应标头是一种强大的安全措施,可以帮助减轻许多攻击,包括点击劫持、跨站点脚本、请求伪造、数据包嗅探和数据注入攻击。 所有现代浏览器都支持内容安全策略。
内容安全策略的 frame-ancestors 指令可以设置为none或self以拒绝内容框架或将其使用限制在同一网站的范围内,或者您可以指定受信任网站列表以及内容类型列表每个可以框架。
将以下行添加到 .htaccess 将限制将所有类型的内容构建到当前网站:
标头集 Content-Security-Policy “frame-ancestors 'self'”
以下变体需要使用 HTTPS:
标头集 Content-Security-Policy “frame-ancestors 'self' https://mywpsite.com”
添加具有 SameSite 属性的 Set-Cookie 标头
Set-Cookie 响应标头用于将 cookie 从服务器传输到浏览器。 配置 SameSite 属性允许您将 cookie 的使用限制在当前网站。 这有助于确保防止点击劫持攻击,这些攻击需要用户在目标网站上进行身份验证和跨站点请求伪造。
如果在框架内向目标网站发出请求,将 SameSite 设置为strict可以有效地防止发送会话 cookie,即使用户在目标资源上经过身份验证也是如此。 请注意,仅靠措施无法减轻所有类型的点击劫持和跨脚本伪造攻击。
要在您的 WordPress 站点上实现 Set Cookie 标头的 SameSite 属性,请将以下行添加到 .htaccess 文件:
标头集 Set-Cookie ^(.*)$ "$1; SameSite=Strict; Secure
简单的点击劫持测试
您可以通过创建一个简单的 HTML 页面来检查您网站的内容是否可以从其他资源加载到框架中。 使用 OWASP 提供的以下代码创建一个 HTML 文件,并在浏览器中打开它。 如果您在框架中没有看到嵌入的网页,则内容框架已成功限制
请注意,最好将页面上传到您拥有的另一个网站,除非您已完全禁用内容框架。 在这种情况下,您可以创建您正在测试的相同网站之一。
<html>
<head>
<title>Clickjacking Test</title>
</head>
<body>
<iframe src="https://mywpsite.com/some-page" width="500" height="500"></iframe>
</body>
</html>
使用 iThemes Security Pro 防止 WordPress 网站上的点击劫持和其他网络攻击
点击劫持,也称为用户界面矫正,利用在另一个网页中加载一个网页的能力来诱骗用户执行其他不需要的操作。 由于缺乏内置保护措施来保护 WordPress 登录页面和管理仪表板以外的网页,因此 WordPress 点击劫持变得非常普遍。
通过限制他人使用 HTTP 响应标头(例如 X-FRAME-OPTIONS、内容安全策略和 Set-Cookie)构建您网站内容的能力来保护自己免受点击劫持。 使用 WordPress 安装目录中的本地 .htaccess 文件,您可以轻松地在整个站点应用这些安全策略。
点击劫持仍然是一个活跃的安全威胁,跨站点脚本与请求伪造通常是相伴而生的。 通过对 WordPress 网站安全的各个方面采取谨慎的方法,开始保护自己免受此类常见安全威胁。
iThemes Security Pro 提供了 30 多种方法来保护您的 WordPress 网站最脆弱的区域,保护它免受恶意行为者使用的各种现代、复杂的策略。 强大的漏洞扫描、无密码身份验证和文件完整性监控可让您显着减少攻击面。
BackupBuddy 和 iThemes Sync Pro 将帮助您定期备份您的 WordPress 网站,并提供高级正常运行时间监控和 SEO 分析。
iThemes 将确保您及时了解 WordPress 社区中的最新安全威胁和新闻。 如果您是 WordPress 新手,iThemes 免费 WordPress 培训可能正是您良好开端所需要的。
保护和保护 WordPress 的最佳 WordPress 安全插件
WordPress 目前为超过 40% 的网站提供支持,因此它很容易成为怀有恶意的黑客的目标。 iThemes Security Pro 插件消除了 WordPress 安全性的猜测,使保护和保护您的 WordPress 网站变得容易。 这就像拥有一名全职安全专家,不断为您监控和保护您的 WordPress 网站。
Kiki 拥有信息系统管理学士学位和两年多的 Linux 和 WordPress 经验。 她目前是 Liquid Web 和 Nexcess 的安全专家。 在此之前,Kiki 是 Liquid Web Managed Hosting 支持团队的一员,在那里她帮助了数百名 WordPress 网站所有者并了解了他们经常遇到的技术问题。 她对写作的热情使她能够分享自己的知识和经验来帮助人们。 除了技术之外,Kiki 还喜欢了解太空和收听真实的犯罪播客。