HexBrain

Shopify · Report #55716

Force 500 Internal Server Error on any shop (for one user)

Validstatus
7upvotes
9 Jun 2015disclosed

How it was found

There is very strange behavior. If user open urls like below:

There is way to remove error - delete _secure_session_id (for https) and _session_id cookies on shop's domain name.

Interesting restriction is in theme id. Before next test we should remove error and test that frontend works (https://whashp.myshopify.com). If all good:

As i said in begin - very strange behavior affected only user whom opened malicios url. But:

  • attacker can retrieve proper theme id for any active shop from source code
  • this url request is not protected for CSRF

So, attack vector is:

  1. Open source code of victim.myshopify.com (some famous shop) and find theme id
  2. Create malicious urls (both for http and https) https://victim.myshopify.com/?preview_theme_id[]=%ID_FROM_SOURCE_CODE%
  3. Place this urls in place where as many as possible users open it. It may be image in shop layout (for example some xss issue) or just buy cheap iframed traffic and so on. As a result any users that opened this urls will have problem with work with victim.myshopify.com shop.

This report was disclosed publicly on HackerOne and belongs to its author and the program. See the original