BLOG2026-07-11
blog
[🌱 Sprout] 널 하나 빠졌을 뿐인데 flag 가 새어나온다 — DreamHack memory_leakage 풀이
read 는 버퍼 끝에 널을 붙이지 않는다. 16바이트 name 을 널 없이 가득 채우면, printf("%s", name) 이 경계를 넘어 바로 뒤에 붙은 age 와 flag_buf 까지 읽어버린다. flag_buf 에는 case 3 이 /flag 를 미리 담아두니, 출력 한 번으로 flag 가 통째로 새어나온다. 오버플로우 없이 널 하나의 부재만으로 뚫는 메모리 유출.
#dreamhack#ctf#pwnable+4