LEVEL 2: Javascript_sourcemap

https://dreamhack.io/wargame/challenges/310

환경


  • 소스 코드 파일이 주어지지 않음.
  • 기본 페이지에서 특정 파일명을 입력 후, [SEARCH!] 버튼을 클릭하면 화면에 텍스트를 출력.


접근


  • 해당 문제의 설명에서 어떤 행동을 해야하는지 제시하고 있다.


풀이


  • sourcemap으로 자바스크립트 파일이 실행되기 전, 소스 코드를 확인한다.
    • 페이지에서 확인하는 것은 이미 자바스크립트가 실행된 상태이므로 소스 코드와 차이점이 존재.


플래그 획득 과정


  • 기본 페이지에서 DevTools의 [검사기]에서 <script> 태그를 수정하고, [디버거에 파일 열기]를 클릭한다.
  • 해당 페이지는 [library.js.map]에서 이미 자바스크립트가 실행된 후 이므로, 완전한 소스 코드를 확인할 수 없다. 그러므로 [library.js.map]으로 들어간다.
  • [library.js.map]에 들어오면 완전한 소스 코드를 확인할 수 있다.
  • 소스 코드에서 이스케이프 시퀀스를 제거하고, DevTools의 [콘솔]에서 함수를 정의하고 실행하면 플래그를 획득할 수 있다.


참고 자료


https://firefox-source-docs.mozilla.org/devtools-user/debugger/how_to/use_a_source_map/index.html

Published by