HackChang

[CodeEngn] Advance RCE L09 문제 풀이 본문

W4RG4M3/R3V3RS1NG

[CodeEngn] Advance RCE L09 문제 풀이

HackChang 2020. 2. 2. 16:16

L09 문제

Advance RCE L09

Password는 무엇인가

 

Password를 찾는 문제이다.

PEID부터 올려보도록 하겠다.

 

아직 잘 모르겠어서 올리디버거에 올려봤다.

F8을 눌러 한줄씩 실행하면서 찾아보도록 하겠다.

프로그램에 name과 password는 1234도 통일하고 진행했다.

 

CALL되는 부분을 F7로 들어가서 확인 결과 Username이 DonaldDuck이라는 것을 알게되었다.

 

다시 name을 DonaldDuck으로 바꾸고 Password에 1234를 넣고 진행해봤다.

해당 CALL문에서 걸리기때문에 F7로 들어가보도록 하겠다.

 

뭔가 입력값을 비교하는 부분이라고 생각되어 한줄씩 진행해봤다.

 

EAX에 값을 넣는것을 볼 수 있었고, 아래 EAX와 ECX를 비교하는 것을 볼 수 있었다. 

4D2는 10진수로 Password에 입력한 1234라는 것을 알 수 있었고, ECX의 데이터값이 Password일 것이라고 생각되어 들어가봤다.

CMP EAX, DWORD PTR DS:[ECX}는 ECX의 데이터값과 비교를 한다. 데이터 값은 리틀엔디언 방식으로 뒤집어서

0088228F가 나오므로, 이를 10진수로 바꿔 인증해봤다.

 

하지만 원하는 결과를 출력할 수 없었고, 코드를 수정하는 문제라고 생각되어

코드를 아래와 같이 수정했다.

 

클리어가 된 것을 볼 수 있었고, 사이트에 인증을 했다.

Comments