2014-02-11:细节已通知厂商并且等待厂商处理中
2014-02-21:厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2014-02-28:细节向核心白帽子及相关领域专家公开
2014-03-10:细节向普通白帽子公开
2014-03-30:细节向实习白帽子公开
2014-05-09:细节向公众公开
无视gpc 无需登录。
详细说明:昨天下的。
\lib\plugins\pay\alipay.php
因为是调用的respond 类
function respond() {
if (!empty($_POST)) {
foreach($_POST as $key =>$data) {
$_GET[$key] = $data;
}
}
$payment = pay::get_payment($_GET['code']);
$seller_email = rawurldecode($_GET['seller_email']);
$order_sn = str_replace($_GET['subject'],'',$_GET['out_trade_no']);
$order_sn = trim($order_sn);
if (!pay::check_money($order_sn,$_GET['total_fee'])) {
return false;
}
if($_GET['trade_status'] == "WAIT_SELLER_SEND_GOODS"||$_GET['trade_status'] == "TRADE_FINISHED" || $_GET['trade_status'] == "TRADE_SUCCESS") {
pay::changeorders($order_sn,$_GET);
return true;
}else {
return false;
}
}
}
挺多可控的
public static function changeorders($id,$orderlog) {
//file_put_contents('logs.txt', $id);
$where=array();
$where['id']=$id;
$where['status']=4;
//$where['orderlog']=serialize($orderlog);
$update=orders::getInstance()->rec_update($where,$id);
if($update<1) {
exit('改变订单状态出错,请联系管理员');
}
}
$orderlog 基本没怎么用到 - -
public function rec_update($row , $where){
if(empty($this->tablename)) return;
if(!empty($row) && !empty($where)){
$sqlud='';
foreach ($row as $key=>$value) {
$key = $this->simpledb->escape_string($key);
$value = $this->simpledb->escape_string($value);
$sqlud .= "`$key`"."= '".$value."',";
}
$sqlud=rtrim($sqlud);
$sqlud=rtrim($sqlud,',');
$where = $this->webscandb_condtion($where);
$sql="UPDATE `".$this->tablename."` SET ".$sqlud." WHERE ".$where;
return $this->simpledb->execute($sql);
}
可以看到 where 是没有单引号的 开始利用把。
$order_sn = str_replace($_GET['subject'],'',$_GET['out_trade_no']);
UPDATE `cmseasy_p_orders` SET `id`= '123',`status`= '4' WHERE 123
然后让他延时 需要id=123 sleep(10) 这样
但是发现$_GET 过滤了 = 对<> urlencode。。
不知道怎么办了。 想了很久。 后面才看到。
if (!empty($_POST)) {
foreach($_POST as $key =>$data) {
$_GET[$key] = $data;
}
}
就那用post来提交把 post未过滤= <>之类的。
OK咯。
求过滤
求20分。
危害等级:无影响厂商忽略
忽略时间:2014-02-21 19:24
厂商回复:漏洞Rank:10 (WooYun评价)
最新状态:2014-02-28:感谢提交漏洞,官方已经修正,望尽快下载更新。