6月28日,HackerOne白帽@say_ch33se向电商平台Shopify公司上报了一个邮件验证问题导致的账户劫持漏洞,攻击者可以利用该漏洞劫持其他人在Shopify商店主页(your-store.myshopify.com)创建的商店账户。漏洞原因在于Shopify商店系统对账户的身份验证存在逻辑缺陷,漏洞最终被评级为严重(Critical)并获得了Shopify官方$22,500的奖励。我们一起来看看作者的发现过程。
漏洞复现
漏洞机制有点奇怪,为了更好的解释复现,配合相关截图说明。
1、在your-store.myshopify.com注册账户,成为Shopify合作伙伴商店,在其中添加商店:
2、之后,到了下面这步后,我们不着急进行邮件验证:
3、去到admin/settings/account/youraccountnumber下,把你当前的绑定的邮箱地址更改为受害者的邮箱地址,比如我原先绑定的邮箱地址是[email protected],这里,我把它更改为受害者邮箱[email protected],然后回到之前的邮件验证界面:
4、接下来,利用burp的match and replace规则匹配功能,设置以下邮箱地址替换规则,即把经由burp请求中的邮箱都替换成受害者邮箱[email protected]:
5、抓包之后,刷新之前的邮箱验证界面:
6、此时,我们在该页面任意上传一副用户头像图片并保存:
7、基于前述选中的match and replace规则,刷新该页面后会出现以下述界面,点击其中的“Resend verification email”按钮后,你绑定的邮箱[email protected]将会收到一封对受害者身份([email protected])的验证性邮件;同样 ,如果这里取消选中之前设置的match and replace规则,刷新页面同样也会是以下界面:
8、来到我们自己的邮箱[email protected]中,点击其中发送来的验证邮件链接,打开另一个浏览器标签页面;
9、在该打开的验证性标签页面中,随意上传一张用户头像图片:
10、点击其中的Review accounts,这里提示需要Shopify ID,那就选择设置Shopify ID:
11、接着就来到这个界面中:
12、点击继续,并设置密码:
13、现在我们就成功登录了绑定邮箱为[email protected]的受害者商店主页了。
漏洞影响
攻击者可以利用该漏洞综合SSO方式劫持Shopify电商用户账户。
参考来源:Hackerone
来源:freebuf.com 2020-09-15 17:52:31 by: clouds
请登录后发表评论
注册