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

发布时间:2024年01月11日

知识点

1、支付逻辑-商品本身-修改-数量&价格&属性等
2、支付逻辑-营销折扣-优惠券&积分&签约&试用等

在这里插入图片描述

支付逻辑常见测试

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

支付逻辑如何挖掘

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

支付逻辑安全修复

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

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

在这里插入图片描述

修改数量

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

篡改价格

在这里插入图片描述
在这里插入图片描述

产品替换对冲

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

订单替换对冲

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述
正常每个账户只能领取一次
在这里插入图片描述

优惠券复用

在这里插入图片描述
分别使用优惠卷购买商品及不使用优惠卷购买商品并抓取两个不同请求订单数据包
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此时第三次购买商品,并修改数据包把use_coupon=0改为use_coupon=4
在这里插入图片描述
在这里插入图片描述

优惠券盗用

在这里插入图片描述
此时第四次购买商品,并修改数据包把use_coupon=0改为use_coupon=6
在这里插入图片描述
在这里插入图片描述

积分对冲溢出

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果在兑换余额上把兑换积分数改为-1会怎么样
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、演示案例-实战SRC支付购买挖掘分享案例

越权让他人支付

参考:https://forum.butian.net/share/1125

四舍五入半价购

这个漏洞上次看小伙伴交的补天,获得了厂商1.2k的奖金,如何操作呢,我们来分析分析。我们以充值为例,余额值一般保存到分为止,那么如果我充值0.001元也就是1厘,一般开发会在前端判断我们的数字,或者将最后一位四舍五入,使用支付宝或者微信充值是直接报错的,因为第三方一般只支持到分(0.01)
那我们如果充值0.019呢,由于支付宝或微信只判断到分,所以导致只能支付0.01,而由于我们支付成功,前端会将9四舍五入,直接变成0.02,所以等于直接半价充值。(这个漏洞京东也是有的,不过后来修复了。)
在这里插入图片描述
在这里插入图片描述

提前全签到

1、 采用设备时间验证,修改当前设备时间绕过
2、 未采用验证,直接修改数据包日期对应发包签到
在这里插入图片描述

循环利用优惠券

重点是2关闭订单后还支持重新支付才行,如果关闭订单后就无法在操作该订单,那么就没办法了。
在这里插入图片描述

新用户会员支付签约多逻辑

在这里插入图片描述
大家都知道有些软件推出了新用户的会员签约功能,新的用户首次签约付费时能以低价购买会员,这个时候就尝试想白嫖多个月的低价会员了。
于是开始第一次测试——使用支付宝打开签约界面,然后使用微信也同时打签约界面,然后再依次支付,支付后系统提示,无法重复签约。

我想难到系统有检测?舍不得孩子套不到狼,于是申请个新号再次进行测试:
● 还是同时支付宝和微信都打开了签约界面,但这次先签约其中一个比如先签约微信;
● 微信支付成功并签约完成后,在微信取消自动续费,然后再去支付宝点击签约;

这个时候奇迹就发生了,系统成功到账了2个月的低价会员!

也就是说服务器虽然校验了同一新用户不能同时多次低价签约,但是对于新用户同时发起的多个支付签约页面的请求,服务器没有校验解约后再次签约的情况,导致成功白嫖!以上的一个业务逻辑流程大致如下图:
在这里插入图片描述

文章来源:https://blog.csdn.net/m0_60571842/article/details/135515015
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。