2010/01 15

Linux - fcntl File control

/* * http://sosal.tistory.com/ * made by so_Sal */ fcntl - File control #include #include int fcntl(int fd, int cmd); int fcntl(int fd, int cmd, long arg); int fcntl(int fd, int cmd, struct flock *lock); (flock 구조체에 대해서는 게시하지 않았습니다. ) 첫번째 매개변수 fd부터 보겠습니다. fd - 파일 서술자(file descriptor) ㄴ 제어하기를 원하는 파일의 서술자를 지정하는 매개변수입니다. 리눅스 시스템에서 모든 프로세스는 0, 1, 2 라는 3개의 파일 서술자는 미리 정해져있습니다. 각각 입력(0), 출력(1), 에러(2)를 ..

Hackerschool Level11 Exploit

/* * http://sosal.tistory.com/ * made by so_Sal */ 오랜만에 다시 해커스쿨 잡아봤습니다.. ㅠㅠ ID :: Level11 PW :: what!@#$? 이 포스트에서는 문제의 풀이에대한 요점만 다룹니다. 따라서 BOF의 이해는 아래 링크루 ^-^ LINK_ #include #include int main( int argc, char *argv[] ) { char str[256]; setreuid( 3092, 3092 ); strcpy( str, argv[1] ); printf( str ); } 256 크기의 배열이 선언되어있고, 이 스택을 overflow 시켜서 ret값을 바꾸면 되겠네요. 배열을 선언할때마다 dummy 메모리 (잉여공간)이 생성됩니다. 따라서 메모리..

Linux/Linux_technic 2010.01.10

Race condition 해킹 기법 문제

/* * http://sosal.tistory.com/ * made by so_Sal */ 2009 11월 16~17일 24시간동안 진행된 시립대학교 idea bank 해킹대회 chal0 문제입니다. 아래는 문제 소스입니다. (바로 공개되었습니다.) /home/chal1/keyfile 을 읽어라! 가 문제의 목적입니다. //----------- 문제 소스 chal0 -------------// #include #include #include int main(int argc, char * argv[]) { int loop; char buffer[512]; memset(buffer, 0, sizeof(buffer)); if (argc != 2) return 0; if (strlen(argv[1]) >= 30..

Linux - BOF metasploit을 이용한 간단한 buffer over flow

/* * http://sosal.tistory.com/ * made by so_Sal */ BOF에 대해 기본적인 지식이 없으신 분은 아래 링크에 가셔서 글을 읽고오세요~ LINK_ /* * 사실 요즘 나오는 OS들은 BOF 버그가 통하지 않습니다.. * 그럼에도 이 해킹기법을 공부하는 이유는.. * 컴퓨터 메모리 구조에 대한 이해(?)를 * 극대화 시킬 수 있는 재미있는 놀이이기도 하고.. * ftz.hackerschool.org 워게임 문제들중.. * 대략 50% 만큼의 비중을 차지하고 있는 * 공격기법이기도.. ㅎㅎ * 여튼 한번 Buffer over flow를 한번 일으켜 봅시다.. ㅠ * 아래 bof 실습 환경은 제가 리눅스 구버전을 가지고 있지 못해서 * ftz.hackerschool.org ..