与: WooYun: Anymacro 邮件系统SQL注入漏洞和任意文件(邮件)删除(无需登录) 重复 乌云已经把它列入到通用型奖励厂商当中了。 0x01 背景 AnyMacro(安宁)成立于1999年,是国内领先的统一消息/移动门户/PushMail产品与应用解决方案提供商。主要客户涵盖国家部委、大型企业以及部分海外客户,客户分布于政府、军工、金融、电信、能源、教育等行业。 AnyMacro在技术创新和关键应用中一直处于行业领先地位,在全球首家提出并实现LAMP架构邮件/消息系统已成为事实的行业标准。AnyMacro 具有统一消息/移动门户/PushMail领域的全线技术与自主知识产权,还是多家国际Linux厂商的OEM邮件/消息产品提供商。 0x02 漏洞分析: 由于该邮件系统部分代码已经加密,并且暂无方法解密,通过黑盒加白盒测试,发现所有页面只要添加了权限验证模块,都会出现SQL注入漏洞(危害非常非常严重),SQL注入漏洞可获取邮件信息,以及邮件用户名和密码。 此SQL注入漏洞产生于COOKIE当中,其中只要ANY_EMAIL=xxxx’ 即可报错注入。。。
[<img src="https://images.seebug.org/upload/201405/171732324be42805372ee843299687be7a6013a4.jpg" alt="HNHZ2M8BI~YVU_51@$PRA1.jpg" width="600" onerror="javascript:errimg(this);">
初步怀疑该问题存在于加密代码当中。。。。 下面分析在其中一处代码当中的SQL注入 在tosms.php中
<?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']);
抓包丢sqlmap注入,即可注入出所有邮件用户名和密码。。。
[<img src="https://images.seebug.org/upload/201405/17173606cdf9b8bbae69e111eb5b5f54ca2d39ad.jpg" alt="XKSJ7}0WV`2Z9OXKU8SM98.jpg" width="600" onerror="javascript:errimg(this);">
[<img src="https://images.seebug.org/upload/201405/17173712c34e579b9b61945aded86bf37f3bfa2f.jpg" alt="88~M13DGGSMUV3CNO$6)IW.jpg" width="600" onerror="javascript:errimg(this);">
注入出用户名和密码,登录后台。。。
[<img src="https://images.seebug.org/upload/201405/1717375125bfe3b24ebbc44290af494536cc7ad2.jpg" alt="O%1@@FN5I19NI@87FOHC{U.jpg" width="600" onerror="javascript:errimg(this);">
[<img src="https://images.seebug.org/upload/201405/17173606cdf9b8bbae69e111eb5b5f54ca2d39ad.jpg" alt="XKSJ7}0WV`2Z9OXKU8SM98.jpg" width="600" onerror="javascript:errimg(this);">
[<img src="https://images.seebug.org/upload/201405/17173712c34e579b9b61945aded86bf37f3bfa2f.jpg" alt="88~M13DGGSMUV3CNO$6)IW.jpg" width="600" onerror="javascript:errimg(this);">