CVE-2024-25600 WordPress Bricks Builder RCE-漏洞分析研究

本次代码审计项目为PHP语言,我将继续以漏洞挖掘者的视角来分析漏洞的产生,调用与利用.....

前方高能,小伙伴们要真正仔细看咯.....

漏洞简介

CVE-2024-25600 是一个严重的(CVSS 评分 9.8)远程代码执行 (RCE) 漏洞,影响 WordPress 的 Bricks Builder 插件。成功利用此漏洞可能允许未经身份验证的攻击者在受影响的基于 WordPress 的网站上远程执行任意 PHP 代码。据报道,该漏洞已被广泛利用,包括尝试在易受攻击的服务器上安装基于 PHP 的恶意 Webshell。Bricks Builder 插件版本 1.9.6.1 或更高版本中已发布解决此漏洞的补丁。

Bricks Builder官方 Bricks – Visual Site Builder for WordPress

Bricks Builder官方参考文档Getting Started – Bricks Academy

漏洞官方公告Bricks 1.9.6.1 Changelog – Bricks

漏洞分析

先看触发漏洞的代码函数

位于\wp-content\themes\bricks\includes\query.php中346行

这段代码被涉及用来执行用户提交的 PHP 代码并返回执行结果

既然这样,就很大概率能够触发rce

向上分析参数是如何传递的,先分析参数$php_query_raw

### WordPress CVE 列表及详情 #### 学习管理系统插件 LearnPress SQL 注入漏洞 (CVE-2024-8522) WordPress 是广泛使用的开源内容管理系统(CMS),LearnPress 是其中一个流行的 LMS 插件。然而,在某些版本中存在 SQL 注入漏洞,这使得攻击者能够执行恶意查询并可能获取数据库访问权限。 ```sql -- 示例SQL注入语句 SELECT * FROM wp_posts WHERE post_type = 'lp_course' AND ID = 1 OR '1'='1'; ``` 这种类型的漏洞通常发生在未正确验证用户输入的情况下,特别是在处理动态 SQL 查询时[^1]。 #### 社区建设插件 BuddyPress 越权漏洞 RCE (CVE-2021-21389) BuddyPress 提供了构建社交网络的功能,但在早期版本中发现了一个严重的越权漏洞。非特权用户可以利用 REST API 成员端点中的缺陷提升自己的权限至管理员级别。此问题已经在后续版本得到修复,建议所有受影响的实例尽快升级到最新稳定版。 ```php // 检查当前BP版本号 if (!version_compare(get_option('bp_version'), '7.2.1', '>=')) { echo "您的BuddyPress版本可能存在安全隐患"; } ``` 为了防止此类风险,开发者应当严格控制API接口的安全性和最小化授权原则的应用[^2]。 #### 页面构建器 Bricks Builder 远程命令执行漏洞 (CVE-2024-25600) Bricks Builder 是一款用于快速搭建网页布局的强大工具,不过在其部分发行版里发现了远程代码执行的风险。如果成功被利用,则可能导致整个Web应用程序完全受控于黑客手中。因此对于这类高危级别的安全事件必须引起足够的重视,并及时采取措施加以防范。 ```bash curl -X POST http://example.com/wp-admin/admin-ajax.php \ -H "Content-Type: application/json" \ -d '{"action":"bricks_builder_save","data":{"content": "<?php phpinfo(); ?>"}}' ``` 上述示例展示了如何向服务器发送带有恶意PHP代码的数据包以触发RCE条件[^3]。 #### 文件上传组件 WP File Upload 任意文件读取漏洞 (CVE-2024-9047) WP File Upload 插件允许用户上载各种类型的文档资料,但由于缺乏充分的身份验证机制以及不当配置,造成了潜在的信息泄露威胁。特别是当fopen函数被滥用时,它可能会让未经授权的人士查看甚至移除系统内的重要资源文件。 ```python import requests url = "http://target-site.com/index.php?route=wfu_file_downloader" params = {'file': '/etc/passwd'} response = requests.get(url, params=params) print(response.text) ``` 这段Python脚本模拟了一次针对`wfu_file_downloader.php`文件发起GET请求的过程,其中包含了指向目标系统的路径参数,从而实现了对指定位置下文件内容的非法获取操作[^4]。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昵称还在想呢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值