Yozzang의 해킹일기 💻
article thumbnail
728x90

오늘은 DreamHacker의 웹 해킹 워게임 중 하나인 Carve Party를 함께 풀어볼 예정입니다.

 

 

 

Carve Party

Description 할로윈 파티를 기념하기 위해 호박을 준비했습니다! 호박을 10000번 클릭하고 플래그를 획득하세요!

dreamhack.io

 

 

 

문제 정보를 살펴보면 호박을 만 번 클릭하면 플래그를 준답니다.

 

문제 파일을 다운로드하고 열어보면 아래와 같습니다.

 

호박을 클릭하면 다음과 같이 카운트가 줄어든 것을 확인할 수 있습니다.

실제로 그냥 만 번을 클릭해서 플래그를 획득할 수도 있지만 현실로써는 거의 불가능한 거라 우리는 다른 방식으로 접근해야 합니다.

 

그 접근 방법으로는 자동 메크로 프로그램을 작성해서 만 번을 클릭하거나 해당 웹 페이지의 웹 소스를 조작하는 것입니다.

 

그럼 먼저 자동 메크로 프로그램을 작성해서 해당 워게임을 풀어보겠습니다.

 

# 1. 매크로 작성

 

파이썬을 이용해서 아래와 같이 소스 코드를 작성하여 실행하면 됩니다.

아주 간단한 소스코드입니다. for문을 통해 10000번을 돌 때까지 마우스를 자동 클릭합니다. 또한 한 번 클릭하고 나면 0.01초의 딜레이를 주었습니다.

 

편리하지만 그래도 100초(0.01 X 10000) 동안 기다려야 하는 단점이 있습니다. 그래서 우리는 다른 접근법을 활용해서 해당 문제를 풀어볼 예정입니다.

# 2. 웹 소스 조작

윈도우는 F12 키, MacOS는 optin + command + i 키를 이용해서 개발자 도구를 실행할 수 있습니다. 개발자 도구를 실행한 후 상단의 Sources를 클릭하면 해당 웹 페이지의 소스를 볼 수 있습니다. 

또한 소스 코드 106~117를 보면 우리가 클릭한 객체가 #jack-target이라는 것을 확인할 수 있습니다.

106 ~ 117

그럼 이제 우리는 개발자 도구의 Console기능을 이용하여 jack-target을 10001번 클릭해보겠습니다.

 

아래와 같이 코드를 작성하겠습니다.

 

var i = 0;

while(i < 10001) { $('#jack-target').click(); i++; }

 

코드를 쉽게 설명하자면 우리는 0 값을 가진 i 변수를 선언하고, i 가 10001이 될 때까지 while loop를 돌면서 jack-target 객체를 클릭합니다.

 

엔터를 치고 실행하면 기다릴 필요없이 바로 아래와 같이 플래그를 확인할 수 있습니다.

profile

Yozzang의 해킹일기 💻

@요짱

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!