https://hackerone.com/reports/1087489
Shopify disclosed on HackerOne: Github access token exposure
hackerone.com
해커원에서 간단하지만 큰 금액을 받은 리포트가 있길래 궁금해서 알아보았다.
여기서 말하는 쇼피파이 환경은 홈페이지가 아니라 데스크탑 앱이더라.
이 앱은 Electron이라는 프레임워크로 만들어졌는데 이게 웹 지식만으로 데스크탑 앱을 만들수 있다고 한다.
* 자세한건 https://kdydesign.github.io/2019/04/15/electron-tutorial/
요즘 디코, atom, 스카이프 등 많이 알려져 있는 앱들이 Electron으로 만들어지고 있다고 한다.
그래서 버그바운티 할때 진단 할 앱이 Electron으로 만들어졌는지 아닌지 알아보고 싶어졌다.
- Electron 알아보는법
- 실행파일에서 electron 문자열 검출
- C:\Users\{사용자}\AppData\Local\Programs\{프로그램명}\resources 경로에 "app.asar"있는지 확인
- 앱 실행 후, 개발자 도구 단축키 Ctrl+shift+I, ctrl + shift + d 눌러서 개발자 도구 실행 여부 확인
* app.asar은 electron으로 만든 앱을 배포할때 생기는 파일이다.
참고:
http://electron.ebookchain.org/ko-KR/tutorial/application-distribution.html
데스크탑 앱을 확인하다 이렇게 app.asar을 발견한다면 해커원 리포트에서 나온거처럼 한번 까보자
$npx asar extract app.asar destfolder // destfolder = 폴더 명인듯
// npx asar extract path/to/app/asar extracted/path
이 안에 .env라는 파일이 있나보다.
해커원 리포트 쓴 사람은 그 파일에서 GitHub PAT(Personal Access Token), 즉 패스워드 대신 쓰는 토큰을 발견했다.
- 이 토큰이 살아있는지 테스트하기
curl -H 'Authorization:token my_acccess_token' https://api.github.com/user/repos
이 명령어가 잘 실행이된다 > 토큰이 살아있는 거
발견자는 이 토큰으로 쇼피파이가 운영하는 깃허브에 접근해서 모든 레포지토리에 접근 및 수정 권한을 얻었다.
엄밀히 말하면 이건 앱 개발자의 실수를 발견해서 운좋다 라고 볼 수도 있지만 또 모르지?
또한 github pat이 아니더라도 다른 정보를 알 수 있으니 app.asar을 발견한다면 한번 까봐야겠다
참고) 윈도우10에서 curl 사용하는 법
https://kitae0522.tistory.com/entry/Windows-%EC%9C%88%EB%8F%84%EC%9A%B010%EC%97%90%EC%84%9C-curl-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95
출처:
https://richong.tistory.com/447 [study]
https://geoseong.github.io/docs/scm/git/github-token-authentication/
'WEB > 공부' 카테고리의 다른 글
Log4j 취약점( CVE-2021-44228 ) 자료 정리 (0) | 2021.12.18 |
---|---|
$(document).ready 사용 시 $ is not defined 에러 (0) | 2021.11.19 |
XSS 시 자주 써먹는 팁 과 구문들 (0) | 2021.10.14 |
Prototype Pollution 이해하기 & 점검 사례 (0) | 2021.10.14 |
Mermaid 툴을 이용한 DOS & XSS (0) | 2021.10.13 |