作为最常见的网络安全威胁之一,跨站点脚本 (XSS) 在 2019 年攻击了近 75% 的大公司。此外,近 40% 的网络攻击是针对 XSS 漏洞执行。

跨站点脚本已经影响到 eBay、Google、Facebook 和 Twitter 等网络巨头运营的网站。但跨站脚本并非新的网络威胁。事实上,XSS 攻击几乎自 Web 诞生以来就已经存在。

为了帮助您防止 XSS 攻击,本指南重点介绍了您需要了解的有关跨站点脚本的所有信息。阅读本指南后,您将更好地了解跨站点脚本的工作原理以及如何保护您的 WordPress 站点。

什么是跨站脚本攻击(XSS)?

跨站脚本( XSS ) 是指一种网络攻击,其中恶意脚本被注入到其他可信和受信任的网站中。

跨站点脚本攻击可能发生在 HTML、Flash、ActiveX 和 CSS 中。然而,JavaScript 是网络犯罪分子最常见的目标,因为它是大多数浏览体验的基础。

JavaScript 是一种编程语言,可让您在网站上实现复杂的功能。网络上的大多数大型交互式网站都是使用 JavaScript 构建的。 “您可以开发实时互动功能、游戏或添加其他功能以更好地营销您的产品,”营销经理 Domantas Gudeliauskas 说。齐罗项目。

JavaScript 在网络社区中如此流行,因为它允许您在网页上执行几乎任何操作。这就是问题所在。网络罪犯可以使用 JavaScript 登录到您的网页背面并插入恶意脚本。

跨站点脚本是如何工作的?

网络罪犯可以通过两种方式对 WordPress 网站执行 XSS 攻击。他们可以利用用户输入或绕过同源策略。让我们看一下这两种方法,以了解有关跨站点脚本的更多信息。

操纵用户输入

网络犯罪分子执行 XSS 攻击的最常见方式是利用用户输入。大多数 WordPress 站点都有用户输入字段,例如搜索栏、评论表单、登录页面和联系表单。输入字段通常由支持 JavaScript 的 WordPress 插件或您网站上的活动主题启用。

问题是并不是所有的 WordPress 插件和主题都是 100% 安全的,事实上它们中的许多确实存在 XSS 漏洞。这对您来说意味着网络犯罪分子可以利用输入字段中的 WordPress 漏洞来运行恶意活动。

理想情况下,站点搜索栏(或任何其他用户输入字段)应该只接受纯文本,而不是命令作为输入。然而,WordPress 确实存在一个用户输入漏洞,允许黑客在输入字段中输入执行的代码并将其发送到数据库。

绕过同源策略

同源策略限制一个页面从其他网页检索信息。根据此策略,仅当第一个网页中包含的脚本具有相同来源时,才允许第一个网页中包含的脚本访问第二个网页中的数据。这有助于确保没有跨站点请求。

该政策规定,如果您在同一浏览器中打开 Facebook 页面和网上银行,这两个站点将无法相互共享信息。但是,如果您打开了多个 Facebook 标签页(共享同一来源),它们可以相互交换脚本和其他数据。

尽管采用同源策略和其他安全措施来防止跨站点请求,但网络犯罪分子已经找到一种使用会话 cookie 绕过此策略的方法。此功能之所以有效,是因为它会在您每次打开浏览器时生成一个会话 cookie,以验证您是网站用户并帮助您顺利地从一个页面移动到另一个页面。

会话 cookie 存储登录凭据(包括您的 WordPress 站点的凭据)、信用卡信息、发货详细信息和其他敏感数据。这是它的工作原理。假设您想登录您的网上银行账户。当您打开一个网站时,会生成一个会话 cookie。如果没有会话 cookie,您每次要切换页面时都必须登录您的网上银行帐户。

用户的浏览器易受攻击的情况并不少见。而且,如果有的话,网络犯罪分子会使用他们注入用户输入的代码来窃取会话 cookie。这样,黑客就可以窃取用户浏览器打开的所有网站的cookies。然后,这些 cookie 可用于登录用户帐户以冒充他们并窃取财务数据。

为什么跨站点脚本很危险?

跨站点脚本是最常见的高风险 WordPress 漏洞之一。 XSS 攻击如此普遍的原因是,与其他安全漏洞不同,它们很难修复。即使您有内置保护,也很容易犯启用跨站点脚本的错误。网页的 HTML 或 JavaScript 中只要有一个错误就会使您的站点容易受到跨站点脚本攻击。

当攻击者找到利用 XSS 漏洞的方法时,他们可以窃取帐户凭据、财务数据并促进网络钓鱼诈骗。他们还可以传播计算机蠕虫或远程访问用户的计算机。此外,XSS 攻击允许黑客:

  • 劫持用户帐户
  • 传播恶意软件
  • 远程控制用户的计算机
  • 扫描和利用 Intranet 应用程序

XSS 攻击通常被认为没有 SQL 注入危险。然而,跨站点脚本与社会工程相结合时,允许网络犯罪分子发起高级且极其危险的攻击,包括特洛伊木马、键盘记录、网络钓鱼、身份盗用和跨站点请求伪造。

为了对抗XSS攻击,大型IT公司推出了专门的漏洞赏金计划。这些计划由许多组织实施,并为报告脚本中的 XSS 漏洞的用户提供补偿或认可。通过这种方式,该公司通过让其他开发人员识别其漏洞来投资于网络安全。谷歌甚至有一款游戏可以派发 XSS 漏洞。

XSS攻击类型

跨站脚本攻击主要分为三种类型:反射型、存储型和基于DOM的XSS。为了更好地理解 XSS 的工作原理,让我们来看看每种类型的 XSS 漏洞。

存储型跨站点脚本

存储型 XSS 漏洞(也称为“持久性”或“I 型”)。然后受害者可以从 Web 应用程序中检索存储的数据(在浏览器中呈现是不安全的)。这样,当黑客执行攻击时,有效负载对浏览器的 XSS 过滤器是不可见的,受害者可能会在访问受影响的页面时意外触发有效负载。

反射型跨站点脚本

反射型 XSS 漏洞(也称为非持久性或 II 型)。在这种情况下,用户输入的数据将被反映而不会被存储,从而允许黑客注入恶意的 XSS 脚本。与存储型 XSS 不同,反射型 XSS 针对的是网站本身,而不是网站访问者。

基于 DOM 的 XSS

TA 基于 DOM 的 XSS 漏洞(又名类型 0)出现在 DOM(文档对象模型)中,而不是 HTML 部分。恶意代码的读取源可以是 URL 或 HTML 的特定元素。

如何防止跨站脚本攻击?

现在,当你明白了介绍了 XSS 基础知识后,让我们看看经过验证的防止 XSS 攻击的方法。

有多种方法可以保护 WordPress 站点免受 XSS 攻击。如果您拥有高级技术专长,则可以添加代码片段来验证和清理用户输入。但是,如果您不熟悉 WordPress 的技术部分,最好将工作委派给技术团队或聘请可以为您执行这些步骤的专业人员。

在此期间,您可以采取两个步骤来防止跨站脚本攻击。

安装安全插件

安装安全的 WordPress 插件是实现终极 WordPress 站点安全的第一步。选择安全插件时,请使用此清单作为参考,以确保该插件具有确保网站安全所需的功能。

  • 该插件会定期扫描您的网站以查找恶意软件。
  • 该插件使用防火墙来阻止任何看似恶意的流量。
  • 插件可以实施 WordPress 加固措施。
  • 插件允许您管理所有 WordPress 更新。
  • 该插件会备份您的 WordPress 网站,因此,如果发生攻击,您可以恢复您的网站。

安装专用插件

安装反XSS插件是另一种防止跨站脚本的方法。反 XSS 插件通过阻止跨站点脚本攻击中常用的参数来工作。例如,这些插件可以保护用户输入字段的安全,例如您网站的评论表单、登录字段或搜索栏。

底线 – 所有 WordPress 漏洞中有 39% 与跨站点脚本问题有关。公司在与跨站点脚本攻击的后果作斗争时损失了数百万美元。为了避免对您的网站进行 XSS 攻击,了解什么是跨站点脚本并采取预防措施非常重要。

为了使您的站点免受跨站点脚本攻击,您应该验证和清理输入字段。此外,您可以安装安全和专用的反 XSS 插件来帮助您保护您的 WordPress 网站。