본문 바로가기

CodeEngn

[CodeEngn] Basic RCE L03

<문제>

 

<풀이>

01번 문제(https://studyforall.tistory.com/65)를 풀었을 때와 같이 문제 파일을 다운로드하고,

7-Zip File Maneger로 압축을 푼다.

 

03.exe를 실행해본다.

독일어인가?

올바른 password를 찾으라는 것 같은데 일단 OK를 클릭한다.

 

입력창이 뜬다.

 

임의의 값을 입력하고 Registrieren을 클릭했다.

 

에러가 뜬다.

 

 

ollydbg를 이용해 03.exe를 열어 코드를 살펴본다.

화면에서 우클릭하여 Search for > All referenced text strings를 클릭한다.

 

스크롤을 내리다보면 004028BD 주소 근방에서

성공메시지로 보이는 텍스트와 에러메시지로 보이는 텍스트 등이 있는 것을 확인할 수 있다.

004028BD와 00402A2A 에는 2G83G35Hs2 라는 알 수 없는 문자열이 있다.

이게 입력해야 할 password일까?

 

입력창에 입력해봤다.

 

성공메시지가 출력된다.

 

2G83G35Hs2를 코드엔진 Auth 페이지에 Register해봤는데 incorrect! 가 뜬다.

문제에서 스트링 비교함수의 이름을 물어봤으니

스트링 비교함수의 이름을 찾아야하는 것 같다.

 

2G83G35Hs2가 있는 004028BD주소에 Breakpoint를 걸었다.

Enter를 눌러 다시 main thread 창으로 이동하고 F9를 눌러 실행시켰다.

 

중간에 실행창이 뜨는데 OK를 눌러 진행시켰고

입력창에 아무 값이나 넣고 Registrieren를 클릭해서 breakpoint에 도달할 때까지 진행시켰다.

 

breakpoint 근처에서 vbaStrCmp 라는 이름의 함수를 호출하는 명령어 줄을 찾을 수 있다.

 

 

 

 

 

<정답제출>

코드엔진 Auth 페이지에 vbaStrCmp를 입력하여 Register했다.

 

Success!!가 떴다.

'CodeEngn' 카테고리의 다른 글

[CodeEngn] Basic RCE L06  (1) 2023.11.02
[CodeEngn] Basic RCE L05  (0) 2023.09.23
[CodeEngn] Basic RCE L04  (0) 2023.09.23
[CodeEngn] Basic RCE L02  (0) 2023.09.23
[CodeEngn] Basic RCE L01  (0) 2023.09.23