무기는 끈기

[wargame / Dreamhack] '64se64' 문제 write-up 본문

Hacking/Wargame

[wargame / Dreamhack] '64se64' 문제 write-up

김유비야 2023. 10. 19. 21:48

오늘 풀 워게임은 이것이다.

https://dreamhack.io/wargame/challenges/872

 

64se64

Description "Welcome! 👋"을 출력하는 html 페이지입니다. 소스 코드를 확인하여 문제를 풀고 플래그를 획득하세요. 플래그 형식은 DH{...} 입니다.

dreamhack.io

 

[서버 생성하기] 버튼을 클릭해서 문제 페이지로 접속한다.

페이지의 소스 코드를 살펴보자(우클릭 > 페이지 소스 보기)

 

음.. 굉장히 의심스러운 코드가 보인다.

<input type="hidden" name="64se64_encoding" value="IyEv

value="IyEv 어쩌구저쩌구"

길고 긴 쌍따옴표 안의 코드를 복사한다.

 

디코딩을 해줘야 하는 느낌이 팍팍 든다.

구글에 '64 디코드' 라고 입력하고 가장 상단에 뜨는 사이트에 접속한다.

 

해당 사이트에 접속해 빈 입력창에 아까 그 IyE~ 복사한 것을 붙여넣어준다.

그리고 하단의 초록색 [디코딩] 버튼을 클릭한다.

 

디코딩이 되면 하단의 비어있던 입력창에 파이썬 코드가 생겨난다.

#!/usr/bin/env python3
asc=[68, 72, 123, 98, 101, 48, 52, 54, 98, 55, 53, 50, 50, 97, 97, 50, 101, 50, 56, 102, 50, 55, 54, 101, 48, 99, 57, 49, 48, 53, 50, 49, 102, 50, 51, 97, 48, 53, 56, 55, 48, 48, 53, 97, 56, 51, 55, 55, 51, 55, 48, 97, 49, 49, 101, 53, 101, 52, 100, 99, 49, 53, 102, 98, 50, 97, 98, 125]
arr=[0 for i in range(68)]
for i in range(0,68):
    arr[i]=chr(asc[i])
flag=''.join(arr)
print(flag)

 

이 파이썬 코드를 돌려보면 Flag가 나올 것 같다.

VSCode 를 실행해서 파이썬 코드를 돌려줬다.

 

DH{} 형태의 Flag를 찾았다!

 

움하하~

비기너 수준의 워게임들이지만 그래도 다양한 분야로 하나하나 풀어나가는 감각이 좋다.
처음엔 구글링 없이는 안됐지만, 이젠 대략적인 패턴을 알게되니 이것저것 적용해보다보면 정말로 스스로 풀게 되는 문제가 쌓여간다.