물먹는산세베리아

[xcz.kr]9번 본문

Waregame & CTF/Reversing

[xcz.kr]9번

suntall 2021. 2. 18. 01:59

*SWING CTF STUDY_REVERSING

 

주어진 파일을 실행해보면 ID와 PW를 입력받도록 되어있다.

저 상태에서 엔터를 누르면 who are you?라는 문구가 뜬다.(뜨자마자 사라져서 캡쳐 못함)

문제에서 원하는 ID와 PW를 입력하면 flag를 얻을 수 있음을 쉽게 생각할 수 있다.

 

Immunity Debugger에서 깜

F8을 눌러 하나씩 실행하다보면 해당 지점에서 Input ID: 가 출력됨을 알 수 있다.

그렇다면 F7을 눌러 출력 과정을 살펴보면 된다. (일단 해당 지점에 breakpoint 걸어둠)

 

 

F7을 눌러 들어가면 ID와 PW를 입력 받는 과정을 볼 수 있다. 내가 입력한 값과 파일이 갖고 있는 값을 비교해서 결괄르 보여줄 것이라고 예상되는데 일단 알 길이 없으니 한 줄씩 실행하면서 아까처럼 ID에는 aaa를 PW에는 bbb를 입력하였다.

 

쭉 내리다 보면 EAX 값과 ECX값을 CMP 명령어로 비교하는 걸 알 수 있다. 따라서 aaa를 넣었던 ID 자리에는 XCZ를 넣어야된다는 것을 쉽게 유추할 수 있다.

그 아래 코드를 실행시키기 위해서는 ID부터 맞춰야 하므로 Ctrl+F2를 눌러 다시 실행한 후 breakpoint를 걸어둔 지점으로 이동하여 다시 ID 값을 넣어주었다.

ID는 XCZ, PW는 임의로 bbbs를 넣어주었다.

ID를 맞췄으므로 013910F0으로 이동하지 않고 차례대로 코드가 실행된다. 계속 실행하다보면 PW로 입력 받았던 값과 비교하는 명령어가 나오는데 이 지점에서 PW가 UNL1M1T라는 것을 알 수 있었다.

 

위 과정에서 찾은 ID와 PW를 넣어주면 위와 같은 메세지가 뜨고 F8로 하나씩 실행해보면 아래처럼 플래그 값을 획득할 수 있다.

 

답: RevERsingisfun!!

 

 

 

xcz.kr/START/prob/prob9.php

 

http://xcz.kr/START/prob/prob9.php

 

xcz.kr

 

'Waregame & CTF > Reversing' 카테고리의 다른 글

[Codeengn] Basic RCE L06  (0) 2021.02.20
[SuNiNaTaS] 9번  (0) 2021.02.18
abex' crackme #3  (0) 2021.02.17
abex crack me #1  (0) 2021.02.17
리버싱이란?  (0) 2021.02.16