一位安全研究人员已经在WordPress的一个流行且广泛使用的插件中披露了一个关键漏洞的详细信息,该插件可能允许低权限攻击者在目标网站的AMP页面上注入恶意代码。
易受攻击的WordPress插件是“ AMP for WP - Accelerated Mobile Pages ”,它允许网站自动为其博客帖子和其他网页生成有效的加速移动页面。
AMP是加速移动页面( Accelerated Mobile Pages)的缩写,是一个谷歌公司的开源技术。其可以让网站建立起来,并为移动访客提供更快的网页服务。
对桌面和移动设备用户来说,thehackernews.com主要版本足够快,但您也可以查看该网站的AMP版本
在允许WordPress网站创建Google优化AMP页面的数百个插件中,“AMP for WP”是最受欢迎的,其中超过100,000个安装。
受影响的插件最近由于易受攻击的代码被暂时从WordPress插件库中移除,它的开发者和WordPress团队也都没有透露插件的确切问题。
该漏洞的POC视频链接在:AMP for WP – Accelerated Mobile Pages' Exploit PoC (https://youtu.be/G7y4ecT_ifg)
来自网络安全公司WebARX的网络安全研究员Luka Sikic分析了易受攻击的插件版本,并在“AMP for WP”中发现了代码注入漏洞,该漏洞后来在其更新版本中进行了修补。
该漏洞存在于'AMP for WP - Accelerated Mobile Pages'插件处理用户帐户和WordPress AJAX hook权限的方式。
“AMP插件漏洞位于ampforwp_save_steps_data中,在安装向导中调用它来保存设置。它已被注册为wp_ajax_ampforwp_save_installer ajax hook,”Sikic在 其发布的博客文章(https://www.webarxsecurity.com/amp-plugin-vulnerability/)中说。
“对于允许用户注册的网站,这个特定的插件漏洞是一个关键问题。”
在其设置下,该插件为网站管理员提供了在AMP页面的页眉或页脚中添加广告和自定义HTML/JavaScript代码的选项。所以,该插件在后台使用WordPress的内置AJAX hook功能。
由于WordPress站点上的每个注册用户,即使拥有最低权限,也有权调用AJAX hook。而且由于易受攻击的插件不会检查调用AJAX hook的帐户是否为admin,因此该站点的任何用户都可以使用此函数注入自定义代码。
正如研究人员在视频中所证明的那样,低权限用户可以简单地调整任何调用AJAX hook的请求,并可以在站点中提交恶意JavaScript代码。
此漏洞现已在 AMP for WP - Accelerated Mobile Pages 的最新版本0.9.97.20中得到解决。研究人员说“在更新版本中,插件可以检查wpnonce值,并检查登录用户是否可以管理选项”。
如果您的WordPress网站也使用受影响的插件,强烈建议您尽快安装最新的安全更新。