SEC-2022版-0037-WEB攻防-28-通用漏洞之业务逻辑漏洞-支付逻辑漏洞
支付逻辑安全
尝试任何篡改商品数据的操作,简单点说想办法0元购,或者无线接近0元购,或者让对方直接倒贴。
熟悉常见支付流程
- 选择商品和数量
- 选择支付及配送方式
- 生成订单编号
- 订单支付选择
- 完成支付
熟悉那些数据篡改
- 商品编号ID(购买成功的一刹那换成别的商品的ID),购买价格(超低价购买),购买数量(小数或者负数购买),支付方式,订单号,支付状态等
熟悉那些修改方式
- 替换支付 :以3000元购买换掉6000元购买。
- 重复支付 :将支付成功的数据包重新放一遍,看是否能在不消费的情况下成功买下。
- 最小额支付 :以最低的金额去购买。更改价格和数量。
- 负数支付 :-1支付对方亏你xxx元
- 溢出支付 :直接爆满支付,看网站如何处理
- 优惠券支付 :借助优惠券支付
实战
前提:网站有那个支付模块。
数据篡改-价格&数量&产品
1、修改数量达到价格变动
2、修改单价达到价格变动
3、修改产品达到低价购买
4、修改接口达到成功购买
参数修改
GET /index.php?m=Member&a=gobuy&iscart=0&id=127&name=%E5%A4%A7%E7%B1%B3%E6%B5%8B%E8%AF%95%E4%BA%A7%E5%93%81&qty=1&price=0.1>ype=%E7%81%B0%E8%89%B2&pic=/Public/Uploads/thumb/thumb_1393218295.jpg HTTP/1.1 |
付款接口修改:抓取付款数据包,把接口改成自己的.
如果成功则自己付给自己,并且商家那现实付款成功。
如果严谨,则商家那展示付款失败,白嫖商品失败。
前提:认你 接口(对方接口不固定) |
修改方式-订单号&数量&优惠券
1、修改数量达到价格变动
2、修改订单达到底价购买
3、优惠券重放使用&重领使用
优惠券: |
某实例-演示站交易支付逻辑安全
订单的编号 |
代码审计-业务支付逻辑&安全修复
1、金额以数据库定义为准
2、购买数量限制为正整数
3、优惠券固定使用后删除
4、订单生成后检测对应值
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 矢幽武博客!
评论