문제
javascript game. can you clear with bypass prevent cheating system?
자바 스크립트 게임, 부정행위 방지 시스템으로 해결할 수 있나요?
풀이
비행기 게임이 확인된다 마우스를 따라 움직이는 비행기와 무작위로 좁혀져 오는 기둥이 있고 기둥에 닿을 경우 게임오버가 된다 31337 SCORE 를 달성해야 한다는 내용이 출력된다.
개발자 도구(F12) -> Elements 탭으로 진입하여 <head> 태그의 내용을 확인한다. <script type="text/javascript"> 의 하단 내용을 확인 시 난독화된 javascript code를 확인할 수 있다 난독화된 javascript code를 해독할 수 있는 사이트를 활용해야한다.
Online JavaScript Beautifier site : https://beautifier.io/
Beautifier 를 통해 난독화된 자바스크립트의 내용을 모두 넣고 Beautify Code 버튼을 누르면 읽기 좋은 형태로 변환된 자바스크립트 코드를 확인할 수 있다. 해당 코드를 통해 Score를 정의하고 있는 내용을 분석해본다.
var _0x8618x6 = 0; 으로 지정된 변수는 _0x8618x7() 함수를 통해 정의된다. this[‘getScore’] 은 함수 _0x8618x7()을 return 한다 즉 변수 0x8618x6은 getScore 를 지정하는 변수로 볼 수 있다.
개발자 도구(F12) -> Console 탭으로 이동 후 디컴파일한 코드를 모두 붙여넣고 var _0x8618x6 = 40000; 으로 값을 수정한다.
Key : 0b126dacf2ab649f70c851f1f32459a0bda77d59 |
값을 변경 후 다시 게임을 시작하면 Score: 40000 부터 시작하며 Game over 창이 아닌 Flag 값이 있는 화면이 출력된다. 해당 Flag 값을 제출하면 통과할 수 있다.
'Hacking > wargame.kr' 카테고리의 다른 글
[wargame.kr] Question 8. md5 password (0) | 2021.06.28 |
---|---|
[wargame.kr] Question 7. strcmp (0) | 2021.06.24 |
[wargame.kr] Question 5. WTF_CODE (0) | 2021.06.23 |
[wargame.kr] Question 4. Login filtering (0) | 2021.06.23 |
[wargame.kr] Question 3. QRcode puzzle (0) | 2021.06.22 |