网站地图    收藏   

主页 > 后端 > 网站安全 >

Anymacro 邮件系统N处SQL注入漏洞 - 网站安全 - 自学

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

[导读] Anymacro 邮件系统N处SQL注入漏洞0x01 背景AnyMacro(安宁)成立于1999年,是国内领先的统一消息 移动门户 PushMail产品与应用解决方案提供商。主要客户涵盖国家部委、大型企业以及部分海外...

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

0x01 背景

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



0x02 漏洞分析:

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

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

 

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



下面分析在其中一处代码当中的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注入,即可注入出所有邮件用户名和密码。。。



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

 

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

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

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

添加评论