入侵10万+忠诚度计划:乐趣与收益并存!
作者:MuhammadKhizerJaved
这篇博客描述了我如何成功入侵10万+忠诚度计划,获取免费积分并兑换免费商品或优惠券的过程。
背景介绍
目标系统是一个电商忠诚度和奖励应用程序,为不同平台和商店提供回头客忠诚度积分服务。该应用在Shopify、BigCommerce和Wix等平台上提供B2B服务,因此所有使用其服务的网站都存在漏洞。根据服务提供商自己的数据,他们拥有超过10万活跃客户,我成功识别并测试了超过3.8万家顶级商店的可利用性。
我在为客户进行网站渗透测试时发现,他们的网站上列有一个忠诚度计划。由于客户需要评估所有可能的威胁,我必须寻找增加奖励积分的方法,用这些积分购买商品或获得大幅折扣,以确保与客户相关的任何内容都不存在漏洞。
奖励应用程序有多种赚取积分的方式,然后可以兑换免费礼品和折扣。奖励可能是免费商品、免费送货,或者将优惠券兑换成现金,例如15000积分兑换5美元。
漏洞分析
当我们首次打开奖励部分时,会看到一个弹出窗口,显示我们的推荐和迄今为止获得的积分。
我开始测试API端点,以了解它在客户网站上所做的更改。当您在主要商店注册时,第三方网站也会创建一个包含您信息的账户,该账户将用于发放奖励和提供折扣代码。
赚取奖励的方式有多种,例如点赞Facebook页面、在Instagram上关注、购买商品以及推荐奖励。首先,我保存了以下提供我们用户账户所有信息的API端点。
在商店中对客户账户所做的任何更改也会反映在此第三方API上。
由于该平台有相当有趣的API请求,我决定通过谷歌搜索并阅读更多关于其API的信息,他们在开发者网站上列出了API文档。
阅读他们的API文档后,以下通知/警告让我感到惊讶。
根据他们的文档,“创建积分交易"端点不适用于公共应用程序。因此,像客户这样的人应该能够看到管理员在某人账户上创建积分时会发生什么,最重要的是,只有具有适当权限的管理员账户才能调整积分余额。
但由于他们在公共文档中列出了该端点,我决定以客户身份尝试,同时仅拥有客户权限。
发出请求实际上确实增加了我的积分余额,并且没有限制可以添加多少积分。
获得积分后,我可以轻松地将它们兑换为免费产品或折扣代码。
在一些网络商店上,他们甚至有一个兑现选项,从而可以创建购买最昂贵商品的优惠券。
最后,您只需在结账时使用由此生成的优惠券即可。
这就是漏洞本身,我希望它更容易理解和阅读。
结束语
虽然测试和发现此漏洞的完整利用能力非常有趣,但最终我必须通知我的客户,并让他们暂时禁用奖励计划,同时向受影响的供应商发送了多封电子邮件。在发布此博客时,供应商已通过适当的权限使端点安全,客户也重新启用了奖励计划。
对黑客和开发者的关键建议
对于黑客:
- 从所有角度(客户、管理员、供应商、黑客)审视目标
- 尝试查找API文档并阅读和理解它们
- 学会在没有API文档的情况下构建请求
对于开发者:
- 尽量不要通过API文档留下关键信息,例如不应公开的端点或仅应提供给订阅者的端点
- 正确验证API端点及其权限
感谢阅读!