不常见的逻辑漏洞

1. 逻辑漏洞

逻辑漏洞不可以用扫描器去扫,漏洞,就是由于开发者/设计者在开发过程中,由于代码逻辑不严或者业务逻辑不严,而造成的一系列可以被攻击者加以恶意利用的漏洞,而逻辑漏洞也是一类漏洞的总称。

2. 理赔类逻辑漏洞

  • 1、在某宝网上开设一个某宝店,上架一些商品,如:进口水果(比如200元)。
  • 2、事先联系好买家来自已店购买,买家购买后,发空包货给买家。
  • 3、卖家在给买家发货时,某宝默认给卖家购买了一份破损险。
  • 4、买家收到货后,再以商品损坏名义申请退款。
  • 5、当卖家同意退款后,某宝公司会在7个工作日因坏单的原因对卖家进行理赔,赔付的价值相当于买家购买水果时花费的费用(如200元)。
  • 6、这样卖家就凭空赚了理赔回来的200元水果费用,自已也就损失─个快递费而已。
  • 7、由于平台缺乏破损风控管理,在短时间内有人利用某宝网的保险理赔商业行为。骗取某宝网近获利20万元。

3. 支付类漏洞

3.1 支付逻辑漏洞分类

3.1.1 支付过程中可直接修改数据包中的支付金额

这种漏洞应该是支付漏洞中最常见的,主要针对支付宝等需要第三方支付的案例。开发人员往往会为了方便,直接在支付的关键步骤数据包中直接传递需要支付的金额。而这种金额后端没有做校验,传递过程中也没有做签名,导致可以随意篡改金额提交。

只需要在支付过程中用抓包工具抓包发现有金额的参数修改成任意即可。

3.1.2 没有对购买数量进行限制

这种案例也比较常见,产生的原因是开发人员没有对购买商品的数量参数进行严格的限制。这种同样是数量的参数没有做签名,在抓包后导致可随意修改数量,经典的修改方式就是改成负数

当购买的数量是一个负数时,总额的算法仍然是 “购买数量 x 单价=总价”。所以这样就会导致有一个负数的需支付金额。若支付成功,则可能导致购买到了一个负数数量的产品,也有可能购物网站会返还相应的积分/金币到你的账户上。

但是,这种情况不可能发生在通过支付宝支付的订单中,因为显然支付宝是不支持一个负数金额的订单,所以这种情况多数发生在一个有站内虚拟货币的网站。

3.1.3 购买商品编号篡改

例如商品积分兑换处,100 个积分只能换商品编号为 001 的低价格商品,1000 个积分能换商品编号 005 的高价格商品,在用 100 积分换商品的时候抓包把换商品的编号从 001 修改为 005,用低积分换区高积分商品。

3.1.4 支付逻辑顺序执行缺陷

部分网站的支付逻辑可能是先 A 过程后 B 过程然后 C 过程最后 D 过程用户控制着他们给应用程序发送的每一个请求,因此能够按照任何顺序进行访问。但是,如果用户直接从 B 直接进入了 D 过程,就绕过了 C 过程。如果 C 是支付过程,那么用户就绕过了支付过程而买到了一件商品。如果 C 是验证过程,就会绕过验证直接进入网站程序了。

3.1.5 请求重放

购买商品成功后,重放购买成功的 http 请求,可以使购买的商品一直增加。购买成功后,会有一个从银行向商户网站跳转的过程,如果这个过程反复的重放,有可能导致商品的反复购买和增加,但是用户不需要支付更多的金钱。

3.1.6 程序的异常处理

程序的异常处理比较少见,不过也是有案例的。程序的异常处理,就是指支付的数据包异常的程序的错误处理。这种异常可以是数据与 KEY 不符,支付的金额有错误,购买的数量不正确等等。程序的异常处理出现的原因主要是开发人员对出现异常后的处理不当造成的。

3.2 支付逻辑漏洞案例

3.2.1 超时未发货商品赔付漏洞

  • 1、在某宝找一件12小时内发货的商品,或者8小时内发货的商品(这样的商品很好找)。
  • 2、比如找的是8小时内发货的,就可以在晚上23点左右下单付款,到第二天早上7点,直接小二申请超时未发货,要求赔付。
  • 3、某宝审核后,会赔付买家以10%的商品价格现金赔付,因为这是某宝的规则。
  • 4、因为在这个时间段内大多数卖家还在睡觉,平台并没有风控提示。

3.2.2 骗取某宝运费险漏洞

  • 1、运费险是根据赔付金额按5%收取,比如保费0.5元、0.6元,对应的保额是10元、12元。
  • 2、比如在广州某个淘宝店购买1件商品,花0.5元购买运费险,如果我退货的话保险司会承担10元运费。
  • 3、而我收到货后使用某低价快递退货,从深圳发货到广州运费只要5元(部分快递甚至能做到4元)。
  • 4、这一笔赚到的差价总共是:保险公司赔付的10元-0.5元-5元快递费,一单净赚4.5元。还有一种方式: 使用的收件人、电话、地址等所有资料全是假的,下单后,不收货、不退货。因为所有资料都是假的,所以卖家发货后根本没人签收,快递公司自然会返回发件方。当得知快递已经返回收件方后,再开始申请七天无理由退货,保险公司赔付的10元。

注册用户可以任意注销和注册用户,新用户会获取大额红包,老用户只能领取小额红包,无限注销用户再注册新用户身份标识为新用户身份,从而赚取收益。

3.2.3 其他案例链接

  1. 逻辑漏洞之支付漏洞
  2. 三个实例告诉你:在线支付逻辑缺陷引发的安全问题
  3. 12308订单支付时的总价未验证漏洞(支付逻辑漏洞)

3.3 支付类逻辑漏洞利用

3.3.1 修改购买数量

在进行支付订单的时候,可以修改物品的数量来进行操作,可以通过支付一件的价格购买多件,或者修改负数进行增加资金。特殊情况:

  1. 修改小数点
  2. 整数溢出
  3. 总商品价格为正

3.3.2 修改支付价格

利用:抓包修改价格参数的内容,在支付当中,购买商品一般分为三步骤:订购、确认信息、付款,在这三个步骤中都有可能存在漏洞,金额可以尝试修改小额或者修改为负。特殊情况:

  1. 总商品价格整数溢出
  2. 价格小数点溢出

3.3.3 修改支付对应的商品

通过修改商品对应的id号,可以用低价购买高价格的商品。

3.3.4 请求重放

购买成功之后,继续重放请求,可以让购买的商品一直增加,购买后,会有一个银行对商户网站跳转的过程,如果反复进行操作,导致商品反复购买和增加,但是不需要付更多的钱。

4. 批量注册场景

网站的攻击者通过批量注册用户,能够实施大规模非法操作,如抢优惠券恶意刷单等。这给服务商造成了直接的经济损失,而大量的垃圾用户也会占用系统资源,增加系统运行压力。

注册用户功能,不需要手机号就可以注册用户,这是一个低危漏洞,但是也可以获取到高危收益。如可以通过无限注册新用户,来获取优惠券,购买产品再倒卖,从而获益。

演唱会,买票时一人只限一张门票,注册多个账户,购买很多张,然后再高额转卖给粉丝,俗称黄牛票。

5. 享受特权用户功能

网站通常会有很多vip才能使用的功能,我们可以我个普通用户,然后发起vip请求的包也可以使用vip的功能。举例:免费看vip视频、使用vip功能听音乐等。

6. 社交类型场景

  • 强行举报(读取本地消息上传那种)
  • 强行加好友(一般尝试重发通过好友这条协议)自由修改号码(靓号类)
  • 群管理无限禁言
  • 越权禁言,替人,拉黑
  • 会员修改金额,数量。无限优惠购买非会员使用会员功能
  • 批量给非好友发送营销/骚扰信息

7. 购物类型场景

  • 无限创建订单消耗库存,让其他人无法下单一人无限领取优惠券,消耗优惠券。
  • 并发支付订单
  • 越权取消订单
  • 不合理退款理赔(无限制退款缺陷)

某业务可以30分钟内订单无限制取消,当超过订单时间,可以申请订单延期,订单延期之后=新订单,然后就可以免费取消了。

8. 签约漏洞场景

  • 1、A手机登陆账号A打开要测试的业务,点击自动续费,支付时停留在支付界面
  • 2、B手机登陆账号A打开要测试的业务,点击自动续费,支付时停留在支付界面
  • 3、A点击支付并进行签约,支付成功后在第三方APP中解除支付界面
  • 4、B点击支付并进行签约,支付成功后在第三方APP中解除支付界面 全部支付成功后,系统就会开通相应的次数,由于提前打开了支付界面,所以金额都是享受到新用户首月优惠的金额。

美团新用户开会员,3块钱一个月,仅限新用户或长期未使用用户让他永久都是这个价格。利用到这个机会,用自己手机点击活动,点击支付,支付三块钱获取一个月会员,订单生成了,我不去进行支付。换个手机再点击活动页面,又会存在三块钱一个月的活动,我再点击支付又会生成三块钱一个月的订单,再同时支付,利用逻辑漏洞实现6块钱开通两个月会员。

连续包月的签约漏洞:20元一月勾选白动续费15元一个月,即15+20=35两个月会员,15元一个月在第二个月之前取消自动续费,因为自动续费是在我们的手机上面,微信或者支付宝上面签署的15元,第二个也是15元,合计30元两个月会员。

  • 17
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值