Takeover an account that doesn't have a Shopify ID and more
Program: Shopify
Bug Type: Account Takeover
Bounty: 22500
Date: 2020-05-20
account-takeover
identity-spoofing
improper-access-control
Summary
In a Shopify account (an account to manage a store), there is a concept called PoS (Point of Sale) where we can create a channel for a physical store. New staff accounts are created for staff in the physical store.
Shopify store - An account for a business
Shopify ID - An account in the Shopify platform.
(You can create Shopify stores without needing a Shopify ID!)
Dev store - A free development store used for testing purposes.
PoC:
- Create a dev store in Shopify
- Intercept the request and change the email to attacker email.
- Install POS in the dev store.
- Add a new staff profile, intercept and change the email to the victim's (the account you want to takeover)
- Refresh the page — Shopify offers to "Create a Shopify ID for [email protected]"
- Shopify creates a Shopify ID for the victim's email without verification.