일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 시스템프로그래밍
- 리버싱
- 어셈블리어
- Leviathan
- 워게임
- 취약점
- pwn.college
- C언어
- C++
- 시스템 프로그래밍
- kernel
- write up
- Pwnable.kr
- 시그널
- css
- 컴퓨터구조
- 시스템해킹
- 리눅스 커널
- radare2
- 프로그래밍
- 리눅스커널
- 커널
- pwncollege
- wargame
- 리눅스
- 시스템
- px4
- 드론
- 알고리즘
- Bandit
- Today
- Total
목록정보보안 (179)
Computer Security
디렉토리 탐색 API DIR *opendir(const char *name); 파라미터 - name : 파일 경로 반환 값 - 성공 시 열린 디렉토리 스트림 포인터 - 실패 시 NULL 포인터 디렉토리를 오픈 후, 디렉토리 내에 있는 파일들을 차례로 탐색하는 API (readdir) struct dirent *readdir(DIR *dirp); 파라미터 - dirp : 디렉토리 스트림 포인터 반환 값 - 성공 시 디렉토리 엔트리 포인터 - 실패 시 NULL 포인터 struct dirent struct dirent { ino_t d_ino; off_t d_off; /* XXX */ unsigned short d_reclen; unsigned char d_type; char d_name[256]; }; d_..
파일의 이름을 argument로 받아다가 해당파일의 속성을 읽어보고 출력하는 예제를 해보자. 1. stat.c 파일을 생성한다. 2. file 이름과 file size를 출력 해보자. 3. 이 파일이 레귤러인지 디렉토리인지 출력 해보자.(st 모드) 4. 전체 코드이다. 코드 분석 1. 파라미터로 파일이름을 받아온다. 2. 입력을 받은 해당 파일에 대해서 stat명령어로 파일의 속성을 조회한다. 3. 파일의 사이즈와 st_mode의 파일 타입을 if문을 이용해서 디렉토리인 경우와 레귤러 파일인 경우 따로 출력 되게 작성한다. 5. gcc명령어를 이용해 컴파일 하고 실행 해보자. stat 하고 싶은 파일도 뒤에 적어줘야 한다. 6. 아주간단한 hello world 출력 파일을 만들자. 7. ./stat h..
파일 속성 조회 int stat(const char *pathname, struct stat *statbuf); int fstat(int fd, struct stat *statbuf); int lstat(const char *pathname, struct stat *statbuf); 파라미터 - pathname : 파일 경로 - fd : 열린 파일 디스크립터 - statbuf : 파일 속성 버퍼 반환 값 - 성공 시 0 - 실패 시 -1 stat 명령같은 경우, 소프트 링크같은경우에 소프트링크가 가르키는 원본파일의 정보를 가져온다. 하지만, lstat 의 경우 pathname이 가르키는 파일이 심볼릭링크 파일인 경우, 원본파일의 정보를 가져오는 것이 아니라, 심볼릭 링크파일의 정보를 가져온다. 어떤 정보..
하드링크 ln TARGET LINK_NAME 1. 일단 echo hello > hello_world 명령어를 이용해서 hello_world 파일을 생성해준다. 2. ln hello_world hello_hardlinked 명령어를 이용해서 하드링크를 만들어준다. 3. ls -al 을 이용해 주면 아래의 그림과 같이 6바이트로 같은 것을 알 수 있다. 4.외관상에서는 어떤게 하드링크된 파일인지 구분하기 어렵다. 이를 확인하기 위해, 파일의 속성을 읽을 수 있는 명령어인 stat를 사용해보자. hello_world 를 먼저 확인 해보자. Inode : 1190944 , links : 2 (일반적으로 1개이다. 하드링크를 생성했기 때문) 5. hello_hardlinked를 확인 해보자. Inode : 119..