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 를 통해 상점을 관리할 수 있었다.
- partners.shopify.com 에서 파트너 계정을 만들고, 상점 관리 권한이 있는 직원을 추가한다.
- 상점 관리 권한이 있는 직원 계정으로 development store를 생성하고 상점에 로그인한다.
- order printer 앱을 설치하고 템플릿 관리 버튼을 누르고 템플릿을 만든다.
- 템플릿을 생성한 후 생성된 템플릿에 대해 삭제를 누르고 패킷을 잡아둔다.
- https://partners.shopify.com/<<아이디>>/memberships 에서 위 직원의 권한을 제거한다.
- 이후 잡은 패킷을 보내면 여전히 템플릿 삭제가 가능했다. (권한에 없던 일을 했다)
임팩트를 높이기 위해 할인 코드를 생성하는 앱 등 좀 더 중요해보이는 앱으로 테스트해보았다
tags: bughunting, shopify, access control vulnerability, wstg-athz-03, severity medium, web hacking