본문 바로가기

[Wargame Write-up]/CodeEngn Challenges

[CodeEngn Challenges] Basic RCE 16



16.exe을 실행. Name은 CodeEngn으로 고정이므로, Password에 적당히 1234 기입.     당연한 결과이지만, 틀렸다고 표시하고 있다.


 



Ollydbg로 열어, Password가 일치할 때에도 어떤 문장이든 출력할거라는 가정 하에, 이 프로그램에서 참조하는 문자열을 찾았다. 그래서 발견한 “Good Job!”



이 문자열을 참조하는 주소로 이동 후, “Good Job!”, “Wrong password!”의 분기점을 찾아, 그 위에 있는 CMP 구문을 실행하는 주소에 breakpoint를 걸었다. 실행 후, 첫 시도 때와 같이 Password로 1234를 입력하고 breakpoint 부근까지 진입했다.




CMP 구문에서 비교하는 두 값을 확인




즉 답은 0xE4C60D97의 10진수이다.