Jaeseo's Information Security Story

Codeengn basic RCE 3번 문제 본문

Write UP/Codeengn - basic

Codeengn basic RCE 3번 문제

Jaeseokim 2019. 10. 14. 01:52

03.exe - 비주얼베이직에서 스트링 비교함수 이름은?

프로그램을 시작하면 이러한 알림창이 뜨게 되고

 

이러한 화면을 통해 Regcode에 비밀번호를 입력하여 문제에서 요구하는 “비주얼베이직에서 스트링 비교함수”를 이용하여 비밀번호가 맞는지 체크를 하여 작동하는 형식이다. 이때 X32DBG를 이용하여서 비밀번호를 입력시 발생하는 인터럽트를 체크 하여 확인 하면 된다.

아무 키값을 입력한다음 Regisrieren 버튼을 눌러 “비주얼베이직에서 스트링 비교함수”를 실행하여 인터럽트를 발생 시킨다.

위와 같은 화면이 뜨게 되고 STRING 비교를 하게 된 것을 확인 할수 있다.

이때 X32DBG에서 인터럽트를 검색을 하여 어떤 호출이 발생했는지 검색을 한다.

다양한 인터럽트가 검색이 되어진다.

이때 String 비교함수를 찾아야 한다. 그렇기 때문에 str, string 등과 같은 키워드를 통해 검색을 해본다.

str키워드로 검색을 했을 때 이와 같이 5가지의 결과가 나오게 되는데

처음에 있는 vbaStrCmpvisual basic String Compare의 약어로 추측이 된다.

들어가서 확인을 해본다.

들어가 보면 위와 같이 암호로 추정이 되는 문자를 PUSH 한다음 vbaStrCmp Call 하고 있는 것을 볼수 있다.

이때 위에 있는 암호를 입력하여 예상이 맞는지 확인 해본다.

실제로 정확하게 동작을 하였고 비주얼베이직에서 스트링 비교함수 이름은 “vbaStrCmp”이라는 것이라는 것을 알수 있다.

정답 : vbaStrCmp

03.7z
0.00MB

pass : codeengn

'Write UP > Codeengn - basic' 카테고리의 다른 글

Codeengn Basic RCE 6번 문제  (0) 2019.11.15
Codeengn Basic RCE 5번 문제  (0) 2019.10.14
Codeengn Basic RCE 4번 문제  (0) 2019.10.14
Codeengn Basic RCE 2번 문제  (0) 2019.10.14
Codeengn Basic RCE 1번 문제  (0) 2019.10.14
Comments