Tcache Poisoning에 대해서 질문이 있습니다.
tcache poisoning을 이용해서 aaw, aar을 수행하는데, 여기서 DFB가 들어가야 하는 이유를 잘 모르겠습니다.
edit()함수를 이용해서 key값을 변경할 수 있는것을 생각해보면, edit()을 이용해서 fd값도 변경할 수 있으니 굳이 DFB를 하지 않아도 되는 것 아닌가요?
실제로 DFB를 이용하지 않더라도, edit()함수를 이용해서 stdout의 주소를 가져왔고, libc base를 leak했습니다.
여기서 왜 DFB를 사용해야 하는 것 인가요?
#pwnable
작성자 정보
답변
1
wyv3rn
무플 방지 위원회장
쉽게 설명드리면 티캐시 자체를 속이는 것이 더블프리버그입니다.
티캐시는 버전이 높아지면 높아질수록 실제로 프리된 것이 맞는지 검증하는 로직이 들어가는데 이 검증을 속이는 것이 필요합니다.