### 简要描述:
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
如果你的浏览器没反应,请点击这里...
因为这时候我们提交的是一个字符
这里没有单引号 所以就报错了
把语句换一下就能盲注了 就不继续测试了。
暂无评论