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

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

缺陷编号:wooyun-2015-0107822

漏洞标题:Metinfo最新版注入(gpc影响)

相关厂商:MetInfo

漏洞作者: i3esn0w

提交时间:2015-04-15 14:21

修复时间:2015-07-16 10:52

公开时间:2015-07-16 10:52

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-04-15: 细节已通知厂商并且等待厂商处理中
2015-04-17: 厂商已经确认,细节仅向厂商公开
2015-04-20: 细节向第三方安全合作伙伴开放
2015-06-11: 细节向核心白帽子及相关领域专家公开
2015-06-21: 细节向普通白帽子公开
2015-07-01: 细节向实习白帽子公开
2015-07-16: 细节向公众公开

简要描述:

之前提交说已经过滤了,然后又下载了一下,发现还是没有过滤,不知道审核说的过滤是在哪过滤的

详细说明:

1.png


可以看到是最新下载的,更新日期

2.png


后台配置文件位于/admin/include/common.inc.php

3.png


代码无任何改变

<?php
# MetInfo Enterprise Content Management System
# Copyright (C) MetInfo Co.,Ltd (http://www.metinfo.cn). All rights reserved.
header("Content-type: text/html;charset=utf-8");
error_reporting(E_ERROR | E_PARSE);
@set_time_limit(0);
define('ROOTPATH_ADMIN', substr(dirname(__FILE__), 0, -7));
DIRECTORY_SEPARATOR == '\\'?@ini_set('include_path', '.;' . ROOTPATH_ADMIN):@ini_set('include_path', '.:' . ROOTPATH_ADMIN);
$DS=DIRECTORY_SEPARATOR;
$url_array=explode($DS,ROOTPATH_ADMIN);
$count = count($url_array);
$last_count=$count-2;
$last_count=strlen($url_array[$last_count])+1;
define('ROOTPATH', substr(ROOTPATH_ADMIN, 0, -$last_count));
PHP_VERSION >= '5.1' && date_default_timezone_set('Asia/Shanghai');
session_cache_limiter('private, must-revalidate');
@ini_set('session.auto_start',0);
if(PHP_VERSION < '4.1.0') {
$_GET = &$HTTP_GET_VARS;
$_POST = &$HTTP_POST_VARS;
$_COOKIE = &$HTTP_COOKIE_VARS;
$_SERVER = &$HTTP_SERVER_VARS;
$_ENV = &$HTTP_ENV_VARS;
$_FILES = &$HTTP_POST_FILES;
}
$settings=array();
$db_settings=array();
$db_settings = parse_ini_file(ROOTPATH.'config/config_db.php');
@extract($db_settings);
require_once ROOTPATH_ADMIN.'include/mysql_class.php';
$db = new dbmysql();
$db->dbconn($con_db_host,$con_db_id,$con_db_pass,$con_db_name);
$query="select * from {$tablepre}config where name='met_tablename' and lang='metinfo'";
$mettable=$db->get_one($query);
$mettables=explode('|',$mettable[value]);
foreach($mettables as $key=>$val){
$tablename='met_'.$val;
$$tablename=$tablepre.$val;
$_M[table][$tablename]=$tablepre.$val;
}
require_once dirname(__file__).'/global.func.php';
require_once dirname(__file__).'/global/snap.func.php';
define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());
$lang=$_GET['lang']<>""?$_GET['lang']:$_POST['lang'];
$lang=daddslashes($lang,0,1);
$metinfoadminok=1;
$settings_arr=array();
require_once ROOTPATH.'config/config.inc.php';
met_cooike_start();
$query="select * from {$tablepre}lang where mark='{$_GET[langset]}' and lang='metinfo'";
$isadminlang=$db->get_one($query);
if(!$isadminlang&&$_GET[langset]!='')die('not have this language');
if($_GET[langset]!=''){
$_GET[langset]=daddslashes($_GET[langset],0,1);
change_met_cookie('languser',$_GET[langset]);
save_met_cookie();
}


langset还是无任何过滤,直接带入查询

漏洞证明:

and 1=1

4.png


and 1=2

4.png


SQLmap测试

5.png


由于后台文件调用了login_check.php文件来检查是否已经登录,因此,后台所有文件均可注入
附上最新下载的程序
http://pan.baidu.com/s/1mgHvzMo

修复方案:

不知道

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:12

确认时间:2015-04-17 10:51

厂商回复:

谢谢您的反馈,这个问题我们已经修复了。

最新状态:

暂无