※ 작년에 작성한 라이트업입니다. ※ 

 

 

 

Basic RCE L17

Key 값이 BEDA-2F56-BC4F4368-8A71-870B 일때 Name은 무엇인가 
힌트 : Name은 한자리인데.. 알파벳일수도 있고 숫자일수도 있고.. 
정답인증은 Name MD5 해쉬값(대문자

 

 

 

1.     임의의 한자리 숫자와 주어진 키 값을 넣어서 입력을 해본다. ‘Please Enter More Chars…’라고 뜨면서 제대로 입력되지 않는 것을 확인할 수 있다.

2.     올리 디버거로 연 후 ‘Please Enter More Chars…’가 뜨는 부분을 확인해본다.

 

 

3.     EAX3을 비교하는 부분에 BP를 걸어서 실행시켜본다. 아래 코드를 확인해보면 3보다 작을 경우 문제의 메시지가 뜨면서 제대로 실행이 되지 않게 된다. 또한 이때 EAX의 값을 확인해보면 1임을 확인할 수 있다. , Name의 값이 3글자가 되지 않으면 글자를 더 입력하라고 뜨게 되는 것이다.

 

 

4.     EAX1이어도 돌아갈 수 있도록 하기 위해 CMP EAX,0으로 코드를 변환한다.

 

 

5.     수정한 파일을 저장하기 위해 우클릭->Copy to executable->Selection을 클릭한다.

 

 

6.     우클릭->Save file을 선택한 후 저장한다.

 

 

7.     수정한 파일을 이용해서 임의의 한글자를 무작위로 대입해본다. Name‘F’임을 확인할 수 있다.

 

8.     FMD5 해시값을 구한다. 이것이 이 문제의 정답이 된다.

728x90

'CTF > 리버싱' 카테고리의 다른 글

CodeEngn(코드엔진) basic 19  (0) 2020.06.25
CodeEngn(코드엔진) basic 18  (0) 2020.06.25
CodeEngn(코드엔진) basic 16  (0) 2020.06.25
CodeEngn(코드엔진) basic 15  (0) 2020.06.25
CodeEngn(코드엔진) basic 14  (0) 2020.06.25