Featured image of post 支付漏洞场景常见手法

支付漏洞场景常见手法

支付漏洞场景常见手法

参考资料:

https://mp.weixin.qq.com/s/VpQtjuuLVNi6v9WxlSg5gg

https://mp.weixin.qq.com/s/c2qZOoQpXOf3AoQD4PuvxQ

支付类漏洞挖掘技巧

1.优惠卷场景支付

很多支付场景都会有优惠券

优惠券特点:

  1. 满多少减多少
  2. 有期限,比如当天24点过期
  3. 无门槛优惠券
  4. 优惠券叠加
  5. 全场通用券和特定品种券
  6. 优惠券领取方式,主动领取/自动发放/签到/完成任务领取…
  7. 优惠券是否可转赠等等

从这些特点来分析当前系统领取优惠券可能存在什么问题

1.1.优惠券领取

1.并发领取优惠券,使用优惠券并发下单(看其它订单是否也使用了优惠券)。

2.使用优惠券并发取消下单:为什么要并发取消(可能会返还多张优惠卷)。

3.业务回退:当优惠卷不能遍历并发的时候 尝试领取后浏览器返回上一级若能重新领取 则有漏洞。

4.可能领取优惠券时是根据id进行领取,遍历ID看是否存在其它优惠券

1.2.优惠券期限

1.仅限于限时优惠卷,比如6月18过期,当你把本地时间修改为6月18之前,又可以使用了

2.先下单看数据包中是否存在优惠券ID字段,记录ID字段,当优惠券过期后,下单带上这个ID字段,看是否能成功下单带上过期优惠券

1.3.优惠券混用

比如当前场景只能使用一张优惠券或满减券,将你的优惠卷ID记录下来,下单时抓包带上其它优惠券看是否能成功下单

1.4.越权使用他人优惠券

注册两个账号,一个账号有优惠卷,一个账号不存在优惠券

有优惠券账号抓取购买商品时的数据包,但不支付

没有优惠卷账号也抓取购买商品时数据包,将优惠券字段替换给自己的数据包,看是否能成功购买

1.5.同一张优惠券重复使用

使用优惠券支付到付款界面,先别支付,添加到购物车。再次购买商品,看是否能使用该优惠券,能使用就到付款界面

2.支付场景

2.1.四舍五入半价购

比如数量:买1份更改为0.5份,int类型中,0.5份会进一

TIPS:除了购买处可以四舍五入外,其它充值/提现处也可以尝试四舍五入

2.2.直接修改金额低价购或零元购

1
2
money=50
money=0

2.3.修改币种实现低价购

1
2
3
4
比如支付时抓包发现,money=10CNY
money=10JPY          本来需要支付10人民币,现在我只需要支付10日元
美元 USD
港币 HKD

2.4.负数购买或正负叠加购买

1
2
3
4
5
6
1根玉米10元,此时买两个玉米需要20元,此时抓包将2改为-2,或者将10改为-10
正常情况:100-2*10=100-20=80
hack100-(-2)*10=100--20=120
100-2*(-10)=100+20=120

随便购买两件商品,商品数量一正一负提交订单,因为在购买时如果价格为负数,可能会出现异常

2.5.最大值溢出—不仅限于支付场景

漏洞成因:int32最大值为4294967296,充值98998996172801,支付溢出

案例:某SRC最大值溢出

兑换功能点存在最大值溢出

将alterAmount数值设置为2147483647,重放数据包达到无限刷健康豆,并且健康豆可正常使用

3.签约漏洞

比如冲会员,新用户99冲一年会员,普通用户139一年,你微信扫码,先别支付,另一个手机再次扫码,一起支付,看是否能99+99冲两年


……

By Lsec
最后更新于 Sep 26, 2025 00:17 +0800
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计
¹鵵ҳ