Sechack

webhacking.kr RPG1 풀이 본문

Wargame

webhacking.kr RPG1 풀이

Sechack 2021. 7. 8. 23:05
반응형

 

들어가서 new game버튼을 누르면 게임이 나온다. 저기 저 보물상자를 먹어야하는것 같은데 강때문에 막혀있어서 키보드로 백날 조작해봐야 못간다. 절대 못깨게 만들어놓은 게임이다. 하지만 이것은 javascript로 돌아가는 게임이다. 따라서 소스코드를 분석해서 캐릭터의 좌표 위치를 담고있는 무언가를 찾은다음에 변조하면 끝날것이다.

 

 

근데 저기 보이다시피 소스코드 파일도 많고 파일 하나하나에 들어있는 javascript코드의 양도 굉장히 많다. 따라서 저걸 전부 분석하는데는 한세월이 걸릴것같아서 다른 방법을 떠올렸다. 지금 게임은 현재 실행중이다. 게임개발 조금 해보신분들은 아시겠지만 게임은 요소 하나하나가 객체이다. C++과 같은 객체지향 프로그래밍을 조금이라도 해보신 분들은 이말이 무슨말인지 바로 알것이다. 나는 이 게임도 현재 캐릭터의 정보를 저장하는 객체가 존재할것이고 그 객체 내부에는 캐릭터의 좌표값이 존재할것이라고 추측했다.

 

 

javascript에는 window라는 객체가 존재한다. 이 객체는 브라우저의 요소들과 javascript엔진 그리고 해당 사이트에서 사용되는 모든 변수를 담고있는 객체이다. 그리고 크롬 개발자도구에는 자동완성이라는 참 좋은 기능이 있다. 위에 사진에서 보이다시피 window를 치고 .을 치는순간 window객체 안에 있는 멤버들이 좌라락 나온다. 우리는 이제 저기서 현재 캐릭터의 정보를 담고있는 객체를 찾으면 되는것이다.

 

 

약간 뒤져본 결과 어렵지 않게 현재 캐릭터의 정보를 담고있는 객체를 찾을 수 있었다. 저기서 _y값을 변조하면 위로 올릴 수 있을듯 했다. 

 

 

예상대로 _y값을 변조하니까 캐릭터가 위로 올라갔다. 이제 상자 먹어주면 된다.

 

 

반응형

'Wargame' 카테고리의 다른 글

DreamHack - tiny backdoor 풀이  (0) 2021.07.12
webhacking.kr CHILD 풀이  (0) 2021.07.09
webhacking.kr baby 풀이  (0) 2021.07.08
HackCTF - Let'S get it ! Boo*4 풀이  (0) 2021.06.08
HackCTF - 잔상 풀이  (0) 2021.06.08
Comments