研究人员在同一API端点上设置了一个新商店并使用$ storeName来测试系统是否容易受到不安全直接对象引用(IDOR)错误的攻击。但是,这导致了404错误。然后,Fathi决定对所有现有商店进行批量检查,以查看是否有任何客户信息会通过API泄漏。
构建包含商店名称的脚本,并且在针对端点迭代wordlist之后过滤掉易受攻击的域。在1000家商店中,只有四家 - 其中一家已关闭 - 被证明是脆弱的。然而,研究人员使用更大的数据集深入挖掘,包含813,684条记录,使用前向DNS。
然后使用Bash脚本对这些记录进行了进一步的测试,结果列出了一个易受攻击的商店列表,这些商店泄漏了“Shopify商家的销售数据,其中包括从2015年到今天每月数千家商店的收入细分。”
“我们有一个易受攻击的商店列表,所以如果我们查询其中的任何一个,我们会得到当前商店在其生命周期内的美元月收入数据的细分,”研究人员补充说。
下图是2015年至2019年期间一位店主收入的示例。
欧盟将从2019年1月开始为14个开源项目提供漏洞赏金计划
“这在800,000家商店进行了测试,其中有12,100家曝光,+ 8700家是我们能够获得销售和交通数据的易受攻击的商店,他们不应该公开,预计3400将公布其销售数据, “法蒂说。
根据这些调查结果,研究人员得出结论,泄漏是由Shopify Exchange应用程序引起的,该应用程序是在漏洞似乎出现前几个月引入的。
犯罪分子如何使用黑暗网络中的欺诈指南欺骗组织和个人
调查结果于2019年10月13日发送至Spotify。电子商务平台在三天后确认了调查结果,并在分类后的一小时内解决了问题。然后Shopify要求提供更多信息,问题已于11月1日结束。
Shopify已经解决了泄漏,但选择不给予奖励赏金支付。该公司将政策违规列为原因。
在研究人员的探索中,他“与[他]创造的商店之外的商店互动”,这违反了公司的错误赏金规则。
在给Fathi的电子邮件中,Shopify说:
“虽然我们感谢您试图证明所发现问题的影响,故意访问其他商家的信息而不是立即向我们报告此信息是Shopify的重大关注。因此,此报告不会获得错误奖励。 “
研究人员认为,考虑到确认安全漏洞的合法性所花费的时间,与不立即报告错误有关的指控是不公平的。然而,Fathi确实接受了他违反规则 - 但强调这是“最好的意图来证明影响,避免在没有任何工作证据的情况下发送理论报告”。
研究人员补充说:“如果我没有按照我的方式进行,我相信我无法用其他方式来证明这个特殊安全漏洞的存在。”“坦率地说,即使这份报告的结果也没有达到预期,[...]这是我最后的错。”
更新16.29 BST:Shopify发言人告诉ZDNet:
“在Shopify,我们知道可靠的体验对我们平台上的每个商家都至关重要,我们有全面的安全策略来支持这一点。我们的Bug Bounty计划加强了这些努力,有助于确保我们为商家提供最安全的平台。在验证报告后,我们的工程团队在一小时内解决了这个问题。“