ftz

    FTZ level14

    FTZ Level14 ID : level14 PW: what that nigga want? 먼저 ls -l을 이용해 어떤 파일이 있는지 살펴보자 attackme 프로그램에 level14의 권한으로 setuid가 걸려있는 것을 확인할 수 있다. 우선 hint의 내용을 보자 cat hint #include #include main() { int crap; int check; char buf[20]; fgets(buf, 45, stdin); #buf 변수에 45바이트만큼 입력받음 if (check==0xdeadbeef) { setreuid(3095, 3095); system("/bin/sh"); #/bin/sh 쉘 실행 } } fgets 함수에서 BOF가 일어날 수 있다!! 그런데 fgets는 45byte만큼..

    FTZ level13

    FTZ Level13 ID : level13 PW: have no clue 먼저 ls -l을 이용해 어떤 파일이 있는지 살펴보자 attackme 프로그램에 level13의 권한으로 setuid가 걸려있는 것을 확인할 수 있다. 우선 hint의 내용을 보자 cat hint #include int main(int argc, char *argv[]) { long i=0x1234567; char buf[1024]; setreuid(3094, 3094); if(argc>1) #argv로 받는 입력이 1개 이상 있다면 strcpy(buf, argv[1]); #입력 buf로 복사 if(i != 0x1234567){ printf(" Warning: Buffer Overflow !!! \n"); kill(0, 11); ..

    FTZ level12

    FTZ Level12 ID : level12 PW: it is like this 먼저 ls -l을 이용해 어떤 파일이 있는지 살펴보자 attackme 프로그램에 level13의 권한으로 setuid가 걸려있는 것을 확인할 수 있다. 우선 hint의 내용을 보자 cat hint #include #include #include int main(void) { char str[256]; # 256바이트 크기의 문자형 배열 setreuid(3093, 3093); #level13의 프로세스 ID printf("문장을 입력하세요.\n"); gets(str); #gets 함수로 배열 str에 입력을 받음 printf("%s\n", str); #입력받은 내용 출력 } gets 함수에서 BOF가 일어날 수 있다!! 우리의..