如何保护您的 WordPress 网站免受 Genericons Example.html XSS 漏洞的攻击

介绍

2015年5月6日,一个关键的WordPress错误被披露,可能会影响数百万用户,该漏洞实际上来自使用Genericons图标字体包的组件,可以让您的网站对跨站点脚本(XSS)攻击开放。

在本文中,我们将解释漏洞的影响,如何检查您的网站是否易受攻击,以及如果发现您受到影响,您应该采取哪些行动。

脆弱性的解释

实际的漏洞存在于一个名为Genericons的字体包,而不是核心的WordPress安装。不幸的是,这个字体包是由TwentyFifteen使用的,这个主题是默认安装和启用的WordPress。漏洞还影响了一个名为JetPack的受欢迎的WordPress定制和改进插件,该插件有超过一百万个活跃的安装,也可能有插件和主题。

该漏洞存在于一个名为example.html的单个文件中,该文件包含在 Genericon 包中。 这是一个非必不可少的文件,用于展示字体。 但是,它包含了一个 jQuery 片段,引入了一个漏洞,可能允许基于 DOM 进行跨站点脚本操作。 任何使用更现代版本的Genericons包的主题或插件,而不删除此文件,都是脆弱的。

基于DOM的跨站点脚本攻击通过改变用户浏览器所解释的DOM环境来工作,导致脚本操作以与原设计相反的方式执行。为了利用漏洞,用户必须在登录WordPress安装时点击一个特别设计的链接。如果应用程序具有此类漏洞,服务器无法轻松防止不必要的行为,因为这些行为发生在浏览器本身。

我的服务器有这个漏洞吗?

2015 年 5 月 7 日, WordPress 4.2.2 发布,修补了此问题. 如果您在此日期或之后安装或更新到最新版本的 WordPress,您的安装应该是安全的。

如果您正在运行此日期之前安装的 WordPress 实例,并且未更新至 4.2.2,则您的网站可能处于脆弱状态。

WordPress update warning

您也可以前往您的服务器的文档根,并搜索example.html文件本身,例如,如果您在您的服务器的文档根中,您可以键入:

1find . -path "*/genericons/example.html"

结果将看起来像这样的东西:

1[secondary_label find output]
2./wp-content/themes/twentythirteen/genericons/example.html
3./wp-content/themes/twentyfifteen/genericons/example.html
4./wp-content/themes/twentyfourteen/genericons/example.html

在上面的例子中,在 TwentyFifteen 主题中发现了一个 example.html 文件,表明此安装是易受攻击的。 在这里展示的其他主题中的 example.html 文件实际上并不易受攻击,因为它们不包括有害的 jQuery 行。

如何修补您的安装

建议修补您的系统的方法是简单地升级WordPress,这不仅会保护您的系统免受此漏洞的侵害,还会解决可能存在的任何其他问题。

如果您的权限允许,您通常可以使用管理面板更新控制器升级您的安装。您可能会在主页上看到此选项作为链接(如上面的屏幕截图所示)。

WordPress update now

您可能还需要单独更新主题和插件。

虽然我们强烈建议您完全更新 WordPress(以及任何受影响的主题或插件),但您也可以轻松手动删除侵权文件。

要做到这一点,请登录您的WordPress服务器并导航到您的文档根目录,您可以通过键入删除侵权文件:

1sudo find . -path "*/genericons/example.html" -exec rm -f {} \;

然后您可以再次检查您的目录结构:

1find . -path "*/genericons/example.html"

应删除genericons目录中的所有example.html实例。

结论

虽然对这个漏洞易受影响的用户数量非常高,但修复方法非常直接,可以通过正常的WordPress更新方法实现。如果您已经为自己的目的或客户管理了WordPress安装,则在4.2.2中可用的补丁将很容易地关闭这个漏洞。

Published At
Categories with 技术
comments powered by Disqus