BLOG2026-06-25
blog
[🥉 Bronze 4] gets() 한 줄로 리턴 주소를 read_flag로 — DreamHack basic_exploitation_001 풀이
buf[0x80]에 길이 제한 없는 gets()가 입력을 받는다. 128바이트 버퍼에 saved EBP 4바이트를 더한 132바이트 뒤에 리턴 주소가 있고, 그 자리를 system("cat flag")를 부르는 read_flag() 주소로 덮으면 끝이다. 카나리도 PIE도 없어 오프셋과 주소가 그대로 고정인 교과서적 ret2win.
#dreamhack#ctf#pwnable+5