Systemhacking 14

[FTZ] level14

level14 (password : what that nigga want?) level14에 접속을 해서 'ls-l'를 통해 level15의 권한이 걸려 있는 'attackme'라는 setuid인 파일과 'hint' 파일이 존재하는 것을 확인하였다. 'cat' 명령어를 통해 'hint' 파일의 내용을 확인하였다. 더보기 ※ 'hint' 파일 해석 #include #include main() { int crap; int check; char buf[20]; (1) fgets(buf,45,stdin); (2) if (check==0xdeadbeef) { setreuid(3095,3095); (3) system("/bin/sh"); (4) } } (1) 20byte 크기의 'buf' 변수 선언 (2) 'fge..

Systemhacking/FTZ 2021.05.25

[FTZ] level13

level 13 (password : have no clue) level13 에 접속을 해서 'ls -l' 를 통해 level14 권한이 걸려 있는 'attackme' 라는 setuid인 파일과 'hint' 파일이 존재하는 것을 확인하였다. 'cat' 명령어를 통해 'hint' 파일의 내용을 확인하였다. 더보기 ※ 'hint' 파일 해석 #include main(int argc, char *argv[]) { long i=0x1234567; (1) char buf[1024]; (2) setreuid( 3094, 3094 ); (3) if(argc > 1) strcpy(buf,argv[1]); (4) if(i != 0x1234567) { (5) printf(" Warnning: Buffer Overflow ..

Systemhacking/FTZ 2021.05.23

[FTZ] level12

level 12 (password : it is like this) level12에 접속을 해서 'ls -l' 를 통해 level13 권한이 걸려 있는 'attackme' 라는 setuid인 파일과 'hint' 파일이 존재하는 것을 확인하였다. 'cat' 명령어를 통해 'hint' 파일의 내용을 확인하였다. 더보기 ※ 'hint' 파일 해석 #include #include #include int main( void ) { char str[256]; (1) setreuid( 3093, 3093 ); (2) printf( "문장을 입력하세요.\n" ); (3) gets( str ); (4) printf( "%s\n", str ); (5) } (1) str 배열의 크기를 256 byte로 지정 (2) leve..

Systemhacking/FTZ 2021.05.23

[FTZ] level 11

level11 (password : what!@#$?) level11에 접속을 해서 'ls -l' 를 통해 'attackme' 라는 setuid인 파일과 'hint' 파일이 존재하는 것을 확인하였다. 'cat' 명령어를 통해 'hint' 파일 내용을 확인하였다. 더보기 ※ 'hint' 파일 해석 #include #include int main( int argc, char *argv[] ) { char str[256]; (1) setreuid( 3092, 3092 ); (2) strcpy( str, argv[1] ); (3) printf( str ); (4) } (1) str 배열의 크기를 256 바이트로 지정 (2) level12의 사용자 ID (3) 사용자가 입력한 값을 'strcpy' 를 통해 'st..

Systemhacking/FTZ 2021.05.17

[FTZ] level10

level 10 (password : interesting to hack!) 'ls'을 통해 'hint '파일이 존재하는 것을 확인한 후, 'cat' 명령어를 통해 내용을 확인하였다. '공유 메모리'를 이용하였고, 공유 메모리 식별 번호인 'key_t = 7530' 라는 정보를 통해 level11의 권한을 얻는 문제이다. 즉, '7530' 위치에 접근하는 소스코드를 작성해야 한다. '공유 메모리'는 프로세스 간에 공유해서 쓰는 메모리를 의미한다. '공유 메모리'는 공유 메모리를 사용할 프로세서 중 하나가 조건을 설정해 공유 메모리를 만들고, 그 외의 프로세서가 필요한 정보를 이용해 공유 메모리를 같이 사용하는 것이다. 더보기 ※ 공유 메모리 설정할 때 쓰이는 함수 1. shmget() - 공유 메모리를 ..

Systemhacking/FTZ 2021.05.17