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

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

缺陷编号: WooYun-2013-43745

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

相关厂商: php云人才系统

漏洞作者: Matt认证白帽子

提交时间: 2013-11-22 17:43

公开时间: 2014-02-20 17:44

漏洞类型: SQL注射漏洞

危害等级: 高

自评Rank: 20

漏洞状态: 厂商已经确认

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

Tags标签: 无

2人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-11-22: 细节已通知厂商并且等待厂商处理中
2013-11-22: 厂商已经确认,细节仅向厂商公开
2013-11-25: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航无声信息
2014-01-16: 细节向核心白帽子及相关领域专家公开
2014-01-26: 细节向普通白帽子公开
2014-02-05: 细节向实习白帽子公开
2014-02-20: 细节向公众公开

简要描述:

php云人才系统 注入漏洞

详细说明:

php云人才系统 注入漏洞

tenpay的KEY没有初始化

导致的注入漏洞!



code 区域
/api/tenpay/return_url.php
require_once(dirname(dirname(dirname(__FILE__)))."/data/db.config.php");
require_once(dirname(dirname(dirname(__FILE__)))."/include/mysql.class.php");
$db = new mysql($db_config['dbhost'], $db_config['dbuser'], $db_config['dbpass'], $db_config['dbname'], ALL_PS, $db_config['charset']);

/* 密钥 */
$key =$tenpay[sy_tenpaycode];
//密钥没有定义
=========
tenpay_data.php
<?php
/*
* Created on 2012
* Link for shyflc@**.**.**.**
* This PHPYun.Rencai System Powered by PHPY**.**.**.**
*/
$tenpaydata=array("sy_weburl"=>"http://**.**.**.**","sy_tenpayid"=>"","sy_tenpaycode"=>"")//没有定义KEY 所以是空~~
;
?>
=========
/* 创建支付应答对象 */
$resHandler = new PayResponseHandler();
$resHandler->setKey($key);//还是key没有初始化~~

//判断签名
if($resHandler->isTenpaySign()) {//验证过程
/**********************************3
function isTenpaySign() {
$cmdno = $this->getParameter("cmdno");
$pay_result = $this->getParameter("pay_result");
$date = $this->getParameter("date");
$transaction_id = $this->getParameter("transaction_id");
$sp_billno = $this->getParameter("sp_billno");
$total_fee = $this->getParameter("total_fee");
$fee_type = $this->getParameter("fee_type");
$attach = $this->getParameter("attach");
$key = $this->getKey();

$signPars = "";
//组织签名串
$signPars = "cmdno=" . $cmdno . "&" .
"pay_result=" . $pay_result . "&" .
"date=" . $date . "&" .
"transaction_id=" . $transaction_id . "&" .
"sp_billno=" . $sp_billno . "&" .
"total_fee=" . $total_fee . "&" .
"fee_type=" . $fee_type . "&" .
"attach=" . $attach . "&" .
"key=" . $key;

$sign = strtolower(md5($signPars));//key是空 其他都是可控 我们之间就可以生成key 所以验证形同虚设 没有设置key的时候
***********************************/

//交易单号
$transaction_id = $resHandler->getParameter("transaction_id");

//本站单号
$sp_billno = $resHandler->getParameter("sp_billno");

//金额,以分为单位
$total_fee = $resHandler->getParameter("total_fee");

//支付结果
$pay_result = $resHandler->getParameter("pay_result");
//类型
$attach = $resHandler->getParameter("attach");

if( "0" == $pay_result ) {

//------------------------------
//处理业务开始
//------------------------------

//注意交易单不要重复处理
//注意判断返回金额
//处理本站信息开始
echo "select * from `".$db_config["def"]."company_order` where `order_id`='$sp_billno'";
$sql=$db->query("select * from `".$db_config["def"]."company_order` where `order_id`='$sp_billno'");

$row=mysql_fetch_array($sql);

漏洞证明:

测试方法

**.**.**.**/yun3/api/tenpay/return_url.php?sign=ba7b763f604fb46432eac7fb601c55c1&sp_billno=1%27&pay_result=0

QQ截图20131122173445.jpg

修复方案:

过滤~~

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2013-11-22 18:55

厂商回复:

感谢您的提供!

最新状态:

暂无


漏洞评价:

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

漏洞评价(少于3人评价):
登陆后才能进行评分
0%
0%
0%
0%
100%

评价

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

    注入大牛啊,刚看,没有确认,然后一刷新,厂商就确认了。速度这...

  2. 2014-06-14 10:47 | bigric3 ( 路人 | Rank:12 漏洞数:4 | 踏踏实实学习)
    0

    这个是关闭gpc的情况吗?

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