오늘은 DreamHacker의 웹 해킹 워게임 중 하나인 Carve Party를 함께 풀어볼 예정입니다.
문제 정보를 살펴보면 호박을 만 번 클릭하면 플래그를 준답니다.
문제 파일을 다운로드하고 열어보면 아래와 같습니다.
호박을 클릭하면 다음과 같이 카운트가 줄어든 것을 확인할 수 있습니다.
실제로 그냥 만 번을 클릭해서 플래그를 획득할 수도 있지만 현실로써는 거의 불가능한 거라 우리는 다른 방식으로 접근해야 합니다.
그 접근 방법으로는 자동 메크로 프로그램을 작성해서 만 번을 클릭하거나 해당 웹 페이지의 웹 소스를 조작하는 것입니다.
그럼 먼저 자동 메크로 프로그램을 작성해서 해당 워게임을 풀어보겠습니다.
# 1. 매크로 작성
파이썬을 이용해서 아래와 같이 소스 코드를 작성하여 실행하면 됩니다.
아주 간단한 소스코드입니다. for문을 통해 10000번을 돌 때까지 마우스를 자동 클릭합니다. 또한 한 번 클릭하고 나면 0.01초의 딜레이를 주었습니다.
편리하지만 그래도 100초(0.01 X 10000) 동안 기다려야 하는 단점이 있습니다. 그래서 우리는 다른 접근법을 활용해서 해당 문제를 풀어볼 예정입니다.
# 2. 웹 소스 조작
윈도우는 F12 키, MacOS는 optin + command + i 키를 이용해서 개발자 도구를 실행할 수 있습니다. 개발자 도구를 실행한 후 상단의 Sources를 클릭하면 해당 웹 페이지의 소스를 볼 수 있습니다.
또한 소스 코드 106~117를 보면 우리가 클릭한 객체가 #jack-target이라는 것을 확인할 수 있습니다.
그럼 이제 우리는 개발자 도구의 Console기능을 이용하여 jack-target을 10001번 클릭해보겠습니다.
아래와 같이 코드를 작성하겠습니다.
var i = 0;
while(i < 10001) { $('#jack-target').click(); i++; }
코드를 쉽게 설명하자면 우리는 0 값을 가진 i 변수를 선언하고, i 가 10001이 될 때까지 while loop를 돌면서 jack-target 객체를 클릭합니다.
엔터를 치고 실행하면 기다릴 필요없이 바로 아래와 같이 플래그를 확인할 수 있습니다.
'Wargame > DreamHack' 카테고리의 다른 글
[DreamHack 워게임] devtools-sources 풀이 (0) | 2022.02.06 |
---|---|
[DreamHack 워게임] session 풀이 (0) | 2022.02.05 |
[DreamHack 워게임] proxy-1 풀이 (0) | 2022.02.04 |
[DreamHack 워게임] xss-2 풀이 (0) | 2022.02.02 |
[DreamHack 워게임] csrf-2 풀이 (0) | 2022.02.01 |