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

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

缺陷编号: WooYun-2014-61158

漏洞标题: Anymacro 邮件系统N处SQL注入漏洞

相关厂商: 北京安宁创新网络科技有限公司

漏洞作者: 路人甲

提交时间: 2014-05-17 20:29

公开时间: 2014-07-01 20:30

漏洞类型: SQL注射漏洞

危害等级: 高

自评Rank: 20

漏洞状态: 厂商已经确认

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

Tags标签: 无

0人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

详细说明:

与:http://**.**.**.**/bugs/wooyun-2014-061050 重复

乌云已经把它列入到通用型奖励厂商当中了。

0x01 背景

AnyMacro(安宁)成立于1999年,是国内领先的统一消息/移动门户/PushMail产品与应用解决方案提供商。主要客户涵盖国家部委、大型企业以及部分海外客户,客户分布于政府、军工、金融、电信、能源、教育等行业。 AnyMacro在技术创新和关键应用中一直处于行业领先地位,在全球首家提出并实现LAMP架构邮件/消息系统已成为事实的行业标准。AnyMacro 具有统一消息/移动门户/PushMail领域的全线技术与自主知识产权,还是多家国际Linux厂商的OEM邮件/消息产品提供商。



0x02 漏洞分析:

由于该邮件系统部分代码已经加密,并且暂无方法解密,通过黑盒加白盒测试,发现所有页面只要添加了权限验证模块,都会出现SQL注入漏洞(危害非常非常严重),SQL注入漏洞可获取邮件信息,以及邮件用户名和密码。

此SQL注入漏洞产生于COOKIE当中,其中只要ANY_EMAIL=xxxx’ 即可报错注入。。。

HNHZ2M8BI~YVU_51@$PRA[1.jpg



初步怀疑该问题存在于加密代码当中。。。。



下面分析在其中一处代码当中的SQL注入

在tosms.php中

code 区域
<?php
require_once 'config/config.php';
require_once 'include/template.php';
require_once 'include/func.php';
require_once 'include/right.php';
require_once 'include/dbfunc.php';
require_once 'include/sms_func.php';
require_once 'include/func_login.php';
include_once "include/$AUTH_MODULE";

session_start();

$F_sid = trim($_REQUEST['F_sid']);

if(isset($_REQUEST['F_sms_send'])) { //当f_sms_send条件存在时,触发
$email = $_COOKIE['ANY_EMAIL']; //无过滤从cookie中获取
$telstr = trim($_REQUEST['F_tel']);
$tmp = explode(":",$telstr);
$send_tel = $tmp[0];
$send_pass = '';

$sql = "SELECT id,maildir FROM user WHERE id='".$email."'";//直接传入sql语句当中执行,造成sql注入漏洞
$res = db_query($sql);
$row = db_fetch($res);
if(!empty($row['id'])) {
$smsfile = $row['maildir'].'/sms.config';
if(file_exists($smsfile)) {
$fstr = @file($smsfile);
$farr = explode(",",trim($fstr[0]));
$tel_arr[$farr[0]] = $farr[2];
$send_pass = $tel_arr[$send_tel];
}
}

$recv_tel = trim($_REQUEST['F_phone']);
$sms_msg = trim($_REQUEST['F_msg']);



4}C$5OHXMDB1NZIFK)@ZCU0.jpg



抓包丢sqlmap注入,即可注入出所有邮件用户名和密码。。。

XKSJ7}0WV`2Z9OXKU8[SM98.jpg



88~M13DGG[SMUV3CNO$6)IW.jpg



注入出用户名和密码,登录后台。。。

O%1@@FN5I19NI@87FOH[C{U.jpg





漏洞证明:

XKSJ7}0WV`2Z9OXKU8[SM98.jpg



88~M13DGG[SMUV3CNO$6)IW.jpg



修复方案:

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:8

确认时间:2014-05-18 13:27

厂商回复:

此产品为我公司G6版本,此程序为短信发送程序只在部分程序用到此内容。正在准备升级包联系用户升级事宜

最新状态:

暂无


漏洞评价:

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

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

评价

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