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

声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。