본문 바로가기
  • True knowledge exists in knowing that you know nothing. -Socrates-

Study/ftz29

FTZ level13 FTZ (Free Training Zone) level13 1. 환경 : window102. VM, Red Hat Linux 9.0, putty id : level13pw : have no clue 1. cat hint 를 사용하여 힌트를 확인합니다. 2. 코드를 분석해보면 long I =1234567 이 저장되어 있고Char형 buf[1024]가 저장되어있고 argc>1일 때 버퍼에 argv[1]가 버퍼에 복사됩니다. i가 0x1234567값이 아니면 경고를 띄우고 프로그램을 종료시킵니다. (0,11) 3. Gdb를 확인하여 stack구조를 확인합니다.분석을 해보면 스텍의 총 크기는 1048byte 이다. + ebp 4 = 1052 이다.리턴 어드레스를 덮어야 하지만 덮는 과정중에 i 를 침범한다. 그.. 2016. 7. 12.
FTZ level12 FTZ (Free Training Zone) level12 1. 환경 : window102. VM, Red Hat Linux 9.0, putty id : level12pw : it is like this (stack bof 문제 입니다) 1. Cat hint 를 통해 힌트를 본다. 11번과 다른점은 일단 attackme라는 프로그램 안에서 buf에 저장될 값을 입력 받습니다. 또한 입력받는 함수 gets입니다(글자수 제한이 없게 입력받는 취약점은 동일) 2. gdb를 통하여 스텍 구조를 확인합니다. (1번과 구조는 동일) 3. 11번과 동일하게 환경변수를 만들어주고 주소를 출력해주는 파일을 만듭니다 (tmp파일에 만들었을 때는 재사용 가능 단,환경변수 이름이 같아야합니다)export (환경변수 이름) =.. 2016. 7. 12.
FTZ level11 FTZ (Free Training Zone) level11 1. 환경 : window102. VM, Red Hat Linux 9.0, putty id : level11pw : what!@#$? ftz 11번 부터는 stack bof문제입니다.저는 환경변수를 사용 할 것입니다. 왜냐하면 lob에서인자 값에 쉘코드를 넣는 것이 나오기 때문에 ftz에서는환경변수를 다루겠습니다. 1. Cat hint 를 사용하여 힌트를 확인합니다 2. 코드를 분석한다.Attackme 라는 프로그램에 인자를 전달 합니다캐릭터형 str[256]의 크기는 256Setreuid Strcpy (str,argv[1])); argv[1]의 값을 str에 복사합니다 3. Strcpy의 글자수를 제한해서 받지못하는 취약점을 이용해봅시다 4. .. 2016. 7. 12.
FTZ level10 FTZ (Free Training Zone) level10 1. 환경 : window102. VM, Red Hat Linux 9.0, putty id : level10pw : interesting to hack! 1. cat hint를 사용하여 힌트를 본다. 2. 공유메모리란? 공유메모리는 하나의 프로세스가 아니라 여러 프로세스가 함께 사용하는 메모리를 말합니다. 공유메모리 함수 1.필요한 해더 선언 #include #include 2. 사용 함수 shmget (key_t key,int size,int shmflg) --> 공유 메모리를 만든다. key= 공유메모리를 식별할 수 있는 번호(level10에서는 7530) size= 크기 shmflg= 옵션 1) IPC_CREAT = 공유메모리 생성 (이미 .. 2016. 6. 23.
FTZ level9 FTZ (Free Training Zone) level8 1. 환경 : window102. VM, Red Hat Linux 9.0, putty id : level9pw : apple 1. cat hint를 사용하여 힌트를 확인한다. 2. 코드 분석1) Char Buf2[10] 의 공간에 10이라는 공간을 준다 2) Char Buf [10] 라는 공간에 10이라는 공간을 준다. 3) feget() 은 (scanf와 같은 역할이다 ) 어떤 값을 입력 받는다. (글자수 제한이 없는 bof취약점을 이용한다.) 4)strcmp 두개의 글자를 비교한다 같으면 0을 반환 앞에 단어가 사전에 먼저 나요면 -1을 반환한다. (level9에서는 buf2공간과 “go”글자를 비교) 3. 공격방법 1) Buf의 공간에 넘치는.. 2016. 6. 22.
FTZ level8 FTZ (Free Training Zone) level8 1. 환경 : window102. VM, Red Hat Linux 9.0, putty id : level8pw : break the world 1. Cat hint를 사용하여 힌트를 확인한다.2. 파일의 용량을 찾는 find –size 라는 명령어를 사용한다. find / -size 명령어를 사용 할 때 단위가 중요한데 단위는 꼭 알아두도록 합시다. b- 블록 단위 512kb c - byte k - kbyte w - 2byte아무런 단위를 붙이지 않는 경우 : 디폴트 값 b (level8문제 에서 사용하는 단위는 c (byte) 입니다.) 3. /etc/rc.d/found.txt라는 텍스트 파일을 cat명령으로 열어봅니다. 4. 존더리퍼라는 툴을 .. 2016. 6. 22.