unlink
Last updated
Last updated
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Überprüfen Sie diese großartige grafische Erklärung des Unlink-Prozesses:
Überprüfen Sie, ob die angegebene Größe des Chunks mit der prev_size übereinstimmt, die im nächsten Chunk angegeben ist
Überprüfen Sie auch, dass P->fd->bk == P
und P->bk->fw == P
Wenn der Chunk nicht klein ist, überprüfen Sie, dass P->fd_nextsize->bk_nextsize == P
und P->bk_nextsize->fd_nextsize == P
Ein unlinked Chunk reinigt die zugewiesenen Adressen nicht, daher ist es möglich, einige interessante Adressen zu leaken, wenn man Zugriff darauf hat:
Libc Leaks:
Wenn P sich am Kopf der doppelt verketteten Liste befindet, zeigt bk
auf malloc_state
in libc
Wenn P am Ende der doppelt verketteten Liste liegt, zeigt fd
auf malloc_state
in libc
Wenn die doppelt verkettete Liste nur einen freien Chunk enthält, befindet sich P in der doppelt verketteten Liste, und sowohl fd
als auch bk
können die Adresse innerhalb von malloc_state
leaken.
Heap-Leaks:
Wenn P sich am Kopf der doppelt verketteten Liste befindet, zeigt fd
auf einen verfügbaren Chunk im Heap
Wenn P am Ende der doppelt verketteten Liste liegt, zeigt bk
auf einen verfügbaren Chunk im Heap
Wenn P in der doppelt verketteten Liste ist, zeigen sowohl fd
als auch bk
auf einen verfügbaren Chunk im Heap
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)