SRC漏洞挖掘之 零积分购买Everything

admin 2022年12月26日18:48:48评论86 views字数 1873阅读6分14秒阅读模式

0x01 漏洞简介

首先申明,本次是在客户授权的情况下进行的漏洞挖掘,任何未经授权的渗透测试都是违法的!只是觉得这个漏洞有点意思,所以放出来和大家分享一下,打码是必然的,大伙多多见谅,如果有漏点的地方,也不要去尝试(应该不会漏点的😄)。

0x02 漏洞分析

01 目标分析

首先拿到手的目标是一个积分商城系统,说到积分商城,大伙自然能联想到0元购,负积分购买(不但要买还要商家倒贴给我们,嗯哼?好坏好坏的人。。)

我自然也不例外,我第一个想到的就是0积分购买,那么到底可不可行呢,我们接着往下看。


02 漏洞挖掘

打开积分商城登录之后大概是这样一个页面,已经打码

SRC漏洞挖掘之 零积分购买Everything


可以看到我们目前是0积分,是什么让我低下了高贵的头颅(穷),不过不打紧,我们还有技术来弥补

点进数码产品看一看

SRC漏洞挖掘之 零积分购买Everything

看着是真的贵啊,这得让我捡多少易拉罐才能兑换的起啊

SRC漏洞挖掘之 零积分购买Everything


但是为了得到女神的青睐,我必须想办法兑换一个,这样才能邀请女神一起听听歌,哪怕只是一首也好。

SRC漏洞挖掘之 零积分购买Everything


咱们先点进去看一看蓝牙音箱吧,毕竟比较符合我的气质

SRC漏洞挖掘之 零积分购买Everything


系统相当的人性化,知道我兑换不起,还特地给了一个余额不足的提示,并且将 确定兑换 按钮设置为灰色无法点击状态,嗯!

SRC漏洞挖掘之 零积分购买Everything


那么问题来了,我这个0积分的穷屌丝如何才能兑换到符合我气质的蓝牙音箱


首先,我们要让系统觉得我们是有钱有实力的,第一步得让 确认兑换 按钮可以点击,在点进蓝牙音箱页面的同时,系统会发起一个余额查询请求,然后根据返回结果判断我们是否有足够的财力去兑换这个蓝牙音箱,很显然!我们是没有那个财力的,那怎么办,财力不够技术来凑呗,这里我发现返回包里面有amout字段,发现和我的积分总余额能对应上,如图

SRC漏洞挖掘之 零积分购买Everything


可以看到打工仔只有二十积分,这个时候我就萌生了一个想法,既然返回包返回了我的积分总余额,那么会不会只是在前端对积分总余额进行的判断呢?如果是前端校验的话,那么是不是意味着我们可以修改返回包的总余额为较大数字,然后绕过前端的校验呢?

说干就干,为了验证这个猜想,我们需要再重复操作一次,截取请求包然后修改响应中的总余额

SRC漏洞挖掘之 零积分购买Everything


余额设置的大一点,有钱任性。

SRC漏洞挖掘之 零积分购买Everything


修改完响应包余额之后,可以发现系统不提示余额不足了,确认兑换 按钮也不是灰色得了

SRC漏洞挖掘之 零积分购买Everything


那么这是不是意味着我们已经可以兑换了呢,尝试一下

SRC漏洞挖掘之 零积分购买Everything


直接进入到提交订单界面了,激动的搓手手,我们来提交一下看看

SRC漏洞挖掘之 零积分购买Everything


现实狠狠的给了我们一耳光,看来系统后端还是有对我们的余额进行查询比对的。

既然此路不通,那么换一条路走不就好了。

已经知道目标是通过前端判断余额,那么商品的价格是不是也是通过前端判断的呢?

经过测试,发现点进蓝牙音箱页面的时候系统会发两次数据包,一次是查询我的总余额,还有一次是查询商品的价格并返回,到这里小伙伴应该和我一样想到了吧,我们来试一下修改商品的返回价格,然后再来购买一次试试。

SRC漏洞挖掘之 零积分购买Everything


这是返回包的数据,我们把价格统一修改为0试试

SRC漏洞挖掘之 零积分购买Everything

yes!可以看到我们的猜测是对的,系统完全是通过后端响应包来判断设置商品余额的,这个时候我们来兑换看看。第一次白嫖,有点小激动哇。

SRC漏洞挖掘之 零积分购买Everything


可以看到成功进入了购买页面,提交订单试试

SRC漏洞挖掘之 零积分购买Everything


卧槽!兑换成功了!!!赶紧看一下订单列表里有没有

SRC漏洞挖掘之 零积分购买Everything


呃呃,然而现实总是给了我雷霆一击。

SRC漏洞挖掘之 零积分购买Everything


后面经过多次尝试,发现即使提交成功,第一秒是待发货,再次访问就变成已退款,抓包发现是后端做了一次查询校验,商品价格不符的话就会变成已退款。尝试修改返回包状态都没用。真的不能白嫖了吗?我连和女神见面的衣服都选好了。

03 绝处逢生

就在我濒临绝望之际,一个大胆的尝试给了我一丝曙光。也许这也是我对女神的执着打动了幸运之神,让他能小小的眷顾我一下。

我当时的想法是如何才能绕过后端校验,让后端觉得我有足够的财力买下这个音箱,但是经过一番尝试并没有起到什么作用,后端认定我就是一个穷屌丝,就是不给我白嫖。

后面我也急眼了,我抓取了积分支付的数据包,疯狂repeater,然后神奇的事情居然发生了,如图

SRC漏洞挖掘之 零积分购买Everything

居然兑换成功了!而且状态为待拣货,不再是已退款状态了。

这真是太棒了,和女神一起听歌有着落了。

SRC漏洞挖掘之 零积分购买Everything


0x03 总结

本次先是通过尝试发现目标使用前端校验,所以修改返回响应包数据,绕过前端校验。然后后面的疯狂repeater可以理解为多线程的方式发包,这里我猜测是属于条件竞争的漏洞,多个请求同时进入了购买方法中,多个被拦截了,有一个线程成功逃逸出去,导致最后购买成功。所以说,漏洞挖掘有的时候真的需要打开脑洞,越是觉得不可能的事情,越是要尝试一下,谁知道最后是成功还是失败呢,万一成功了呢。


0x04 修复建议

  1. 不要使用前端校验,改为后端校验

  2. 修改购买逻辑


原文始发于微信公众号(伟盾网络安全):SRC漏洞挖掘之 零积分购买Everything

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年12月26日18:48:48
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   SRC漏洞挖掘之 零积分购买Everythinghttp://cn-sec.com/archives/1457301.html

发表评论

匿名网友 填写信息