BLOG2026-07-06
blog
[🥈 Silver 4] free() 이전에 이미 끝난 취약점 — DreamHack hook 풀이
malloc으로 받은 청크의 첫 16바이트를 그대로 주소·값으로 써버리는 한 줄이 문제의 전부다. free()가 두 번 불리지만 실제로는 그 이전 write-what-where 한 방으로 __free_hook을 one_gadget으로 덮고, 첫 free() 호출만으로 셸이 뜬다. double free도, fastbin dup도 필요 없다.
#dreamhack#ctf#pwnable+5