那些被我们忽略的支付逻辑绕过
2020-01-07 18:28:19 Author: mp.weixin.qq.com(查看原文) 阅读量:6 收藏

最近在支付漏洞方面发现了很多问题,所以打算讲一下支付漏洞。

插句题外话,逻辑漏洞要有丰富的逻辑思维能力。在出现漏洞的第一时间就能在脑中迅速定位到漏洞所在,今早就遇到了这样的问题。

app也是如此,出现问题了第一时间猜测步骤,还要配合开发查一下用户操作。再来确定问题所在。

进入正题,最近在src提交了挺多支付漏洞,逻辑都差不多吧,想办法绕过订单方面的校验。下面举几个例子:

支付漏洞

1

尝试修改小数

某商城购买商品时,参数中有商品id(sku),数量(qty),赠品(subSku),等其他信息。首先尝试下遍历ID,可以用添加购物车的方式,来看有没有一些活动商品,或者直接购买赠品。然后尝试数量方面,修改成小数,比如0.01,看价格会不会变成1%的价格{"cartItems":[{"sku":"B110005101","qty":0.01,"subSku":["5011100532","5431100063","5431100069"]}],"storeCode":"cn","invite":""}

会有什么影响?

购买优惠券或者商品时,修改数量或尝试添加数量参数。购买后会以1%的价格得到优惠券。

2

然后尝试修改负数

{"cartItems":[{"sku":"B110005101","qty":-1,"subSku":["5011100532","5431100063","5431100069"]}],"storeCode":"cn","invite":""}

会有什么影响

购买商品时,使用钱包支付,可能会导致余额溢出

3

尝试正负数购买

添加参数尝试正负数,让他总值为正。

{"cartItems":[{"sku":"B110005101","qty":2,"subSku":["5011100532","5431100063","5431100069"]}],"cartItems":[{"sku":"B110005101","qty":-1,"subSku":["5011100532","5431100063","5431100069"]}],"storeCode":"cn","invite":""}

会有什么影响

由于商品支付校验了单个数量不能为负,使用此方法可以绕过这个逻辑

4

尝试四舍五入

有些商品购买小数时比如1.51,支付2元,购买1.49时支付1元。就可以支付1.49只支付1元就可以到账1.49

会有什么影响

服务器和客户端不同步导致的,客户端在支付时进行了四舍五入,服务器到账还是按实际输入的金额到账的。造成了支付和收益不同等

5

超过最大值

超过最大值,金额大多数是有上限的,在超过上限后,例如99999999999999,会变成1E92这样的计算方式。具体在协议中可以看到,有些服务器就将1E92变成了1.92,在返回给你支付金额时只需支付1.92就能得到999999999999的商品

会有什么影响

只需要少量金额购买到大量的产品,可以在服务器校验金额或者数量的最大值。确保不会超出预算。

6

替换订单号

适用于购买首单优惠产品,下单时会创建一个订单存在服务器,然后调用支付宝进行支付,可以选择不支付,继续创建订单,当服务器上存在了多个订单号后,一个一个支付支付时修改订单号,将提前创建好的订单都支付了。

会有什么影响

服务器校验时在不能重复购买特殊优惠做了校验,但是对于提前创建好的订单饼干没有校验,这里需要校验如果重复支付的话订单不到账,或者退还金额。

7

覆盖订单号

生成订单时替换订单号ID,达到将前一个订单覆盖的目的。比如前一个订单是6元充值,进入支付宝支付界面不支付,然后覆盖订单将500的档位覆盖掉6元的档位。这时在将支付宝支付掉。支付成功后,支付宝会通知服务器,服务器下发充值金额。

会有什么影响

服务器在收到通知后应该再次校验支付金额与订单的金额是否一致。如果不一致就不发放奖励。

签约漏洞

一般签约都会有优惠价格,还会有些首次签约的优惠 。

利用方法1:使用手机A进入签约界面,等待支付。

使用手机B进入签约界面,等待支付。

。。。。。

支付手机A-----解除签约

支付手机B-----解除签约

注意要解除后再签约,不然可能会提示已经签约了别的账号。

利用方法2:查看支付方式,将签约支付的方式修改为钱包支付或者其他方式。一般签约支付的商品ID都是独立的。用此方法依然可以达到普通方式使用签约价格来续费购买。

以上是最近挖到SRC漏洞总结出的一些经验。

最后说一句,一定要给客户说,给用户补单时一定要核对用户的支付金额。因为在测试时发现了支付不到账但是补单成功的情况。



文章来源: http://mp.weixin.qq.com/s?__biz=MzIyMjg5NTI3OQ==&mid=2247484041&idx=1&sn=72f431a5cd30c130c3b52f63e204fddc&chksm=e827cf49df50465fe28618c054c64c5d053af3d89511d0b000ca71cdb26ef73a0cbf4f897e24&mpshare=1&scene=24&srcid=0326xWLtc1yRrAPYbpisiVCw&sharer_sharetime=1578392898747&sharer_shareid=5191b3dcb328f693d5261ba6bca8d267#rd
如有侵权请联系:admin#unsafe.sh