WordPress Bricks Builder远程代码执行漏洞

漏洞概述

Bricks Builder 是WordPress上的一款功能强大的主题编辑插件。近日,网宿演武安全实验室发现,在WordPress小于1.9.6版本的默认配置中存在远程代码执行漏洞,导致用户可以绕过权限检查,并最终实现远程代码执行,获取服务器权限。该漏洞利用条件简单,影响范围甚广,建议广大企事业单位检查WordPress版本并修复相关漏洞,或引入Web防护方案,阻止针对该漏洞的利用行为。

受影响版本

Bricks Builder <= 1.9.6

漏洞分析

根据公开的漏洞概述以及poc,首先全局定位到/bricks/v1/render_element路由,在bricks/includes/api.php文件中注册了该REST API路由,定义了请求方式,回调函数render_element以及权限检查回调函数render_element_permissions_check。

WordPress Bricks Builder远程代码执行漏洞

我们在源码上打上断点,动态调试,进一步分析。在服务器收到请求后,会先调用权限检查回调函数。

WordPress Bricks Builder远程代码执行漏洞

跟入bricks/includes/api.php,其权限检查回调函数render_element_permissions_check中,发现其通过nonce的值来进行权限校验。

WordPress Bricks Builder远程代码执行漏洞

然而在bricks中,它将有效的nonce包含进入了前端,刷新wordpress主页,可在前端源码中全局查找到nonce。这意味着这个权限检查回调函数完全失效,任何未授权的用户都可以在该api执行操作。

WordPress Bricks Builder远程代码执行漏洞

在从前端提取的nonce值通过有效验证后,接着跟入到回调函数render_element中,在其中调用了Ajax::render_element函数,并将我们请求体中的参数传入。

WordPress Bricks Builder远程代码执行漏洞

接着跟入bricks/includes/ajax.php的render_element函数中,在该函数中主要是根据参数查找出Element_Code类,并进行实例化。

WordPress Bricks Builder远程代码执行漏洞

实例化后调用init(),接着在bricks/includes/elements/base.php中跟进该函数。

WordPress Bricks Builder远程代码执行漏洞

在其中关注this->render()函数,继续在bricks/includes/elements/code.php跟进,发现其主要是进行一些危险函数调用检查后,以异常处理的方式用eval函数执行配置里面用户提交的code代码。在这里code参数用户可控,可配合采用<?php throw new Exception(`CMD` . “END”); ?>的方式实现代码执行。

WordPress Bricks Builder远程代码执行漏洞

最后从当前缓冲区的内容得到代码执行的结果,一步一步回调完成请求。

WordPress Bricks Builder远程代码执行漏洞WordPress Bricks Builder远程代码执行漏洞WordPress Bricks Builder远程代码执行漏洞

漏洞复现

采用wordpress6.4.3+bricks builder1.9.4本地搭建。在wordpress首页查看源码全局搜索nonce的值。

WordPress Bricks Builder远程代码执行漏洞

用Burpsuite在http://127.0.0.1/wordpress/?rest_route=/bricks/v1/render_element下构造请求,并且以post的方式提交以下数据执行命令“python –version”。在返回的结果中可以成功查看到当前主机的python版本。

WordPress Bricks Builder远程代码执行漏洞

受影响资产

从fofa上查询相关资产有25000多个,fofa语句:body=”/wp-content/themes/bricks/”

WordPress Bricks Builder远程代码执行漏洞

修复方案

尽快使用最新wordpress bricks builder theme版本,不采用nonce作为权限检查回调函数鉴权以及对用户提交输入进行严格的检查过滤。

原创文章,作者:速盾高防cdn,如若转载,请注明出处:https://www.sudun.com/ask/28023.html

Like (0)
速盾高防cdn的头像速盾高防cdn
Previous 2024年3月23日 下午11:58
Next 2024年3月24日

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注