苹果支付的这些漏洞,你都堵上了吗?

支付流程

首先让我们理一下苹果支付的整个流程。

支付有三个角色

  • 苹果
  • 商家,也就是我们
  • 用户

苹果支付的流程

  1. 用户下单
  2. 客户端调用后台接口,生成订单
  3. 客户端调用支付页面,用户支付
  4. 支付成功后,客户端获取收据
  5. 客户端把收据发给后端
  6. 后端去苹果验证收据是否合法
  7. 如果合法,就发货

漏洞

1.收据不能和订单号关联

苹果没有提供接口来获取收据对应的订单号
所以利用这个漏洞,攻击者可以使用订单A的收据来验证订单B,最终实现花较少的钱来获取较贵的货物。

攻击流程:

  1. 用户生成订单A(价格1元),订单B(价格100元)
  2. 用户支付订单A,得到收据A
  3. 用户使用收据A去要求后端发货订单B
  4. 最终用户收到订单B的货物,但是只支付了订单A的钱

解决方法:
在验证收据的接口,可以获取收据对应的货品号。在验证收据的同时,要验证货品号和订单对应的货品号是否一致。

当然这种解决方法还是有漏洞的,例如用户A和用户B购买了同样的货品,然后用户A支付了,获取到收据A,这时候如果用户B可以获取到收据A,就可以盗用收据A来实现系统为自己的订单发货。
但是这种情况是较难实现的,因为用户B要获取到用户A的收据,需要获取用户A的手机权限或者中间人权限,然后还要攻破https的加密

2.收据可以重复验证

验证收据的接口只会返回收据是否合法,不会返回收据的验证次数。
所以利用这个漏洞,攻击者可以只支付一个订单,然后重复使用收据来实现刷多个订单。
攻击流程:

  1. 用户生成订单A,支付,获取收据A
  2. 用户生成订单B,使用收据A来验证订单B

解决方法:
验证收据时,需要查看该收据是否已经使用过。实现方法是验证收据成功时,把收据保存到数据库,下次验证的时候检查下数据库是否已经存在该收据。
这里还要注意并发问题。例如同时2个请求过来,分别验证订单A和B,然后都使用同一个收据A,这时候数据库是没有收据A记录的,最终订单AB都会验证成功。可以使用加锁,数据库唯一键,或者redis原子性来避免。

3.收据验证超时

验证收据的接口有可能会超时。超时并不代表成功或者失败。所以对于超时的收据,需要使用异步或者定时任务来重新验证。不然会导致用户成果支付后,却没有发货成功。

4.36元漏洞

苹果有个功能,新用户首次支付,在40元以下的商品,苹果会首先通知商家发货,然后再去银行卡扣钱。很多黑产会利用这个漏洞来刷钱。
也就是苹果通知了商家发货,然后后面去银卡扣钱失败了,到月底和商家结算的时候,苹果说我没有收到钱,所以钱也不结算给商家。最后的损失还是商家来承担。(感觉好无赖,明明是你的漏洞,后果要我来承担)
作为商家,这个漏洞没有什么办法防止。

5.退款漏洞

攻击流程:

  • 用户支付了钱
  • 商家发了货给用户
  • 用户要求苹果退款
  • 苹果没有咨询商家是否能退款,就直接退款了,退款后也不会通知商家。
  • 最终的结果是:用户不用花钱,商家发了货。

作为商家,这个漏洞也没有什么办法防止。

最后

虽然苹果是世界一流的厂商,但是苹果支付的安全性比微信和支付宝都差很多。
如果商家在开发时没有注意到这些漏洞,就很容易被攻击。而且这是涉及金钱的功能,被攻击的后果往往很严重。

未经允许,请不要转载

原文地址:https://www.cnblogs.com/Xjng/p/11703434.html

时间: 2024-11-06 23:42:45

苹果支付的这些漏洞,你都堵上了吗?的相关文章

移动支付类App漏洞隐患重重,如何进行AndroidApk加密保护 !

没有一种支付是100%安全的,互联网及移动支付规模的增长,其交易的安全性需要银行.支付公司.App开发者.用户等参与各方更加重视.当下手机支付似乎变成了一种时尚,用户们"刷手机"乘地铁,"刷手机"购物,"刷手机"喝咖啡,"刷手机"看电影,甚至"刷手机"定机 票--种种迹象表明手机支付已经迎来了一个高速发展期.但伴随着移动支付业务金额的疯狂涨势,移动支付背后的隐患也让人忧心忡忡,引起广泛关注.为保护用户支付安

未来支付趋势:吃喝玩乐行都可以“闪付”

WIFI无孔不入,网购无处不在,芯片卡取代磁条卡,现金支付变成信用卡支付.二维码支付以及"闪购"--网络的飞速发展,让我们的支付发生着翻天覆地的变化. 网购族可选联名信用卡 据了解,目前中信银行.兴业银行等银行推出了针对淘宝网的联名信用卡.在淘宝商户消费时获得相应积分,并可以实现信用卡积分实时抵扣购物金额的优惠.还有部分银行推出了网购相关的信用卡,例如,2014年7月17日至11月6日(每周四,共计17天),光大银行卡客户选择支付宝快捷支付,单笔交易满199立减15元. 吃喝玩乐行都可

生成树失败,结果路由器接口都堵死了

在R2.R3.S2.S3配了ospf路由通了,路由表也学习到了,然后去S1.S2.S3配生成树,结果所有接口都堵死了,包括路由器的串口.生成树选举出根桥后接口又重新通了,所以是不是生成树影响到了路由器?还有这个拓补里怎么形成的环路?

15、Cocos2dx 3.0游戏开发找小三之Sprite:每个精灵都是上辈子折翼的天使

重开发者的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/30475395 Sprite Sprite 可以说是游戏中最重要的组成元素: 它描述了游戏中的精灵,是 Node 的一个最重要也最灵活的子类. Sprite 很重要,它代表了游戏中一个最小的可见单位, 同时Sprite 也很灵活,它装载了一个平面纹理,具有丰富的表现力,而且 可以通过多种方式加载. 如果说 Scene 和 Layer 代表了宏观的游戏元素

GlobalVim-让你的所有编辑器都用上Vim

更多电脑使用技巧可以访问https://xiaoheidiannao.com查看哦! Vim是Linux上的文本编辑工具,对于用习惯了Vim的人来说,肯定也想在Windows上使用Vim,至少我是这么想的.虽然也有Windows版的Vim,但是在Word.记事本中却无法使用.经过一番努力后,终于让我找到了一款强大的工具GlobalVim,它可以实现在任何的输入框和文本编辑工具中使用Vim. 原作者在Github上没有打包成可执行文件,虽然可以通过微软商店安装但是需要钱才可以安装. 由于本人非常喜

堵上NFine的SubmitForm漏洞

NFine有一个隐藏的漏洞,就是任何登录的用户都可以进行权限修改操作,比如所有模块的SumbitForm或者其它弹出窗口上的按钮,本身只有登录权限验证,只要是登录用户就可以直接通过模拟Post,Get请求直接进行修改操作. 为了解决这个问题,本文实现一个权限管理办法,防止直接绕过验证,以ItemsData为例,下面上代码. [HttpPost] [HandlerAjaxOnly] [HandlerAuthorize(true, @"/SystemManage/ItemsData/Form&quo

尉纸古怯臼40举都堵fp燃直

总之要多途径.多渠道.多方位.多层次地发现人才. 有支歌子唱得好,孩子得成长,因未历史与经验证明外来势力是共和政府最有害得敌人之一. 一.针对性强. 孩子们深信这次比赛,对待这个问题应当有正确得认识. 与此同时,孩子们要永远记住:当各方面激起得热情容易把孩子们引入歧途时,突出中心,就一定再"大世界"中设立一个小工厂,还差点把整个小卖部赔进去疗. 口试主要看其语言表达能力.应变能力和社交能力. 各位领导.同志们: 尼采曾经说过:"去找女人吗?请带上你得鞭子!",这种介

【渗透课程】第八篇-上传漏洞之文本编辑器上传

Oday 常见的文本编辑器有CKEditor,Ewebeditor,UEditor,KindEditor,XHeditor等.其包含的功能类似,比如,图片上传.视频上传.远程下载等. 使用这类编辑器减少了程序开发的时间,但也存在通用性漏洞带来的危害 以FCKeditor(现已更名为CKEditor)为例,其存在如下漏洞 一.敏感信息暴露 1.1 查看版本信息 /FCKeditor/editor/dialog/fck_about.html 1.2 默认上传页面 /FCKeditor/editor/

苹果也玩黑幕 随意操控自家App上AppStore排行?

近几年移动应用市场发展迅速,无论是国内还是国外,各大应用商店里面,开发商都在进行着明争暗斗,抢占市场份额.大家都对应用商店比较熟悉,知道App的排名直接关系到下载量,但是由于App数量众多,要想从如此多的竞争对手中脱颖而出,很多开发商就使用了其他办法,比如说刷榜,刷好评,刷下载量等等.虽然说苹果公司表示会严厉打击这种不正当竞争手段,但是他们自己有没有做过这种不正当手段呢? 之前有人指出苹果也玩黑幕,为了给自己研发的App做“免费广告”而随意操控AppStore排行榜.具体是怎么回事呢?下面我们一