heap 관련하여 질문 드립니다.
해당 문제에서 tcache를 채우기 위해 아래와 같은 반복문으로
alloc과 free를 반복해 채우게 되는데요,
for i in range(7):
cook_cat_food('123', '0')
feed_cat('0')
위와 같이 작성했을 때 동일한 크기로 alloc을 요청하게 되므로
반복 과정 중에 생성되는 tcache의 free chunk가 재사용되게 되고
tcache가 제대로 채워지지 않아야 될 것 같은데,
재사용하지 않고 새로운 값이 할당되는 이유가 무엇인가요?
도저히 모르겠어서 질문 드립니다..
#pwnable
작성자 정보
답변
1
keyme
CTF Second Place
그게 이 문제의 핵심 취약점이라고 말할 수 있을 것 같은데요. 여기에 남기기에는 너무 큰 힌트가 될 것 같아서 keyme#0837로 디스코드 주시면 관련한 내용 설명드리겠습니다.