使用技巧

WordPress 5.6给您的网站带来了新的风险:该怎么做

WordPress 5.6是2020年计划的最终主要发布版本,于2020年12月8日发布,它包括一些主要功能和更新,以及大量的次要增强功能和错误修复。一些更改对安全性和兼容性具有直接影响,我们在本文中已针对WordPress用户进行了重点介绍。

应用程序密码会增加功能并带来风险

WordPress 5.6将具有一项新功能,该功能允许外部应用程序请求连接到站点的权限并生成特定于该应用程序的密码。授予应用程序访问权限后,它可以通过WordPress REST API代表用户执行操作。

不幸的是,对网站管理员进行社会工程设计以向恶意应用程序授予应用程序密码是微不足道的。攻击者可能会诱骗站点所有者单击请求应用程序密码的链接,并根据需要命名其恶意应用程序:

带有文本“请登录SG博客以授权任何认为它可以连接到您的帐户的人”的WordPress登录页面

更糟糕的是,设置了应用程序密码请求URL,以通过重定向URL将新生成的密码发送到请求者的站点。由于应用程序密码在生成密码的用户的权限下起作用,因此攻击者可以使用它来控制网站。我们演示了攻击者如何通过Wordfence Live上的应用程序密码来使用社会工程学攻击。

因此,默认情况下,Wordfence的最新版本7.4.14禁用应用程序密码。如果您有应用程序密码的特定用例,并且想重新启用应用程序密码,则可以在Wordfence-> Firewall-> Manage Brute Force Protection下执行以下操作:

Wordfence设置以禁用应用程序密码
尽管存在风险,但将来应用程序密码可能会提供一些实用程序。如何使用它们的一些示例包括从其他界面将帖子发布到WordPress网站,访问或更新WordPress数据库中的数据,甚至创建用户。

从表面上看,此功能类似于XML-RPC,但是REST API提供了明显更广泛的功能。此外,应用程序密码是安全生成的,长度为24个字符,因此暴力破解和凭据填充攻击不太可能成功。

如果您决定使用应用程序密码,我们强烈建议设置一个具有最小权限的用户,理想情况下,仅针对您要连接的应用程序仅具有必要的功能。

jQuery更新继续

2020年8月发布的WordPress 5.5删除了jQuery Migrate脚本。这导致许多使用依赖旧版本jQuery的插件的网站出现问题。

如果您的网站受到影响,并且您当前正在使用Enable jQuery Migrate Helper插件来解决这些问题,那么更新到WordPress 5.6之前,您需要确保没有它的网站也能正常工作。

这是因为WordPress 5.6将更新到最新版本的jQuery并添加了jQuery Migrate 3.3.2,这可能与Enable jQuery Migrate Helper插件(即jQuery Migrate 1.4.1)重新启用的版本冲突。

WordPress几年来一直在使用jQuery库的过时版本。

WordPress 5.6是3步计划的第2步,旨在使WordPress升级到最新版本的jQuery。该计划是:

  • WordPress 5.5:删除jQuery Migrate 1.x脚本。(2020年8月)
  • WordPress 5.6:更新到最新的jQuery,jQuery UI和jQuery Migrate脚本。(2020年12月)
  • WordPress 5.7:删除jQuery Migrate脚本。(2021年3月)

由于这个时间表,jQuery兼容性实际上比PHP 8.0兼容性迫切得多。插件和主题开发人员应该在WordPress 5.7发行之前的接下来的几个月中使用它们,以完全过渡其代码以与最新版本的jQuery兼容,而无需jQuery Migrate的帮助。

尽管已将安全修复程序移植到早期WordPress版本所使用的jQuery版本中,但许多工具(例如Google的Lighthouse)已报告WordPress网站由于运行旧版本的jQuery而容易受到攻击。好消息是,这些网站审核工具不应再显示WordPress 5.6网站容易受到攻击。

PHP 8兼容性

WordPress 5.6旨在与PHP 8“ beta兼容”。这意味着,在正常使用情况下,使用默认主题在PHP 8上运行WordPress 5.6且没有插件的网站不太可能会遇到任何问题。我们的前一篇文章深入探讨了插件作者在与PHP 8兼容时将面临的一些挑战。

如果您是使用大量插件的典型WordPress网站所有者,则可能需要一段时间才能安全更新到PHP8。另一方面,如果您是从头开始创建全新的网站,则需要通过从最新版本的PHP和WordPress开始,可以解决许多问题。

自动主要版本更新

过去我们讨论了自动更新,以及它们如何对某些用例必不可少,而对另一些用例却可能造成灾难性影响。当前,WordPress核心会自动应用次要更新,由于进行了大量测试,因此通常比自动插件更新安全得多。

从WordPress 5.6开始,所有新的WordPress安装都会收到主要版本的自动更新。这意味着,如果您使用WordPress 5.6创建一个新的WordPress网站,它将在出现时自动更新为WordPress 5.7。尽管这很可能引起问题,但请记住,最可能的问题将是与不兼容的插件有关,而这些插件在全新的网站上将不那么普遍。

从早期版本更新到WordPress 5.6的现有网站将保留仅针对次要版本和安全补丁自动更新的当前行为,因此当前网站所有者不必为此担心。如果需要,当前的站点所有者现在可以选择自动的主要版本更新,甚至Beta和RC版本。

全新主题

由于5.6是WordPress将于2020年发布的最终主要版本,因此它包含明年的新默认主题,名为二十一二十一。像以前的默认WordPress主题一样,它基于现有主题Seedlet,并且虽然包含了对暗模式的支持,但它是最小的。

结论

WordPress 5.6包含了许多更改,改进和错误修复,其中包括许多我们没有涵盖的内容。我们专注于我们认为与用户最相关且最有可能引起问题的项目。与WordPress的所有主要更新一样,是否要立即更新取决于您的用例。有许多有希望的新功能以及潜在的成长隐患,但这些功能将适用于开发人员而不是用户。