CodeEngn Basic RCE L16 Write-Up
파일 링크: https://codeengn.com/challenges/
CodeEngn.com [코드엔진] - Challenges
코드엔진은 국내 리버스엔지니어링 정보공유를 위해 2007년 부터 리버스엔지니어링 컨퍼런스 및 비공개 워크숍을 현업 실무자들과 함께 운영하고 있습니다. 리버스엔지니어링이라는 하나의 큰 주제로 소프트웨어 보안에 대한 다양한 시각과 연구주제에 대한 정보공유를 추구하고 있으며, 상업적 이익 없이 작은 예산으로 운영하고 있어 큰 예산으로 운영하는 다른 컨퍼런스에 비해 여러 가지로 부족 할 수 있습니다.
codeengn.com
풀어보자.
파일을 실행하면 창이 하나 뜨고 Name과 Password를 입력할 수 있다. 패스워드를 틀리면 "Wrong password!" 문자열이 출력된다.
code 섹션에서 우클릭 - Search for - All referenced strings 기능을 클릭하면 위와 같이 사용되는 문자열들을 확인할 수 있다. "Wrong password!" 문자열이 사용되는 곳을 살펴보자.
"Wrong password!" 문자열이 사용되는 루틴을 보면 0x0040159F 주소에서 EAX 레지스터의 값과 EBP-0x3C 지점의 값을 비교해서 다르면 "Wrong password!" 문자열이 출력된다. 따라서 디버거에서 파일을 실행하고 패스워드를 입력하면 올바른 패스워드를 알 수 있다.
위와 같이 내가 입력한 password 값인 0x4D2와 0xE4C60D97 값을 비교한다. 따라서 0xE4C60D97 값을 10진수로 입력하면 된다.
10진수 값은 3838184855이다.
Auth Key 값은 10진수 값이다.
'Wargame > CodeEngn Basic RCE' 카테고리의 다른 글
CodeEngn Basic RCE L18 Write-Up (0) | 2019.08.26 |
---|---|
CodeEngn Basic RCE L17 Write-Up (0) | 2019.08.26 |
CodeEngn Basic RCE L15 Write-Up (0) | 2019.08.20 |
CodeEngn Basic RCE L14 Write-Up (0) | 2019.08.20 |
CodeEngn Basic RCE L13 Write-Up (0) | 2019.08.20 |