mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 06:30:37 +00:00
7.8 KiB
7.8 KiB
Provere bezbednosti funkcija hipa
{% hint style="success" %}
Naučite i vežbajte hakovanje AWS-a:HackTricks Training AWS Red Team Expert (ARTE)
Naučite i vežbajte hakovanje GCP-a: HackTricks Training GCP Red Team Expert (GRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitteru 🐦 @hacktricks_live.
- Podelite hakovanje trikova slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
unlink
Za više informacija pogledajte:
{% content-ref url="unlink.md" %} unlink.md {% endcontent-ref %}
Ovo je sažetak izvršenih provera:
- Proverite da li je naznačena veličina bloka ista kao
prev_size
naznačena u sledećem bloku - Poruka o grešci:
corrupted size vs. prev_size
- Proverite takođe da li
P->fd->bk == P
iP->bk->fw == P
- Poruka o grešci:
corrupted double-linked list
- Ako blok nije mali, proverite da li
P->fd_nextsize->bk_nextsize == P
iP->bk_nextsize->fd_nextsize == P
- Poruka o grešci:
corrupted double-linked list (not small)
_int_malloc
Za više informacija pogledajte:
{% content-ref url="malloc-and-sysmalloc.md" %} malloc-and-sysmalloc.md {% endcontent-ref %}
- Provere tokom pretrage brzih binova:
- Ako je blok neusaglašen:
- Poruka o grešci:
malloc(): unaligned fastbin chunk detected 2
- Ako je sledeći blok neusaglašen:
- Poruka o grešci:
malloc(): unaligned fastbin chunk detected
- Ako vraćeni blok ima veličinu koja nije ispravna zbog svog indeksa u brzom binu:
- Poruka o grešci:
malloc(): memory corruption (fast)
- Ako je bilo koji blok korišćen za popunjavanje tcache-a neusaglašen:
- 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 brzi bin blok:
- Ako je blok neusaglašen pokreni:
- Poruka o grešci:
malloc_consolidate(): unaligned fastbin chunk detected
- Ako blok ima drugačiju veličinu od one koju bi trebalo zbog indeksa u kojem se nalazi:
- Poruka o grešci:
malloc_consolidate(): invalid chunk size
- Ako prethodni blok nije u upotrebi i prethodni blok 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 bloka čudna (previše mala ili previše velika):
- Poruka o grešci:
malloc(): invalid size (unsorted)
- Ako je veličina sledećeg bloka čudna (previše mala ili previše velika):
- Poruka o grešci:
malloc(): invalid next size (unsorted)
- Ako veličina prethodnog naznačena od strane sledećeg bloka se razlikuje od veličine bloka:
- Poruka o grešci:
malloc(): mismatching next->prev_size (unsorted)
- Ako nije
victim->bck->fd == victim
ili nijevictim->fd == av (arena)
: - Poruka o grešci:
malloc(): unsorted double linked list corrupted
- Pošto uvek proveravamo poslednji, njegov fd bi uvek trebalo da pokazuje na strukturu arene.
- Ako sledeći blok 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 vrhunskog bloka:
chunksize(av->top) > av->system_mem
:- Poruka o grešci:
malloc(): corrupted top size
tcache_get_n
- Provere u
tcache_get_n
: - Ako je blok neusaglašen:
- Poruka o grešci:
malloc(): unaligned tcache chunk detected
tcache_thread_shutdown
- Provere u
tcache_thread_shutdown
: - Ako je blok neusaglašen:
- Poruka o grešci:
tcache_thread_shutdown(): unaligned tcache chunk detected
__libc_realloc
- Provere u
__libc_realloc
: - Ako je stari pokazivač neusaglašen ili je veličina bila neispravna:
- Poruka o grešci:
realloc(): invalid pointer
_int_free
Za više informacija pogledajte:
{% content-ref url="free.md" %} free.md {% endcontent-ref %}
- Provere tokom početka
_int_free
: - Pokazivač je usaglašen:
- Poruka o grešci:
free(): invalid pointer
- Veličina veća od
MINSIZE
i takođe usaglašena: - Poruka o grešci:
free(): invalid size
- Provere u
_int_free
tcache-u: - Ako ima više unosa od
mp_.tcache_count
: - Poruka o grešci:
free(): too many chunks detected in tcache
- Ako unos nije usaglašen:
- Poruka o grešci:
free(): unaligned chunk detected in tcache 2
- Ako je oslobođeni blok već bio oslobođen i prisutan kao blok u tcache-u:
- Poruka o grešci:
free(): double free detected in tcache 2
- Provere u
_int_free
brzom binu: - Ako je veličina bloka neispravna (previše velika ili mala) pokreni:
- Poruka o grešci:
free(): invalid next size (fast)
- Ako je dodati blok već bio na vrhu brzog bina:
- Poruka o grešci:
double free or corruption (fasttop)
- Ako veličina bloka na vrhu ima drugačiju veličinu od bloka koji dodajemo:
- Poruka o grešci:
invalid fastbin entry (free)
_int_free_merge_chunk
- Provere u
_int_free_merge_chunk
: - Ako je chunk vrhunski chunk:
- Poruka o grešci:
double free or corruption (top)
- Ako je sledeći chunk van granica arene:
- Poruka o grešci:
double free or corruption (out)
- Ako chunk nije označen kao korišćen (u prev_inuse od sledećeg chunk-a):
- Poruka o grešci:
double free or corruption (!prev)
- Ako sledeći chunk ima previše malu ili previše veliku veličinu:
- Poruka o grešci:
free(): invalid next size (normal)
- Ako prethodni chunk nije u upotrebi, pokušaće da konsoliduje. Ali, ako se
prev_size
razlikuje od veličine navedene u prethodnom chunk-u: - Poruka o grešci:
corrupted size vs. prev_size while consolidating
_int_free_create_chunk
- Provere u
_int_free_create_chunk
: - Dodavanje chunk-a u nesortirani bin, provera da li je
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 fast bin chunk nepravilno poravnat:
- Poruka o grešci:
do_check_malloc_state(): unaligned fastbin chunk detected
malloc_consolidate
- Provere u
malloc_consolidate
: - Ako je fast bin chunk nepravilno poravnat:
- Poruka o grešci:
malloc_consolidate(): unaligned fastbin chunk detected
- Ako je nepravilna veličina fast bin chunk-a:
- Poruka o grešci:
malloc_consolidate(): invalid chunk size
_int_realloc
- Provere u
_int_realloc
: - Veličina je previše velika ili previše mala:
- Poruka o grešci:
realloc(): invalid old size
- Veličina sledećeg chunk-a je previše velika ili previše mala:
- Poruka o grešci:
realloc(): invalid next size