【相关分享】记一次小程序支付逻辑漏洞

【相关分享】记一次小程序支付逻辑漏洞

原创 隼目安全 隼目安全 2025-01-15 16:32

免责声明


由于传播、利用本公众号”隼目安全”所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号”隼目安全”及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉谢谢!

本文中所涉及的相关漏洞已经向相关单位与平台进行报告,本文中图片、内容等均已脱敏!!!

准备工作

现在的支付类逻辑漏洞多数出现在小程序或app中,笔者看来小程序的逻辑漏洞占比更多,相比于app也更好抓包,更好发现逻辑缺陷。这里着重讲小程序,app抓包已经被csdn写烂了,有需要可以在csdn直接搜,小程序比较简单就直接写了。

小程序抓包:

直接在电脑中启用全局代理,将其代理地址与端口设置为bp的代理即可

在抓包时,由于是全局代理,可以看到抓到的包非常杂乱

这时就可以用到上方的过滤器设置(这里我打开的是百度网盘的小程序)

应用后只显示含有baidu的域名的包,实战中换成需要测试的小程序的更方便我们进行漏洞挖掘。

漏洞挖掘

任意金额支付:

在订单创建和支付时,建议每一个包都去看一下,说不定会有意外发现

点击立即购买,会出现一个请求:

此处出现的请求为为订单生成,可以看到此处有sgin签名,不好去篡改

放过去之后为订单支付,此处再次抓包就是支付页面

可以看到此处无sgin签名,尝试修改金额为0.01

当然,也有神人开发只在支付时做校验,生成订单处可以提前修改的情况。

另一种支付逻辑为加法逻辑

图片1

图片2

我们抓图片1的包时发现,服务费是写死的,任意修改后放包已然是200元,这时候可以看看其他订单(图片2),发现多了一个路程费,抓包查看。

修改路程费为0并放包,可以看到只剩下了服务费需要支付

这时候我们尝试去修改路程费为负数,验证是否为加法逻辑

放包后可以看到仅需支付一元,确认为加法逻辑

像这种支付漏洞在小程序很常见,基本上挖四五个就可以出一个

最后希望各位师傅可以天天出高危,赏金随便拿