BLOG2026-07-11
blog
[🥇 Gold 4] key 검사를 우회해 같은 청크를 두 번 free — DreamHack tcache_dup2 풀이
전편 tcache_dup 은 libc-2.27 이라 같은 청크를 그냥 두 번 free 하면 됐다. 여기(2.30)는 2.29 부터 들어간 tcache 이중 free 검사(key)가 막는다. free 된 청크를 다시 편집(UAF)해 key 를 0 으로 지워 검사를 우회하고, tcache 의 next 를 puts@got 로 덮어(poisoning) get_shell 을 써넣는다. tcache_get 의 key-clear 때문에 대상은 free@got 가 아니라 puts@got 여야 했던 함정까지.
#dreamhack#ctf#pwnable+4