ps:这篇文章是《支付漏洞的三种常见类型》(http://jinglingshu.org/?p=1804)的一个案例,符合第二种情况:即没有对购买数量进行限制,导致可以将数量修改为负值。
1、首先进入商城,购买任意商品,提交商品数量时抓包。可以将商品数量改为负数,成功提交:

2、由于商品总的数量为0或者负数时,无法结算,提交订单。这样我们多买几个商品,一部分改为负数,一部分改为正数,总的商品数量就为正数就行:

3、然后我们来结算:

4、填好订单后,成功提交订单:

5、最后我们来支付,点击立即支付,看看是否只支付我们订单中的金额:

6、好了,从订单号已经支付金额可以看出我们确实只支付12员。这样我们就用12元购买了9个总额为2412元的物品。
修复方案:
不要再前台过滤非法数据。在后端进行合法数据的判断以及提交。
转载请注明:jinglingshu的博客 » SDCM时代商城任意商品0元购