Heap Functions Security Checks
Reading time: 6 minutes
tip
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
unlink
Vir meer inligting, kyk:
Dit is 'n opsomming van die uitgevoerde kontroles:
- Kontroleer 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
- Kontroleer ook dat
P->fd->bk == P
enP->bk->fw == P
- Foutboodskap:
corrupted double-linked list
- As die stuk nie klein is nie, kontroleer dat
P->fd_nextsize->bk_nextsize == P
enP->bk_nextsize->fd_nextsize == P
- Foutboodskap:
corrupted double-linked list (not small)
_int_malloc
Vir meer inligting, kyk:
- Kontroles tydens vinnige bin soektog:
- As die stuk nie uitgelijn is nie:
- Foutboodskap:
malloc(): unaligned fastbin chunk detected 2
- As die vorentoe stuk nie uitgelijn is nie:
- Foutboodskap:
malloc(): unaligned fastbin chunk detected
- As die teruggegee stuk 'n grootte het wat nie korrek is nie weens sy indeks in die vinnige bin:
- Foutboodskap:
malloc(): memory corruption (fast)
- As enige stuk wat gebruik word om die tcache te vul nie uitgelijn is nie:
- 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 uitgevoer vir elke vinnige bin stuk:
- As die stuk nie uitgelijn is nie, aktiveer:
- Foutboodskap:
malloc_consolidate(): unaligned fastbin chunk detected
- As die stuk 'n ander grootte het as die een wat dit behoort te wees weens 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 nievictim->fd == av (arena)
nie: - Foutboodskap:
malloc(): unsorted double linked list corrupted
- Aangesien ons altyd die laaste een kontroleer, moet dit 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 nie uitgelijn is nie:
- Foutboodskap:
malloc(): unaligned tcache chunk detected
tcache_thread_shutdown
- Kontroles in
tcache_thread_shutdown
: - As die stuk nie uitgelijn is nie:
- Foutboodskap:
tcache_thread_shutdown(): unaligned tcache chunk detected
__libc_realloc
- Kontroles in
__libc_realloc
: - As die ou pointer nie uitgelijn is nie of die grootte verkeerd was:
- Foutboodskap:
realloc(): invalid pointer
_int_free
Vir meer inligting, kyk:
- Kontroles tydens die begin van
_int_free
: - Pointer is uitgelijn:
- Foutboodskap:
free(): invalid pointer
- Grootte groter as
MINSIZE
en grootte ook uitgelijn: - 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 uitgelijn is nie:
- Foutboodskap:
free(): unaligned chunk detected in tcache 2
- As die vrygestelde stuk reeds vrygestel is en teenwoordig is as 'n stuk in die tcache:
- 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 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 gemerk is as gebruik 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, kontroleer 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 misaligned fast bin stuk:
- Foutboodskap:
do_check_malloc_state(): unaligned fastbin chunk detected
malloc_consolidate
- Kontroles in
malloc_consolidate
: - As misaligned fast bin stuk:
- Foutboodskap:
malloc_consolidate(): unaligned fastbin chunk detected
- As verkeerde fast bin stuk grootte:
- 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
tip
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.