本文作者:ngalog
漏洞概述:
通过绕过.myshopify.com中的电子邮件确认步骤来接管任何商店帐户。我找到了一种确认任意电子邮件的方法,并在* .myshopify.com中确认了任意电子邮件后,用户可以通过为所有商店设置主密码来将与其他共享相同电子邮件地址的Shopify商店进行集成。如果所有者以前没有集成过),则只需知道所有者的电子邮件地址即可有效地接管每个Shopify商店。在https://www.shopify.com/pricing中注册新的Shopify实例后 并开始免费试用,用户可以在确认用于注册的电子邮件地址之前将其电子邮件地址更改为新的电子邮件地址。问题是Shopify电子邮件系统错误地将新电子邮件地址的确认链接发送到用于注册的电子邮件地址。结果是用户可以确认任意电子邮件地址。下一步是利用SSO接管其他用户的Shopify实例。
漏洞详情:
如果检查https://h31ngalog.myshopify.com/并查看所有者的电子邮件地址,即ngalog@hackerone.com,显然无法通过其他方式进行验证
漏洞复现:
1、访问https://www.shopify.com/pricing和注册用的电子邮件地址免费试用,说attacker@gmail.com可以接收电子邮件
2、输入要进入商店的字段后,请单击右上角的名称,然后转到“个人资料”
3、将电子邮件更改为您想要接管的人,例如yaworsk@hackerone.com,然后单击“保存”
4、现在就完成所有工作,喝杯咖啡,坐下来放松身心,观看一些YouTube视频,然后等待一封电子邮件发送到邮箱
Attacker@gmail.com
5、正在等待的电子邮件来自mailer@shopify.com,其格式应如下所示
漏洞原因:
电子邮件系统错误地发送的确认链接yaworsk@hackerone.com到attacker@gmail.com因为attacker@gmail.com是保存在系统中的一个,和电子邮件系统没有注意到的确认链接已经更新到yaworsk @ gmail.com,并且不应发送给Attacker@gmail.com
SSO帐户接管:
1、 现在我们可以确认任意电子邮件,那么我们可以接管其他商店
2、 在you-shop.myshopify.com的右上角,单击您的姓名,然后单击个人资料,您应该看到一个框,其中说,您在Shopify中还有其他两个帐户,想要将它们集成在一起
3、 单击是,然后按照说明进行操作,那么您可以通过更改该电子邮件地址下所有商店的主密码来接管所有其他商店。
漏洞影响:
能够在* .myshopify.com上确认任意电子邮件,并利用SSO为使用相同密码的所有其他商店设置主密码。