광팔이 보안이야기

[xcz.kr] 9번 Easy Reversing 본문

Wargame/xcz.kr

[xcz.kr] 9번 Easy Reversing

광팔2 2021. 1. 16. 20:44
반응형

문제

파일을 다운로드하면 REV.exe 파일을 준다. 일단 문제는 리버싱 문제다.

 

파일을 실행 시키면 ID와 PW 입력 칸이 나온다. ID를 입력하면 PW입력 칸이 생기며 PW 입력하면 종료된다.

 

OLLYDBG로 실행을 시켜보자 실행시키면 아까랑은 다르게 나온다.

who are you??? 문구가 나온다. 이걸 이용해보자

 

문구를 검색해서 who are you를 따라가면 위에 long time no see! / this is key :: 가 나온다.

 

this is key에 답이 나오게 하면 되는 것 같다.

 

위로 조금 더 올리면 input id 와 input pw 가 있다.

 

일단 봤을때 who are you???로 안 가고 long time no see!로 가면 되니 점프 부분을 살펴보았다.

 

001710F70017112A 부분에 bp 줬다. 이 부분 두 개가 who are you 구문으로 점프를 하는 구문이다.

 

여기서 보면 bp 부분이 JNZ 점프인데 이걸 이용해서 내가 무슨 값을 적더라도 ZF 값이 1로 하면 점프를 하지 않고 그대로 밑으로 내려갈 것이다.

 

001710F7
0017112A

플레그를 쉽게 얻을 수 있다. 너무 간단하게 얻어 좀 더 살펴보자.

 

이번에는 ID와 PW를 구하는 방법으로 해볼 생각이다.

 

 

다시 처음부터 시작해보면 id와 pw 입력 구간 밑에를 보면 한 줄씩 실행하다 보면 001710D4를 보면 JNZ로 점프 문인 것을 볼 수 있다. 여기서 점프를 할 수도 있고 안 할 수도 있다.

 

만약 점프를 한다면 그 이유는 두 개를 비교를 했을 때 서로 다른 값이면 ZF 값이 0이 나와 점프를 하게 된다.

여기서 위에처럼 그냥 ZF 값을 1로 바꾸고 그냥 넘기면 되지만 ID를 찾아야 한다.

 

그럼 001710D4JNZ문을 실행하기 위해 비교하는데 위에 바로 두줄의 값을 이용한다. 위에는 EAX값과 ECX 값이 담길 것이다.

001710D0

001710D0에 bp를 걸고 보면 EAX에 "asd"가 담긴다.(입력한 값) / ECX에 "XCZ"가 담긴다.(비교할 값)

 

자 이제 ID를 알게 되었다. 이제 PW만 찾으면 된다.

 

001711030을 보게 되면 아까 ID 구했던 방법과 똑같은 걸 알 수 있다. 

 

다시 실행시켜 ID를 "XCZ"로 하고 PW를 EAXECX를 보면 되겠다.

PW를 구했다. 

다시 시작해 ID는 "XCZ", PW는 "UNL1M1T"를 적어 플래그를 얻어보자.

 

 

플래그가 나왔다.

 

플래그 값 : RevERsingisfun!!

반응형

'Wargame > xcz.kr' 카테고리의 다른 글

[xcz.kr] 11번 Google Is Our Friend.  (0) 2021.01.16
[xcz.kr] 10번 Frozen Monitor  (0) 2021.01.16
[xcz.kr] 8번 Google Is Our Friend.  (0) 2021.01.15
[xcz.kr] 7번 Do you know this file?  (0) 2021.01.15
[xcz.kr] 6번 Adieu, Starcraft1!  (0) 2021.01.15
Comments