Heap Functions Security Checks
Last updated
Last updated
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Vir meer inligting, kyk:
unlinkDit is 'n opsomming van die uitgevoerde kontroles:
Kyk of die aangeduide grootte van die stuk dieselfde is as die prev_size
wat in die volgende stuk aangedui word
Foutboodskap: corrupted size vs. prev_size
Kyk ook dat P->fd->bk == P
en P->bk->fw == P
Foutboodskap: corrupted double-linked list
As die stuk nie klein is nie, kyk dat P->fd_nextsize->bk_nextsize == P
en P->bk_nextsize->fd_nextsize == P
Foutboodskap: corrupted double-linked list (not small)
Vir meer inligting, kyk:
malloc & sysmallocKontroles tydens vinnige bin soektog:
As die stuk verkeerd uitgelijnd is:
Foutboodskap: malloc(): unaligned fastbin chunk detected 2
As die vorentoe stuk verkeerd uitgelijnd is:
Foutboodskap: malloc(): unaligned fastbin chunk detected
As die teruggegee stuk 'n grootte het wat nie korrek is nie as gevolg van sy indeks in die vinnige bin:
Foutboodskap: malloc(): memory corruption (fast)
As enige stuk wat gebruik word om die tcache te vul verkeerd uitgelijnd is:
Foutboodskap: malloc(): unaligned fastbin chunk detected 3
Kontroles tydens klein bin soektog:
As victim->bk->fd != victim
:
Foutboodskap: malloc(): smallbin double linked list corrupted
Kontroles tydens konsolidasie wat vir elke vinnige bin stuk uitgevoer word:
As die stuk verkeerd uitgelijnd is, aktiveer:
Foutboodskap: malloc_consolidate(): unaligned fastbin chunk detected
As die stuk 'n ander grootte het as die een wat dit behoort te wees as gevolg van die indeks waarin dit is:
Foutboodskap: malloc_consolidate(): invalid chunk size
As die vorige stuk nie in gebruik is nie en die vorige stuk 'n grootte het wat verskil van die een aangedui deur prev_chunk:
Foutboodskap: corrupted size vs. prev_size in fastbins
Kontroles tydens onsortering bin soektog:
As die stuk grootte vreemd is (te klein of te groot):
Foutboodskap: malloc(): invalid size (unsorted)
As die volgende stuk grootte vreemd is (te klein of te groot):
Foutboodskap: malloc(): invalid next size (unsorted)
As die vorige grootte wat deur die volgende stuk aangedui word verskil van die grootte van die stuk:
Foutboodskap: malloc(): mismatching next->prev_size (unsorted)
As nie victim->bck->fd == victim
of nie victim->fd == av (arena)
nie:
Foutboodskap: malloc(): unsorted double linked list corrupted
Aangesien ons altyd die laaste een nagaan, moet sy fd altyd na die arena struktuur wys.
As die volgende stuk nie aandui dat die vorige in gebruik is nie:
Foutboodskap: malloc(): invalid next->prev_inuse (unsorted)
As fwd->bk_nextsize->fd_nextsize != fwd
:
Foutboodskap: malloc(): largebin double linked list corrupted (nextsize)
As fwd->bk->fd != fwd
:
Foutboodskap: malloc(): largebin double linked list corrupted (bk)
Kontroles tydens groot bin (volgens indeks) soektog:
bck->fd-> bk != bck
:
Foutboodskap: malloc(): corrupted unsorted chunks
Kontroles tydens groot bin (volgende groter) soektog:
bck->fd-> bk != bck
:
Foutboodskap: malloc(): corrupted unsorted chunks2
Kontroles tydens Top stuk gebruik:
chunksize(av->top) > av->system_mem
:
Foutboodskap: malloc(): corrupted top size
tcache_get_n
Kontroles in tcache_get_n
:
As die stuk verkeerd uitgelijnd is:
Foutboodskap: malloc(): unaligned tcache chunk detected
tcache_thread_shutdown
Kontroles in tcache_thread_shutdown
:
As die stuk verkeerd uitgelijnd is:
Foutboodskap: tcache_thread_shutdown(): unaligned tcache chunk detected
__libc_realloc
Kontroles in __libc_realloc
:
As die ou pointer verkeerd uitgelijnd is of die grootte verkeerd was:
Foutboodskap: realloc(): invalid pointer
_int_free
Vir meer inligting, kyk:
freeKontroles tydens die begin van _int_free
:
Pointer is uitgelijnd:
Foutboodskap: free(): invalid pointer
Grootte groter as MINSIZE
en grootte ook uitgelijnd:
Foutboodskap: free(): invalid size
Kontroles in _int_free
tcache:
As daar meer inskrywings is as mp_.tcache_count
:
Foutboodskap: free(): too many chunks detected in tcache
As die inskrywing nie uitgelijnd is nie:
Foutboodskap: free(): unaligned chunk detected in tcache 2
As die vrygestelde stuk reeds vrygestel is en as 'n stuk in die tcache teenwoordig is:
Foutboodskap: free(): double free detected in tcache 2
Kontroles in _int_free
vinnige bin:
As die grootte van die stuk ongeldig is (te groot of te klein) aktiveer:
Foutboodskap: free(): invalid next size (fast)
As die bygevoegde stuk reeds die top van die vinnige bin was:
Foutboodskap: double free or corruption (fasttop)
As die grootte van die stuk aan die top 'n ander grootte het as die stuk wat ons byvoeg:
Foutboodskap: invalid fastbin entry (free)
_int_free_merge_chunk
Kontroles in _int_free_merge_chunk
:
As die stuk die top stuk is:
Foutboodskap: double free or corruption (top)
As die volgende stuk buite die grense van die arena is:
Foutboodskap: double free or corruption (out)
As die stuk nie as gebruik gemerk is nie (in die prev_inuse van die volgende stuk):
Foutboodskap: double free or corruption (!prev)
As die volgende stuk 'n te klein of te groot grootte het:
Foutboodskap: free(): invalid next size (normal)
As die vorige stuk nie in gebruik is nie, sal dit probeer konsolideer. Maar, as die prev_size
verskil van die grootte wat in die vorige stuk aangedui word:
Foutboodskap: corrupted size vs. prev_size while consolidating
_int_free_create_chunk
Kontroles in _int_free_create_chunk
:
Voeg 'n stuk by die onsortering bin, kyk of unsorted_chunks(av)->fd->bk == unsorted_chunks(av)
:
Foutboodskap: free(): corrupted unsorted chunks
do_check_malloc_state
Kontroles in do_check_malloc_state
:
As die vinnige bin stuk verkeerd uitgelijnd is:
Foutboodskap: do_check_malloc_state(): unaligned fastbin chunk detected
malloc_consolidate
Kontroles in malloc_consolidate
:
As die vinnige bin stuk verkeerd uitgelijnd is:
Foutboodskap: malloc_consolidate(): unaligned fastbin chunk detected
As die vinnige bin stuk grootte verkeerd is:
Foutboodskap: malloc_consolidate(): invalid chunk size
_int_realloc
Kontroles in _int_realloc
:
Grootte is te groot of te klein:
Foutboodskap: realloc(): invalid old size
Grootte van die volgende stuk is te groot of te klein:
Foutboodskap: realloc(): invalid next size
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)