본문 바로가기

Security study/CTF

[Reversing] CodeEngn Basic RCE L07

1) 내가 풀어본 과정

파일을 실행해보면

처음 나오는 화면

위의 창이 나오는데 '123456'을 입력 후 Check 버튼을 눌렀더니

나오는 화면

serial이 맞지 않다는 문자열이 나온다. 맞는 시리얼을 입력했을 때 문제가 풀릴 것으로 보인다.

Immunity Debugger에 넣고 Search for -> All referenced text strings 를 했을 때

All referenced text strings 결과

마지막에 보면 "Yep, you entered a correct serial!"이라는 문자열이 보이는데 이것이 맞는 시리얼을 입력했을 때 나오는 문자열일 것 같다. 눌러서 들어간 후 위로 조금 올려보았더니 시리얼로 의심되는 문자열인 4562-ABEX와 L2C-5781이 보인다. 그런데 두 문자열 사이에 ADD 어셈블리어가 여러 개 보이고 두 문자열을 붙여서 입력한 후 나오는 결과가 시리얼이 맞지 않다는 내용임을 확인했으므로 중간에 어떤 문자열들이 더 들어간 값이 정확한 시리얼일 것이라고 예측할 수 있다.

그냥 처음부터 다시 F8로 실행을 하다가 메인 부분을 찾아 들어간 뒤 계속 F8로 진행하다 보니 덤프창에 

이러한 문자열이 나왔다. 이것을 그대로 복사해서 07.exe 파일을 실행했을 때 나오는 창에 넣고 Check 버튼을 눌렀더니

문제가 풀린 것을 확인할 수 있다. 정확한 시리얼은 L2C-5781Ykpfows4562-ABEX 였다.

그런데 문제가 컴퓨터 C드라이브의 이름이 CodeEngn 일 경우 시리얼이 생성될 때 CodeEngn은 'ß어떤것'으로 변경되는가 였기 때문에 flag는 알아내지 못 했다.

 

2) 출제자 의도 풀이

일단 가상머신 window7에서 C드라이브의 이름을 CodeEngn으로 변경했다.

변경 내용

그 후 디버거에 넣고 Search for -> All referenced text strings로  "Yep, you entered a correct serial!" 을 눌러 들어간 후 break point를 설정해주고 Ctrl + F2로 다시 시작 후 F8로 쭉 실행했다. 그 후 '123456'을 시리얼로 입력한 후 F9를 눌러 F8로 쭉 실행한 결과 CodeEngn이 EqfgEngn으로 바뀌는 과정을 확인할 수 있었다. 

 

정확한 시리얼은 L2C-5781EqfgEngn4562-ABEX 이었고,

 

Flag : EqfgEngn

'Security study > CTF' 카테고리의 다른 글

[Reversing] CodeEngn Basic RCE L17  (0) 2021.02.27
[Reversing] 레지스터  (0) 2021.02.26
[Reversing]codeengn Basic RCE L15  (0) 2021.02.25
[Reversing] codeengn Basic RCE L09  (0) 2021.02.24
[Reversing] codeengn Basic RCE L04  (0) 2021.02.24