2026/05/28 2

260528 [Dreamhack] Format String Bug

문제 https://dreamhack.io/wargame/challenges/356 로그인 | Dreamhack dreamhack.io 문제 파일 풀이문제 파일들 풀이 진행할 폴더로 이동하기 작업 표시줄에 있는 ubuntu 관리자 버전 열기 동작 확인해보기계속 입력받고 입력값을 출력한다. 1. fsb_overwrite.c 코드분석// Name: fsb_overwrite.c// Compile: gcc -o fsb_overwrite fsb_overwrite.c#include #include #include void get_string(char *buf, size_t size) { ssize_t i = read(0, buf, size); if (i == -1) { perror("read"); ..

260528 PIE, RELRO 개념정리

1. PIE (Position-Independent Executable)PIE는 바이너리(실행 파일)가 메모리의 무작위 주소에 매핑되어도 정상적으로 실행될 수 있도록 만들어주는 보호 기법이다.ASLR이 메모리 영역을 섞을 때, 코드 영역(바이너리 자체)까지 랜덤화할 수 있도록 지원하는 핵심 기술이다. ELF 파일 포맷과 재배치(Relocation)리눅스의 실행 파일 형식인 ELF는 크게 두 가지 형태로 존재한다.Executable (실행 파일): 주소가 고정되어 있어 재배치가 불가능하다.Shared Object (SO, 공유 오브젝트/라이브러리): 메모리의 어느 주소에 적재되어도 코드의 의미가 보존되도록 설계되어 재배치가 가능하다.PIE가 적용된 바이너리는 내부적으로 Executable이 아닌 SO(Sh..