본문 바로가기
Hacking/DreamHack

[DreamHack] 드림핵 Carve Party

by st-og 2023. 11. 13.


해당 문제는 아래의 호박 그림을 10000번 클릭하면 flag값을 출력하는 문제이다.

 


풀이

해당 문제를 해결하는 방법은 두 가지가 있다.

1. 실제로 10000번 클릭

2. 코드 조작

 

먼저 1번의 방법부터 시도해 보자

 

1번

실제로 10000번을 클릭하는 것은 상당히 힘든 일이다. 그러므로 도구를 사용해 보자

파이썬을 통해 자동 클릭 도구를 만들어 줄것이다.

 

 

가장 간단히 만들 수 있는 클릭 자동화 도구 코드이다.

pyautogui를 사용해 자동으로 클릭을 하게 하였다.

5번 라인에서 PAUSE의 속도를 최대한 적게 하여 빠르게 클릭이 가능하게 만들었다.

 

2번

코드 조작을 위해 해당 html의 구조를 확인하였다.

html코드에서 동적으로 화면을 조작하는 것은 javascript의 역할이므로 script부분을 확인해 주면 

 

 

해당 코드를 확인할 수 있다. 해당 코드는 클릭 시 일어나는 이벤트에 대해 처리하는 함수로서 해당 함수가 한번 실행될 때 클릭이 한번 일어났다고 인지하는 코드이다. 

 

그럼 해당 함수를 10000번 실행을 하게 된다면 html상에서는 클릭을 10000번 했다고 인지하지 않을까?

 

함수를 반복하여 실행하기 위해 아래의 코드를 console에 실행시켜 주었다.

for (i=0; i<10000; i++) {$('#jack-target').click()}

 


두 가지 방법 모두 성공적으로 flag를 확인했다.

'Hacking > DreamHack' 카테고리의 다른 글

[DreamHack] 드림핵 random-test  (1) 2023.11.17
[DreamHack] 드림핵 Type c-j  (0) 2023.11.14
[DreamHack] 드림핵 baby-union  (1) 2023.11.14
[DreamHack] 드림핵 phpreg  (0) 2023.11.14
[Dream Hack] 드림핵 ex-reg-ex  (0) 2023.11.13