Pwn/Heap-Based

- 오래된 힙 취약점 중 하나인 Unsafe Unlink에 대해서 알아보자. Unsafe Unlink - 단일 연결리스트로 구성된 bin을 제외하고 freelist에서 병합이 일어날때 unlink과정이 수행된다. - glibc 2.23버전까지는 이러한 unlink과정이 매크로로 정의되어 수행되었으며 검사를 제대로 진행하지 않았다. - 또한 이 기법이 발표된 2000년 초반에는 nx같은 보안기법도 기본적으로 적용되지 않아 쉘코드등을 heap에 적어놓고 실행해버리는 무시무시한 짓도 가능했다. FD = P->fd; BK = P->bk; FD->bk = BK; BK->fd = FD; - unlink란 어렵게 생각할 것 없이 위 코드의 역할이다. - P는 unlink될 청크를 가리키는 포인터이다. - 따라서 un..
kimg00n
'Pwn/Heap-Based' 카테고리의 글 목록