문제풀이

[Dreamhack] rev-basic-0 문제풀이

suuuullloc 2023. 4. 30. 02:15

# 문제링크 : https://dreamhack.io/wargame/challenges/14/

 

rev-basic-0

Reversing Basic Challenge #0 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출

dreamhack.io


링크를 따라 들어가면 다음과 같은 창이 나온다. 문제 파일을 다운로드해보자.

 

문제 파일을 보면 아래와 같은 실행파일이 보이고 실행파일을 실행하면 다음과 같은 창이 뜬다. 여기서 correct를 출력하는 입력값을 찾는 게 문제인 것 같다.

 

바이너리를 분석하기 위해 x64dbg를 이용해 chall0.exe 파일을 열어보았다.

 

correct를 출력하는 입력값을 찾아야하기 때문에 문자열 참조 찾기 기능을 통해 correct만 검색해본다.

 

correct라고 쓰여있는 문자열로 이동해보면 아래 사진과 같이 나온다. correct를 출력할 때, wrong을 출력할 때가 나와있는 느낌이다.

 

해당 바이너리를 분석해보면 위의 함수가 핵심키가 되는 듯하다.

 

해당 함수를 클릭해보면 아래 사진과 같이 이동하는데 여기서 키처럼 보이는 문자열인 Compar3_the_str1ng을 발견했다.

 

해당 문자열을 답에 넣어보니 정답이었다.

 

문제 해결!