unlink
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Code
Grafische Erklärung
Überprüfen Sie diese großartige grafische Erklärung des Unlink-Prozesses:
Sicherheitsprüfungen
Ü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
undP->bk->fw == P
Wenn der Chunk nicht klein ist, überprüfen Sie, dass
P->fd_nextsize->bk_nextsize == P
undP->bk_nextsize->fd_nextsize == P
Leaks
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
aufmalloc_state
in libcWenn P am Ende der doppelt verketteten Liste liegt, zeigt
fd
aufmalloc_state
in libcWenn die doppelt verkettete Liste nur einen freien Chunk enthält, befindet sich P in der doppelt verketteten Liste, und sowohl
fd
als auchbk
können die Adresse innerhalb vonmalloc_state
leaken.
Heap-Leaks:
Wenn P sich am Kopf der doppelt verketteten Liste befindet, zeigt
fd
auf einen verfügbaren Chunk im HeapWenn P am Ende der doppelt verketteten Liste liegt, zeigt
bk
auf einen verfügbaren Chunk im HeapWenn P in der doppelt verketteten Liste ist, zeigen sowohl
fd
als auchbk
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)
Last updated