黑入10万+忠诚度计划:漏洞挖掘与API滥用实战

本文详细分析了电商忠诚度奖励系统的API端点漏洞,通过未授权访问"创建积分交易"端点实现无限积分获取,涵盖漏洞分析、利用过程及修复建议,涉及38,000+商店的安全影响。

黑入10万+忠诚度计划:漏洞挖掘与API滥用实战

背景介绍

目标系统是一个电子商务忠诚度和奖励应用,允许不同平台和商店为回头客提供忠诚度积分。该应用在Shopify、BigCommerce和Wix等平台上提供B2B服务。根据服务提供商自己的数据,他们拥有超过10万活跃客户,我能够识别并测试了超过38,000家顶级商店的可利用性。

我正在为客户进行网站商店的渗透测试,他们网站上列有一个忠诚度计划。由于客户需要评估所有可能的威胁,我必须寻找增加奖励积分并用它们购买商品或获得大幅折扣的方法,以确保与客户相关的任何内容都不易受攻击。

奖励应用有多种赚取积分的方式,然后可以用这些积分兑换免费礼物和折扣。奖励可能是免费物品、免费送货,或者将优惠券兑换成现金,例如15,000积分兑换5美元。

漏洞分析

当我们首次打开奖励部分时,会弹出一个显示我们的推荐和迄今为止获得的积分的窗口。

我开始测试API端点,以查看它在客户网站上的变化。当你在主商店注册时,也会在第三方网站上创建一个包含你信息的账户,该账户将用于发放奖励和提供折扣代码。

有多种赚取奖励的方式,例如点赞Facebook页面、在Instagram上关注、购买商品以及推荐奖励。最初,我保存了以下提供我们用户账户所有信息的API端点。

商店中对客户账户的任何更改也会反映在此第三方API上。

由于该平台有相当有趣的API请求,我决定谷歌并阅读更多关于他们的API的信息,他们在开发者网站上列出了他们的API文档。

阅读他们的API文档后,以下通知/警告让我感到惊讶。

根据他们的文档,这个“创建积分交易”端点不适用于公共应用。因此,像客户这样的人应该能够看到管理员在某人账户上创建积分时发生的情况,最重要的是,只有具有适当权限的管理员账户才能调整积分余额。

但由于他们在公共文档中列出了该端点,我决定以客户身份尝试,仅具有客户权限。

发出请求实际上确实增加了我的积分余额,并且没有限制可以添加多少积分。

我添加了几千点积分后,可以轻松地用它们兑换免费产品或折扣代码。在一些网络商店上,他们甚至有一个兑现选项,从而可以制作优惠券购买最昂贵的物品。

最后,您只需在结账时使用由此生成的优惠券即可。

这就是漏洞本身,我希望它更容易理解和阅读。

结束语

虽然测试和发现此漏洞的完全利用能力非常有趣,但最终我必须让客户知道,并让他们暂时禁用奖励计划,并向受影响的供应商发送了多封电子邮件。在发布此博客时,供应商已通过适当的权限使端点安全,客户也重新启用了奖励计划。

对黑客和开发者的一些关键要点

对黑客:

  • 从所有角度(客户、管理员、供应商、黑客)审视目标。
  • 尝试查找API文档并阅读和理解它们。
  • 学会在没有API文档的情况下构建请求。

对开发者:

  • 尽量不要通过API文档留下关键信息,例如不应公开的端点或仅应提供给订阅者的端点。
  • 正确验证API端点及其权限。

感谢阅读!

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计