경희대학교 장대희 교수님의 소프트웨어보안 수업을 기반으로 정리한 글입니다.
FD(File Descriptor)
리눅스, 유닉스 등에서 프로세스가 파일, 소켓, 파이프 등 시스템 자원에 접근하기 위해 운영체제로부터 할당받는 정수값
표준
- 0: 표준 입력(Standard Input, STDIN)
- 1: 표준 출력(Standard Output, STDOUT0
- 2: 표준 오류(Standard Error, STDERR)
현재 쉘 FD 확인

-la: long format(자세히), all(모두)
proc: 커널이 제공하는 가상 프로세스 정보 디렉토리
$$: 현재 쉘의 프로세스 ID
fd: 해당 프로세스의 파일 디스크립터 목록

리다이렉트
리다이렉션 문법
| 문법 | 의미 |
| > 또는 1> | 표준 출력(stdout)을 파일로 보냄 |
| 2> | 표준 에러(stderr)를 파일로 보냄 |
| < | 표준 입력(stdin)을 파일에서 읽음 |
| >> | (append) 기존 파일 끝에 추가로 기록 |
| 2>$1 | 표준 에러(2)를 표준 출력(1)으로 합침 |
stdout 리다이렉트

stderr 리다이렉트 2>


stdout과 stderr를 파일로 합치기

>, >>

FD 수정하기


파이프

pwnable.kr 문제 풀이




-> 버퍼 안에 "LETMEWIN"을 넣어야 하고, 이 문자열을 넣기 위해 버퍼 조작 방법을 찾아야 한다.




'CS > 소프트웨어보안' 카테고리의 다른 글
| 8. Toyransome (0) | 2025.12.09 |
|---|---|
| 6. Reversing (0) | 2025.12.06 |
| 5-1. 소프트웨어 보안을 위한 리눅스 기초 (0) | 2025.10.17 |
| 4-3. 어셈블리 실습 (0) | 2025.10.17 |
| 4-2. GDB 실습 (0) | 2025.10.15 |