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


게임에서 충돌하면 화면에 "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 |