본문 바로가기

Dreamhack/웹해킹

[LEVEL 1] [wargame.kr] fly me to the moon

웹 서비스에 접속하면 별도의 설명 없이 클릭을 하면 미니 게임이 시작됩니다. 화면 중앙에 우주선이 등장하고, 좌우에 배치된 초록색 장애물들을 피해 이동하면서 점수를 쌓는 방식임을 확인할 수 있습니다.

 

게임에서 충돌하면 화면에 "YOU NEED GET THE SCORE 31337. XD"라는 문구가 나타나며, 목표 점수가 31337임을 알 수 있습니다. 즉, 단순히 게임을 플레이하는 것이 아니라 이 특정 점수에 도달해야만 클리어 조건을 만족한다는 것을 확인할 수 있습니다.

 

따라서 단순히 플레이해서 점수를 얻는 것이 아닌, 내부적으로 어떤 로직이 동작하는지를 확인하기 위해 Burp Suite를 통해 요청과 응답을 살펴보기로 하였습니다.

 

Burp Suite에서 Intercept를 활성화한 뒤 게임을 종료시키자, high-scores.php로 전송되는 요청을 확인할 수 있었습니다. 해당 요청의 Body에는 token과 함께 score 값이 포함되어 있었으며, 실제 플레이 결과에 따라 점수가 기록되는 것을 확인하였습니다. 이를 통해 클리어 조건은 단순히 이 score 값을 조작하여 목표 점수(31337)에 도달하도록 변경하면 된다는 점을 알 수 있었습니다.

 

따라서 요청 패킷의 score 값을 임의로 수정하여 전송해보기로 했습니다. 실제로 score=50000으로 변경 후 요청을 보내자 정상적으로 서버에서 처리되었고, 클리어 조건을 만족해 플래그를 획득하였다.

'Dreamhack > 웹해킹' 카테고리의 다른 글

[LEVEL 1] type confusion  (0) 2025.09.11
[LEVEL 1] [wargame.kr] strcmp  (1) 2025.09.08
[LEVEL 1] csrf-2  (1) 2025.09.08
[LEVEL 1] xss-2  (0) 2025.09.07
[LEVEL 1] mongoboard  (0) 2025.09.06