본문 바로가기

드림핵

[드림핵 워게임] Carve Party

위의 문제를 다음과 같은 과정으로 풀어보았다.

 

 

1. 기능 확인하기

문제에서 다운로드한 파일을 열어보면 위와 같은 화면이 뜨는데, 호박을 한 번 클릭하면 아래의 문구가 10000 more clicks to go! 에서 9999 more clicks to go!로 바뀌는 것을 확인할 수 있다. 호박을 9999번 더 클릭하면 플래그를 얻을 수 있지만 코드상의 취약점을 찾아내어 더 빠르게 플래그를 얻을 수 있는 방법을 택하였다.

 

 

 

2. 코드에서 취약점 찾아내기

개발자 도구(F12)를 열어 Elements 탭에서 html 소스를 확인해보면, 호박이 id="jack-target"으로 지정되어있는 것을 볼 수 있다.

 

Sources 탭에서 확인해보면 jact-target 객체를 클릭했을 때 클릭한 횟수를 세어 counter에 반영하는 함수가 코드의 107~116행에 있는 것을 확인할 수 있다. 이 함수를 콘솔에서 반복문으로 10000번 실행시켜 플래그를 얻어낼 것이다.

 

 

 

3. 익스플로잇 코드 작성하여 플래그 얻기

위와 같이 Console 창에서 jack-target 객체에 대해서 click() 함수를 10000번 반복하는 코드를 작성하여 실행하였다.

 

플래그를 얻었다.