### 简要描述: rt ### 详细说明: 在plus/onlinepay/alipay_notify.php中 ``` $sign_type = "MD5"; //加密方式 不需修改 $alipay = new alipay_notify($partner,$security_code,$sign_type,$_input_charset,$transport); //构造通知函数信息 $verify_result = $alipay->notify_verify(); //计算得出通知验证结果 $dingdan = $out_trade_no; //获取支付宝传递过来的订单号 $total = isset($price)?$price:$total_fee;//获取支付宝传递过来的总价格 if($verify_result) { if($_POST['trade_status'] == 'WAIT_BUYER_PAY'||$_POST['trade_status'] == 'TRADE_FINISHED' ||$_POST['trade_status'] == 'TRADE_SUCCESS') { echo "success"; } ``` 当通不过验证的时候 ``` else { $db ->query("update {$cfg['tb_pre']}payback set p_isucceed=2 where p_oid=$dingdan"); echo "fail"; ``` 带入了这个查询 且没有单引号。 也没有intval 可以注入了。 在tenpay_notify.php 中 ``` } }else{ $db ->query("update {$cfg['tb_pre']}payback set p_isucceed=2 where p_oid=$sp_billno"); showmsg('支付失败!如果您的账户已扣款请联系管理员确认是否支付成功。',"javascript:;");exit; } ``` 也是没通过验证 无单引号 无intval 在chinabank_notify.php中 ``` }else{ $db ->query("update {$cfg['tb_pre']}payback set...
### 简要描述: rt ### 详细说明: 在plus/onlinepay/alipay_notify.php中 ``` $sign_type = "MD5"; //加密方式 不需修改 $alipay = new alipay_notify($partner,$security_code,$sign_type,$_input_charset,$transport); //构造通知函数信息 $verify_result = $alipay->notify_verify(); //计算得出通知验证结果 $dingdan = $out_trade_no; //获取支付宝传递过来的订单号 $total = isset($price)?$price:$total_fee;//获取支付宝传递过来的总价格 if($verify_result) { if($_POST['trade_status'] == 'WAIT_BUYER_PAY'||$_POST['trade_status'] == 'TRADE_FINISHED' ||$_POST['trade_status'] == 'TRADE_SUCCESS') { echo "success"; } ``` 当通不过验证的时候 ``` else { $db ->query("update {$cfg['tb_pre']}payback set p_isucceed=2 where p_oid=$dingdan"); echo "fail"; ``` 带入了这个查询 且没有单引号。 也没有intval 可以注入了。 在tenpay_notify.php 中 ``` } }else{ $db ->query("update {$cfg['tb_pre']}payback set p_isucceed=2 where p_oid=$sp_billno"); showmsg('支付失败!如果您的账户已扣款请联系管理员确认是否支付成功。',"javascript:;");exit; } ``` 也是没通过验证 无单引号 无intval 在chinabank_notify.php中 ``` }else{ $db ->query("update {$cfg['tb_pre']}payback set p_isucceed=2,p_pmode='$v_pmode' where p_oid=$v_oid"); showmsg('支付失败!如果您的账户已扣款请联系管理员确认是否支付成功。',"javascript:;");exit; } ?> ``` 当没通过验证的时候 无单引号 无intval ### 漏洞证明: [<img src="https://images.seebug.org/upload/201408/21011952824fac097a1efc72dffd363c2dea84bc.jpg" alt="5.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201408/21011952824fac097a1efc72dffd363c2dea84bc.jpg) 这里我把语句输出了一下 盲注、。 试试demo 访问 http://v2014.rccms.com/plus/onlinepay/alipay_notify.php?out_trade_no=1 返回的是 fail 访问这个 http://v2014.rccms.com/plus/onlinepay/alipay_notify.php?out_trade_no=a 返回的是 提示信息! MysqlError:MySQL Query Error 如果你的浏览器没反应,请点击这里... 因为这时候我们提交的是一个字符 这里没有单引号 所以就报错了 把语句换一下就能盲注了 就不继续测试了。