1. Basic RCE L01
- 문제 설명
HDD를 CD-Rom으로 인식시키기 위해서는 GetDriveTypeA의 리턴값이 무엇이 되어야 하는가?
답 : 5
- 문제 풀이
Step 1. x64dbg 툴을 사용하여 01.exe 파일을 분석한다.
- 해당 파일을 실행해보면 아래와 같은 에러를 확인할 수 있다.
- 또한 push가 4번 들어온 후에 call <JMP .&GetDriveTypeA> 을 통해서 메세지 박스가 띄워짐을 확인할 수 있다.
Step 2. 상세한 분석
- 시작 주소가 00401000임을 확인할 수 있다. 즉, 엔트리 포인트가 해당 주소인 것이다.
- 엔트리 포인트부터 한 줄씩 실행하기 위해서는 F8을 사용한다. → 함수 내부로 들어가지 않고 실행만 시켜준다.
- 한줄씩 내려가다 해당 0040100E 주소에서 걸리면서 **“Make me think you HD is a CD-Rom.”**이라는 문구를 확인할 수 있다
Step 2. GetDriveTypeA가 포함된 줄이니 리턴 값이 어떻게 바뀌는지 확인해보아야 한다.
- 반환값이 저장되는 레지스터는 EAX 레지스터이며 초기 값은 1이다.
- F8로 이동해보면 EAX 레지스터 값이 3으로 바뀌었다. 즉, 리턴 값이 3이라는 말이다.
- DRIVE_CDROM : The drive is a CD-ROM drive (답 : 리턴값 5)
'Information security' 카테고리의 다른 글
[Code Engn] 3. Basic RCE L03 (0) | 2023.05.15 |
---|---|
[Code Engn] 2. Basic RCE L02 (0) | 2023.05.15 |
[Dream Hack] simple_sqli (0) | 2023.05.15 |
[Dream Hack] xss-2 (0) | 2023.05.15 |
[Dream Hack] xss-1 (0) | 2023.05.15 |