ZINO
HomeResearchBlogTagsPlaygroundStackPortfolio
⌘K

레드팀 · AI 자동화 · 시스템 엔지니어링

직접 만들고, 실험하고, 기록한다

개인정보처리방침·이용약관

© 2026 ZINO LAB

← 태그 목록

Tag Archive

#double-free

이 태그가 포함된 글을 최신순으로 모아봤어요.

2
posts
BLOG2026-07-11
[🥇 Gold 4] key 검사를 우회해 같은 청크를 두 번 free — DreamHack tcache_dup2 풀이
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
 
BLOG2026-07-11
[🥈 Silver 1] 같은 청크를 두 번 free — DreamHack tcache_dup 풀이
blog

[🥈 Silver 1] 같은 청크를 두 번 free — DreamHack tcache_dup 풀이

free() 하고 전역 포인터를 안 지우는 데다 glibc 2.27 이라 double-free 검사도 없다. 같은 청크를 두 번 해제하면 tcache 리스트가 자기 자신을 가리키는 루프가 되고, 이걸 이용해 다음 할당의 fd 를 free@GOT 로 조작한다. no-PIE·Partial RELRO 라 leak 없이 free@GOT 에 get_shell 을 얹고 free 를 부르면 셸이 뜬다.
#dreamhack#ctf#pwnable+5