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

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

缺陷编号:wooyun-2014-061859

漏洞标题:U-Mail邮件服务系统任意文件上传+执行漏洞(runtime缺陷与验证绕过)

相关厂商:U-Mail邮件服务系统

漏洞作者: felixk3y

提交时间:2014-05-22 12:36

修复时间:2014-08-17 12:38

公开时间:2014-08-17 12:38

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

危害等级:高

自评Rank:20

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-05-22: 细节已通知厂商并且等待厂商处理中
2014-05-27: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2014-07-21: 细节向核心白帽子及相关领域专家公开
2014-07-31: 细节向普通白帽子公开
2014-08-10: 细节向实习白帽子公开
2014-08-17: 细节向公众公开

简要描述:

产品介绍(摘自官网)
U-Mail专注于电子邮件领域15年,为企业轻松搭建最安全稳定的电子邮件系统软件。
关键字:15年 最安全 最稳定
{15年 最安全 最稳定} , (w)(o)(x)(*)(a)(o)(l)(e),这么奇葩的代码,这么奇葩的设计、这么奇葩的配置、这么奇葩的、超常轻松的、利用正常的不能再正常的功能就可以拿到shell的系统,我服了...
涉及:金融、政府、银行,石油、军队、证券行业等重要部门,影响非常巨大,经测试受影响率:99.8%~100%
场外话:我很想把农业银行拿下来的,想想还是算了,毕竟随便改卡里的数字,成土豪了,这样是极其不安全的..

详细说明:

#1 产品介绍
U-Mail邮件服务器,为企业轻松搭建最安全稳定的电子邮件系统软件。U-Mail专注于电子邮件领域15年,将广大企事业单位对邮箱服务器软件稳定安全的各类需求,与电子邮件应用管理的多样化、个性化为目标做深入开发,最大化拓展企业邮箱系统功能的灵活性和稳定性,使之成为政府部门、大专院校、中小学校、企事业集团和从事销售企业邮箱软件的网络服务商、集成商最理想的企业邮局系统架设软件。
支持数字证书服务并提供强大的管理功能,可直接在WebMail中撰写或阅读经过数字签名或数字加密的安全邮件(S/MIME)。提供军事级别的高安全强度(4096位DH/DSS加密或2048位RSA加密);
使用TLS/SSL标准安全套接字层通讯协议(1024位RSA加密),支持包括 SSL SMTP, SSL POP3, SSL IMAP4 安全通讯服务,防止网络侦听,使得通信更安全。
#2 U-Mail客户案例
中国外交部
中国农业银行
福州市人大常委会
南宁国际机场
上海电信公司
酒泉卫星发射中心
国家环境保护总局
浦发银行呼和浩特分行
四川省知识产权局
晋中商业银行
华夏航空
国测卫星中心
广元贵商银行
国家保密技术研究所
中华人民共和国厦门海事局
威海市商业银行 ...
还有很多很多就不一一列举了...
#3 先来说说真正的上传漏洞,再说奇葩的配置问题
漏洞文件
/client/mail/module/o_attach.php
代码如下(代码是Zend加密的,但是呢..)

if ( ACTION == "attach-upload" )
{
if ( $_FILES )
{
$file_name = $_FILES['Filedata']['name'];
$file_type = $_FILES['Filedata']['type'];
$file_size = $_FILES['Filedata']['size'];
$file_source = $_FILES['Filedata']['tmp_name'];
$file_suffix = getfilenamesuffix( $file_name );
$not_allow_ext = array( "php", "phps", "php3", "exe", "bat" );
if ( in_array( $file_suffix, $not_allow_ext ) )
{
dump_json( array( "status" => 0, "message" => el( "不支持该扩展名文件上传", "" ) ) );
}
$path_target = getusercachepath( );
do
{
$file_id = makerandomname( );
$file_target = $path_target.$file_id.".".$file_suffix;
} while ( file_exists( $file_target ) );
if ( move_uploaded_file( $file_source, $file_target ) )
{
dump_json( array( "status" => 0, "message" => el( "写入文件出错,请与管理员联系!", "" ) ) );
}
$_SESSION[SESSION_ID]['attach_cache'][] = array( "id" => $file_id, "name" => $file_name, "type" => "1", "path" => $file_target, "size" => $file_size );
dump_json( array( "status" => "1", "filename" => $file_name, "filesize" => $file_size, "file_id" => $file_id ) );
}
else
{
dump_json( array( "status" => "0", "message" => el( "无法找到需要上传的文件!", "" ) ) );
}
}


这里的话,主要是你们对前段时间对该漏洞修复不完善,可以绕过,导致可以再次上传任意文件,获取服务器权限..
首先来看看你们是怎样修复的

$not_allow_ext = array( "php", "phps", "php3", "exe", "bat" );
if ( in_array( $file_suffix, $not_allow_ext ) )
{
dump_json( array( "status" => 0, "message" => el( "不支持该扩展名文件上传", "" ) ) );
}


这不就是典型的黑名单限制嘛,黑名单太不靠谱了,于是可以轻易的绕过..
这里就不给出具体的证明了,文件的上传可以参考先前的这个漏洞

 WooYun: U-Mail任意文件上传漏洞一枚 


但由于官方已经修复了这个漏洞,当然利用上面的方法是无法成功上传的,要稍微改变下
构造表单上传的时候,采用Burp抓包上,修改上传的文件名 如下

Content-Disposition: form-data; name="Filedata"; filename="shell.jpg"
修改为
Content-Disposition: form-data; name="Filedata"; filename="shell.php "
注意:shell.php后面的个空格


提交,即可获取webshell,如图

1.jpg


(当时并不是这样获取到的webshell,当时获取webshell是通过#4的方法获取到的)
#4 奇葩的U-Mail环境
当时测试这个文件上传的时候(

www.wooyun.org/bugs/wooyun-2014-059954

),由于修复了,获取不到shell,当测试上传正常的jpg图片时,图片地址为

http://mail.comingchina.com/webmail/client/cache/78427/14006861677.jpg


可以当时手抖了下 在连接后面加上/.php 不可思议的是,居然解析了..

2.jpg


难道是Nginx??? No!!!居然是IIS的,太奇葩了

3.jpg


不过更奇葩的还在后面...
#5 奇葩配置家家有
今天早上起来,想起这事 会不会其他的服务器上同样存在这个问题呢?果真是不搜不知道,一搜吓一跳...
原来这种奇葩的配置普遍都存在..

http://mail.shcmusic.edu.cn/webmail/images/login9/login_month05.gif


4.jpg


http://mail.huacemedia.com:6080/webmail/images/login9/login_month05.gif


5.jpg


http://sznslib.com.cn/webmail/images/login9/login_month05.gif


6.jpg


http://mail.onlyedu.com:3000/webmail/images/login9/login_month05.gif


7.jpg


还有很多很多,就不一一截图举例了,几乎是全部都存在这个问题,影响实在是太大了...

http://mail.chongqingbeer.com/webmail/images/login6/index_r3_c7.jpg/.php
http://mail.dxh.gov.cn:8000/webmail/images/login9/login_month05.gif/.php
http://mail.szclib.org.cn/webmail/images/login8/lo_3.jpg/.php
http://mail.maxqueen.com/webmail/images/login9/login_month05.gif/.php
http://mail.ypsti.com/webmail/images/login8/logo_def.jpg/.php
http://www.dencare.com.cn:8081/webmail/images/login9/login_month05.gif/.php
http://mail.chsdl.com/webmail/images/login9/login_month05.gif/.php
http://mail.cmpedu.com/webmail/images/login9/login_month05.gif/.php
http://mail.warriorshoes.com/webmail/images/login4/pt.jpg/.php
http://mail.scrftb.gov.cn/webmail/images/login8/lo_3.jpg/.php
http://www.xdrc.gov.cn:6080/webmail/images/login8/lo_3.jpg/.php
http://mail.zzradio.cn/webmail/images/login9/login_month05.gif/.php
http://mail.zzradio.cn/webmail/images/login9/login_month05.gif/.php
http://mail.jasolar.com/webmail/images/login5/vir1.gif/.php
http://mail.kyfc.com.cn/webmail/images/login9/login_month05.gif/.php
http://mail.ms.gov.cn/webmail/images/login9/login_month05.gif/.php
http://mail.ms.gov.cn/webmail/images/login9/login_month05.gif/.php
http://mail.guojihr.com/webmail/images/login9/login_month05.gif/.php
http://mail.tlf.gov.cn/webmail/images/login9/login_month05.gif/.php
http://mail.lianyuan.gov.cn:800/webmail/images/login9/login_month05.gif/.php
http://www.gdmsa.gov.cn:3000/webmail/images/login9/login_month05.gif/.php
http://www.imbcams.com.cn/webmail/images/login9/login_month05.gif/.php
https://www.hnhtxx.com.cn/webmail/images/login9/login_month05.gif/.php


小结:上述结果仅列出Google前3页,全部中招... 命中率:100%

aaa.jpg

漏洞证明:

#丢个官方shell

1.jpg

修复方案:

不想多说了

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


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2014-08-17 12:38

厂商回复:

漏洞Rank:20 (WooYun评价)

最新状态:

2014-05-27:CNVD确认并复现所述情况,由CNVD通过公开联系渠道向软件生产厂商深圳市福洽科技有限公司通报,发邮箱120982@qq.com, umailtry@comingchina.com, Services@comingchina.com处置。