记一次校园热水平台的支付漏洞
记一次校园热水平台的支付漏洞
声明:本次渗透以获得授权
这学期学校热水系统换了新的,叫做X马智能,新业务那咱们自然得进去看看。
先了解一下业务逻辑,大概是这么一个意思,宿舍淋浴间有热水有两种计费模式,分别是单人套餐和宿舍共用套餐,并且最低充值为30元
两个套餐可以同时购买,数据包如下,和平时常见商品订单的数据包无异。
这边思考,如果前端传入的数据在后面没有进行完全的校验,将个人的套餐数量改成负数,并且商品的总价格不变。
提交数据包,发现是可行的,成功的购买了个人套餐-1份。查看我们的订单,发现单人A套餐的数量已经变成-1了。
到目前为止,只是套餐的数量变成了负数,如何进一步利用呢?能利用的话效果又是什么样的呢?这个时候发现这个平台的在使用套餐的时候,会扣除相应的套餐数量,它这边应该是减到0就判断套餐使用完毕。然而经过刚刚的修改,A套餐负数减负数,永远还是负数,这就意味着我们可以无限的使用个人的热水。
总结一下这个漏洞产生的原因主要是没有进行前后端数量校验,产生了修改了套餐的数量为意外的值,在后续的利用中负溢出导致的无限白嫖。那不是可以随意洗澡了= =
今天的分享就到这了。