Wargame/HackerSchool FTZ
-
lvl 12Wargame/HackerSchool FTZ 2019. 1. 15. 22:18
→ 힌트 정보 열람. → setreuid 함수와 gets 함수를 볼 수 있음. bof 문제로 추측. 따라서, gdb를 통해 디버깅. [level12@ftz tmp]$ gdb -q attackme(gdb) set disassembly-flavor intel(gdb) disas mainDump of assembler code for function main:0x08048470 : push ebp0x08048471 : mov ebp,esp0x08048473 : sub esp,0x1080x08048479 : sub esp,0x80x0804847c : push 0xc150x08048481 : push 0xc150x08048486 : call 0x804835c 0x0804848b : add esp,0x100x080..
-
lvl 11Wargame/HackerSchool FTZ 2019. 1. 13. 21:38
→ 힌트 정보 열람. → setreuid 함수 및 strcpy 함수를 볼 수 있다. BOF 문제같지만, strcpy 함수의 인자를 보면, argv[1]을 str로 넣고, print(str)을 한다. 포맷스트링 문제도 된다. → BOF 문제로 먼저 접근해, tmp로 복사한 후, gdb로 디버깅한다. 0x08048470 : push ebp0x08048471 : mov ebp,esp0x08048473 : sub esp,0x1080x08048479 : sub esp,0x80x0804847c : push 0xc140x08048481 : push 0xc140x08048486 : call 0x804834c 0x0804848b : add esp,0x100x0804848e : sub esp,0x80x08048491 : ..
-
lvl 10Wargame/HackerSchool FTZ 2019. 1. 12. 15:17
→ 힌트 정보 열람. → 공유 메모리라는 힌트를 확인할 수 있으며, 개념공부는 아래의 URL을 참고했다. (개념 이해 추천 : https://www.joinc.co.kr/w/Site/system_programing/IPC/SharedMemory) → key_t 값이 7530임을 의식하고, 공유 메모리 관련 명령어인 "ipcs" 를 실행한다. → key 부분에 0x00001d6a 이고, 해당 데이터를 10진수로 변환하면 7530이다. 해당 공유 메모리 세그먼트의 소유자는 root이며, 권한은 666, byte의 크기는 1028bytes인 것을 볼 수 있다. → 해당 공유메모리를 사용하기 위한 코드를 작성한다. (공유 메모리 함수 사용법 확인) [shmget 함수의 사용법] shmget([key_t key]..
-
lvl 09Wargame/HackerSchool FTZ 2019. 1. 11. 10:23
→ 힌트 정보 확인. → BOF 문제로 확인된다. 일단 소스가 오픈되어서 해당 소스를 바탕으로 컴파일한 후, gdb로 디버깅한다. 0x08048420 : push ebp0x08048421 : mov ebp,esp0x08048423 : sub esp,0x280x08048426 : and esp,0xfffffff00x08048429 : mov eax,0x00x0804842e : sub esp,eax0x08048430 : sub esp,0xc0x08048433 : push 0x80485540x08048438 : call 0x8048350 0x0804843d : add esp,0x100x08048440 : sub esp,0x40x08048443 : push ds:0x8049698 0x08048449 : push..