SRC漏洞挖掘之 零积分购买Everything
2022-12-11 15:19:52 Author: 伟盾网络安全(查看原文) 阅读量:36 收藏

0x01 漏洞简介

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

0x02 漏洞分析

01 目标分析

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

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

02 漏洞挖掘

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

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

点进数码产品看一看

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

03 绝处逢生

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

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

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

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

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

0x03 总结

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

0x04 修复建议

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

  2. 修改购买逻辑


文章来源: http://mp.weixin.qq.com/s?__biz=MzkwOTIxNzQ5OA==&mid=2247484658&idx=1&sn=f735990115d34c6c4442e9ec2af03afa&chksm=c13f5f47f648d651b5297d5c924d71b36834698ca19f9b5bdfb824a276393e15b3a76d1fdf36#rd
如有侵权请联系:admin#unsafe.sh