위의 문제를 다음과 같은 과정으로 풀어보았다.
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번 반복하는 코드를 작성하여 실행하였다.
플래그를 얻었다.
'드림핵' 카테고리의 다른 글
[드림핵 워게임] image-storage (0) | 2022.11.02 |
---|---|
[드림핵 워게임] Mango (조건 추가) (1) | 2022.10.08 |
[드림핵 워게임] pathtraversal (1) | 2022.10.08 |
[드림핵 워게임] command injection-1 (1) | 2022.10.08 |
[드림핵 워게임] Mango (0) | 2022.10.01 |