hackerone-shopify-2020-06-m-273099

User with removed manage shops permissions is still able to make changes to a shop

보고서

직원의 권한을 취소해도 이미 로그인한 상점의 관리 영역에서 로그아웃 되지 않았다. 또한 권한이 없는 앱에 계속 접근할 수 있었다. Shopify 측은 이미 알고있는 이슈였으며, 앱에서 관리하는 세션은 설계 상 관리자 세션과 분리되어 있기 때문이라 했다.

상점 관리 권한이 있던 파트너 사용자가 앱을 설치하고, 이후 권한이 취소되었을 때, 여전히 partners.shopify.com 를 통해 상점을 관리할 수 있었다.

  1. partners.shopify.com 에서 파트너 계정을 만들고, 상점 관리 권한이 있는 직원을 추가한다.
  2. 상점 관리 권한이 있는 직원 계정으로 development store를 생성하고 상점에 로그인한다.
  3. order printer 앱을 설치하고 템플릿 관리 버튼을 누르고 템플릿을 만든다.
  4. 템플릿을 생성한 후 생성된 템플릿에 대해 삭제를 누르고 패킷을 잡아둔다.
  5. https://partners.shopify.com/<<아이디>>/memberships 에서 위 직원의 권한을 제거한다.
  6. 이후 잡은 패킷을 보내면 여전히 템플릿 삭제가 가능했다. (권한에 없던 일을 했다)

임팩트를 높이기 위해 할인 코드를 생성하는 앱 등 좀 더 중요해보이는 앱으로 테스트해보았다


tags: bughunting, shopify, access control vulnerability, wstg-athz-03, severity medium, web hacking