WordPress权限系统插件的设计缺陷和WooCommerce(流行电子商务插件)中的文件删除漏洞可允许***者获得对WordPress网站的完全控制权。

Automattic公司推出的WooCommerce是一个很受欢迎的WordPress插件,它可以添加电子商务功能,这样网站所有者就可以拥有自己的商店。根据WordPress.org的WooCommerce插件页面可以看到,这个插件有超过400万的活跃安装量。

WooCommerce插件页面

当安装使用不同用户角色的WordPress插件时,正在运行的是WordPress权限系统,而不是创建自己的身份验证系统。插件通过创建分配了不同WordPress功能的新角色来实现此目的,然后利用插件功能来限制这些角色与WordPress中的其他用户或设置的交互方式。

根据PHP安全公司RIPS Tech的研究员Simon Scannell的最新研究,当安装WooCommerce时,它将创建一个具有“edit_users”WordPress功能/权限的Shop Manager角色。此功能允许用户编辑任何WordPress用户,包括管理员帐户。

通过下面的WooCommerce插件可以查看Shop Manager角色的权限。

由于网站所有者显然不希望插件的用户能够编辑整个网站的管理员,因此WooCommerce创建了一个功能,可以阻止该角色的用户编辑属于管理员角色的用户。

WordPress插件/权限系统的缺陷是:如果禁用WooCommerce插件,Shop Manager编辑用户的限制功能将不再可用,因此Shop Manager可以以管理员的身份编辑用户但是,禁用插件的唯一方法是使用管理员帐户或删除与插件关联的文件。这是RIPS Tech发现的文件删除漏洞发挥作用的地方。

使用RIPS代码分析软件,Scannell能够在WooCommerce 3.4.5及更早版本中发现文件删除漏洞。此漏洞存在于Shop Manager可以访问的插件日志删除功能中。

使用此漏洞,Shop Manager角色中的用户可以通过添加传递的参数来逃避预期文件夹。

例如,要删除主插件文件,他们可以将以下参数传递给日志删除功能,这将删除“wp-content/wc-logs/../../ plugins/woocommerce-3.4.5/woocommerce .php“文件。

现在该文件已被删除,该插件无法再加载,然后将被WordPress禁用。禁用插件后,Shop Manager现在具有编辑任何用户的完全访问权限,包括管理员帐户。一旦管理员帐户被接管,***者就可以完全访问该站点。

不过,该漏洞确实说明了如何利用插件的权限系统,通过使用通常不允许站点接管的漏洞。这个漏洞是在10月11日的WooCommerce版本3.4.6中修复的。虽然WordPress可以被配置成自动更新所有插件,Scannel告诉BleepingComputer,默认情况下这是不启用的,因此许多用户可能仍然在运行较老的WooCommerce插件的脆弱版本。因此,重要的是所有用户都要检查已安装的插件的版本,如果它比3.4.6版本旧,升级到最新版本。BleepingComputer已经联系了Automattic询问关于这个漏洞的问题,但在本文发表时还没有得到回复。

值得注意的是,想要成功利用此漏洞,***者需要访问具有Shop manager角色的用户帐户。所以它必须在内部工作或以其他方式获得Shop Manager凭证,比如XSS漏洞或者网络钓鱼***。

漏洞已于10月11日在WooCommerce版本3.4.6中修复。虽然可以将WordPress配置为自动更新所有插件,但Scannel告诉媒体自动更新功能默认情况下没有被启用,因此许多用户可能仍在运行WooCommerce插件的易受***版本。因此,所有用户都必须检查已安装插件的版本,如果其版本低于3.4.6版,请尽快升级到最新版本。