Heap Functions Security Checks
Reading time: 6 minutes
tip
Učite i vežbajte AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
unlink
Za više informacija pogledajte:
Ovo je sažetak izvršenih provera:
- Proverite da li je naznačena veličina dela ista kao
prev_sizenaznačena u sledećem delu - Poruka o grešci:
corrupted size vs. prev_size - Takođe proverite da li je
P->fd->bk == PiP->bk->fw == P - Poruka o grešci:
corrupted double-linked list - Ako deo nije mali, proverite da li je
P->fd_nextsize->bk_nextsize == PiP->bk_nextsize->fd_nextsize == P - Poruka o grešci:
corrupted double-linked list (not small)
_int_malloc
Za više informacija pogledajte:
- Provere tokom pretrage brzih binova:
- Ako je deo nepravilno poravnat:
- Poruka o grešci:
malloc(): unaligned fastbin chunk detected 2 - Ako je napredni deo nepravilno poravnat:
- Poruka o grešci:
malloc(): unaligned fastbin chunk detected - Ako vraćeni deo ima veličinu koja nije ispravna zbog svog indeksa u brzom binu:
- Poruka o grešci:
malloc(): memory corruption (fast) - Ako je bilo koji deo korišćen za popunjavanje tcache nepravilno poravnat:
- Poruka o grešci:
malloc(): unaligned fastbin chunk detected 3 - Provere tokom pretrage malih binova:
- Ako
victim->bk->fd != victim: - Poruka o grešci:
malloc(): smallbin double linked list corrupted - Provere tokom konsolidacije izvršene za svaki deo brzog bin:
- Ako je deo nepravilno poravnat:
- Poruka o grešci:
malloc_consolidate(): unaligned fastbin chunk detected - Ako deo ima drugačiju veličinu od one koju bi trebao imati zbog indeksa u kojem se nalazi:
- Poruka o grešci:
malloc_consolidate(): invalid chunk size - Ako prethodni deo nije u upotrebi i prethodni deo ima veličinu različitu od one naznačene od strane prev_chunk:
- Poruka o grešci:
corrupted size vs. prev_size in fastbins - Provere tokom pretrage nesortiranih binova:
- Ako je veličina dela čudna (previše mala ili previše velika):
- Poruka o grešci:
malloc(): invalid size (unsorted) - Ako je veličina sledećeg dela čudna (previše mala ili previše velika):
- Poruka o grešci:
malloc(): invalid next size (unsorted) - Ako se prethodna veličina naznačena od strane sledećeg dela razlikuje od veličine dela:
- Poruka o grešci:
malloc(): mismatching next->prev_size (unsorted) - Ako nije
victim->bck->fd == victimili nijevictim->fd == av (arena): - Poruka o grešci:
malloc(): unsorted double linked list corrupted - Kako uvek proveravamo poslednji, njegov fd bi trebao uvek da pokazuje na strukturu arena.
- Ako sledeći deo ne naznačava da je prethodni u upotrebi:
- Poruka o grešci:
malloc(): invalid next->prev_inuse (unsorted) - Ako
fwd->bk_nextsize->fd_nextsize != fwd: - Poruka o grešci:
malloc(): largebin double linked list corrupted (nextsize) - Ako
fwd->bk->fd != fwd: - Poruka o grešci:
malloc(): largebin double linked list corrupted (bk) - Provere tokom pretrage velikih binova (po indeksu):
bck->fd-> bk != bck:- Poruka o grešci:
malloc(): corrupted unsorted chunks - Provere tokom pretrage velikih binova (sledeći veći):
bck->fd-> bk != bck:- Poruka o grešci:
malloc(): corrupted unsorted chunks2 - Provere tokom korišćenja Top dela:
chunksize(av->top) > av->system_mem:- Poruka o grešci:
malloc(): corrupted top size
tcache_get_n
- Provere u
tcache_get_n: - Ako je deo nepravilno poravnat:
- Poruka o grešci:
malloc(): unaligned tcache chunk detected
tcache_thread_shutdown
- Provere u
tcache_thread_shutdown: - Ako je deo nepravilno poravnat:
- Poruka o grešci:
tcache_thread_shutdown(): unaligned tcache chunk detected
__libc_realloc
- Provere u
__libc_realloc: - Ako je stari pokazivač nepravilno poravnat ili je veličina bila neispravna:
- Poruka o grešci:
realloc(): invalid pointer
_int_free
Za više informacija pogledajte:
- Provere na početku
_int_free: - Pokazivač je poravnat:
- Poruka o grešci:
free(): invalid pointer - Veličina veća od
MINSIZEi veličina takođe poravnata: - Poruka o grešci:
free(): invalid size - Provere u
_int_freetcache: - Ako ima više unosa nego
mp_.tcache_count: - Poruka o grešci:
free(): too many chunks detected in tcache - Ako unos nije poravnat:
- Poruka o grešci:
free(): unaligned chunk detected in tcache 2 - Ako je oslobođeni deo već bio oslobođen i prisutan kao deo u tcache:
- Poruka o grešci:
free(): double free detected in tcache 2 - Provere u
_int_freebrzom binu: - Ako je veličina dela neispravna (prevelika ili premala) pokreni:
- Poruka o grešci:
free(): invalid next size (fast) - Ako je dodatni deo već bio vrh brzog bin:
- Poruka o grešci:
double free or corruption (fasttop) - Ako veličina dela na vrhu ima drugačiju veličinu od dela koji dodajemo:
- Poruka o grešci:
invalid fastbin entry (free)
_int_free_merge_chunk
- Provere u
_int_free_merge_chunk: - Ako je deo vrh deo:
- Poruka o grešci:
double free or corruption (top) - Ako je sledeći deo van granica arene:
- Poruka o grešci:
double free or corruption (out) - Ako deo nije označen kao korišćen (u prev_inuse od sledećeg dela):
- Poruka o grešci:
double free or corruption (!prev) - Ako sledeći deo ima premalu ili preveliku veličinu:
- Poruka o grešci:
free(): invalid next size (normal) - Ako prethodni deo nije u upotrebi, pokušaće da konsoliduje. Ali, ako se
prev_sizerazlikuje od veličine naznačene u prethodnom delu: - Poruka o grešci:
corrupted size vs. prev_size while consolidating
_int_free_create_chunk
- Provere u
_int_free_create_chunk: - Dodavanje dela u nesortirani bin, proverite da li
unsorted_chunks(av)->fd->bk == unsorted_chunks(av): - Poruka o grešci:
free(): corrupted unsorted chunks
do_check_malloc_state
- Provere u
do_check_malloc_state: - Ako je nepravilno poravnat brzi bin deo:
- Poruka o grešci:
do_check_malloc_state(): unaligned fastbin chunk detected
malloc_consolidate
- Provere u
malloc_consolidate: - Ako je nepravilno poravnat brzi bin deo:
- Poruka o grešci:
malloc_consolidate(): unaligned fastbin chunk detected - Ako je veličina brzog bin dela neispravna:
- Poruka o grešci:
malloc_consolidate(): invalid chunk size
_int_realloc
- Provere u
_int_realloc: - Veličina je prevelika ili premala:
- Poruka o grešci:
realloc(): invalid old size - Veličina sledećeg dela je prevelika ili premala:
- Poruka o grešci:
realloc(): invalid next size
tip
Učite i vežbajte AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
HackTricks