BLOG2026-07-09
blog
[🌱 Sprout] 한 바이트만 넘쳐도 셸이 열린다 — DreamHack off_by_one_001 풀이
read_str 안의 ptr[len] = 0 이 딱 한 바이트를 버퍼 밖으로 흘린다. 20바이트를 정확히 채워 넣으면 그 NUL 이 바로 뒤에 붙은 int age 의 최하위 바이트를 0으로 덮고, age == 0 분기가 열리며 get_shell 이 실행된다. 오버플로우 한 바이트로 분기 하나를 뒤집는 전형적인 off-by-one.
#dreamhack#ctf#pwnable+4