Web攻防-支付逻辑篇&篡改属性值&并发签约&越权盗用&算法溢出&替换对冲

Web攻防-支付逻辑篇&篡改属性值&并发签约&越权盗用&算法溢出&替换对冲

知识点:1、WEB攻防-购买支付-修改数量&篡改价格&产品订单替换对冲

2、WEB攻防-购买支付-优惠券复用盗用&积分对冲溢出

3、实战SRC支付购买挖掘案例

支付逻辑常见测试

1、熟悉常见支付流程
选择商品和数量-选择支付及配送方式-生成订单编号-订单支付选择-完成支付
2、熟悉那些数据篡改
商品ID,购买价格,购买数量,订单属性,折扣属性,支付方式,支付状态等
3、熟悉那些修改方式
替换支付,重复支付,最小额支付,负数支付,溢出支付,优惠券支付等
4、熟悉那些另类方法
无限试用,越权支付,并发兑换,四舍五入半价购,循环利用优惠券,支付签约逻辑等

支付逻辑如何挖掘

1、找到关键的数据包
可能一个支付操作有三四个数据包,我们要对数据包进行挑选。
2、分析数据包
支付数据包中会包含很多的敏感信息(账号,金额,余额,优惠等)
要尝试对数据包中的各个参数进行分析。
3、不按套路出牌
多去想想开发者没有想到的地方,如算法拼接,关闭开启返优惠券等
4、PC端尝试过,APP端也看看,小程序也试试

支付逻辑安全修复

1、在后端检查订单的每一个值,包括支付状态;
2、校验价格、数量参数,比如产品数量只能为整数,并限制最大购买数量 ;
3、与第三方支付平台检查,实际支付的金额是否与订单金额一致;
4、如给用户退款,要使用原路、原订单退回。如:退押金,按用户原支付订单原路退回;
5、加密、解密、数字签名及验证,这个可以有效避免数据修改,重放攻击中的各种问题;
6、金额超过指定值,进行人工审核等。

一、演示案例-购买支付-修改数量&篡改价格&产品订单替换对冲

修改商品数量或价格

可以修改数量和价格

产品替换对冲

原本购买大米CMS,现在就变成了大米测试产品,价格还是大米CMS的价格

订单替换对冲

提交订单在抓包

该数据包是大米CMS5400数据包

该数据包是大米测试产品6000数据包

再在提交订单的数据包里,将数据包替换,不就实现了用5400买6000的产品吗

二、演示案例-购买支付-优惠券复用盗用&积分对冲溢出

背景:优惠券每个账户只可以领一次

优惠券复用

先分别抓使用优惠券和不使用优惠券的数据包对比不同

一个是四,一个是零

此时优惠券领取已经上限了

发现优惠券使用成功了,也就是说优惠券复用了

优惠券盗用

也就是说优惠券id有些有规律,有些有算法,我们需要根据这些规律或者算法逆向出可行的编号id,才能使用这些优惠券

积分对冲溢出

规则如下:

注册送一百积分,先兑换10积分出来看看

我们发现一个问题,兑换积分是多少,剩余积分就会减少多少,那我们如果兑换积分数改为负数会发生什么事呢

抓包,把兑换积分数1改成-10,

发现积分多了10

当然这个是要看里面的积分数额算法是怎么样的,我们还可以根据其中规律自己推演更换

posted @ 2025-12-23 15:55  炫一勺饭  阅读(84)  评论(0)    收藏  举报