当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-062848

漏洞标题:MetInfo设计缺陷导致删除整站等严重漏洞全版本通杀

相关厂商:cncert国家互联网应急中心

漏洞作者: xfkxfk

提交时间:2014-05-30 10:00

修复时间:2014-08-28 10:00

公开时间:2014-08-28 10:00

漏洞类型:设计缺陷/逻辑错误

危害等级:中

自评Rank:15

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-05-30: 细节已通知厂商并且等待厂商处理中
2014-06-04: 厂商已经确认,细节仅向厂商公开
2014-06-07: 细节向第三方安全合作伙伴开放
2014-07-29: 细节向核心白帽子及相关领域专家公开
2014-08-08: 细节向普通白帽子公开
2014-08-18: 细节向实习白帽子公开
2014-08-28: 细节向公众公开

简要描述:

MetInfo设计缺陷,可导致删除整站等严重漏洞,5.1及5.2通杀。

详细说明:

那官方最新版metinfo5.2测试!
第一处:任意目录删除
文件出在/admin/system/uploadfile.php

<?php
# MetInfo Enterprise Content Management System
# Copyright (C) MetInfo Co.,Ltd (http://www.metinfo.cn). All rights reserved.
require_once '../login/login_check.php';
require_once 'mydir.class.php';
$rurls='../system/uploadfile.php?anyid='.$anyid.'&cs='.$cs.'&lang='.$lang;
if($action=='deletefolder'){
$filedir="../../".$filename;
deldir($filedir,0);
metsave($rurls);
}
if($action=='delete'){
$rurls.='&fileurl='.$fileurl.'&file_classnow='.$file_classnow.'&page='.$page;
if($action_type=="del"){
$allidlist=explode(',',$allid);
$k=count($allidlist)-1;
for($i=0;$i<$k; $i++){
if(strcasecmp(substr(trim($allidlist[$i]),0,13),'../../upload/')!=0)die('met1');
if(substr_count(trim($allidlist[$i]),'../')!=2)die('met2');
if(file_exists($allidlist[$i]))@unlink($allidlist[$i]);
}
metsave($rurls);
}else{
if(strcasecmp(substr(trim($filename),0,13),'../../upload/')!=0)die('met1');
if(substr_count(trim($filename),'../')!=2)die('met2');
if(file_exists($filename)){
@unlink($filename);
metsave($rurls);
}else{
metsave($rurls,$lang_setfilenourl);
}
}


当$action=='deletefolder'时,filename没有过滤,直接拼接到filedir
然后deldir($filedir,0),这里比删除文件更给力,可直接删除真个目录,甚至删除整站目录。
虽然在后台才能删除,但是这里存在CSRF漏洞,没有任何防御CSRF的措施,而且是GET直接请求,可以给管理留言等,可以优势管理访问我们的链接,后果不堪设想。
首先我们在网站根目录下新建一个目录test

1.png


然后构造伪造请求,来删除此目录:

http://localhost/metinfo/admin/system/uploadfile.php?filename=test&action=deletefolder


2.png


如图所示,成功把根目录下的test删除,而且在过程中没有任何CSRF防御措施。
这样的话恶意攻击者可以使用CSRF删除系统文件,删除整站,删除config等等,瞬间搞垮网站。
同样的问题还有:
任意添加管理员,修改上传文件类型等操作。

漏洞证明:

见详细说明

修复方案:

控制删除的目录。
添加CSRF Token

版权声明:转载请注明来源 xfkxfk@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2014-06-04 09:35

厂商回复:

CNVD确认所述情况(本地复现),需要认证前提,由CNVD转报给软件生产厂商,长沙米拓公司。

最新状态:

暂无