Heap Functions Security Checks
Reading time: 6 minutes
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
unlink
Kwa maelezo zaidi angalia:
{{#ref}} unlink.md {{#endref}}
Hii ni muhtasari wa ukaguzi uliofanywa:
- Angalia kama ukubwa ulioonyeshwa wa kipande ni sawa na
prev_size
iliyoonyeshwa katika kipande kinachofuata - Ujumbe wa kosa:
corrupted size vs. prev_size
- Angalia pia kwamba
P->fd->bk == P
naP->bk->fw == P
- Ujumbe wa kosa:
corrupted double-linked list
- Ikiwa kipande si kidogo, angalia kwamba
P->fd_nextsize->bk_nextsize == P
naP->bk_nextsize->fd_nextsize == P
- Ujumbe wa kosa:
corrupted double-linked list (not small)
_int_malloc
Kwa maelezo zaidi angalia:
{{#ref}} malloc-and-sysmalloc.md {{#endref}}
- Ukaguzi wakati wa kutafuta fast bin:
- Ikiwa kipande hakiko sawa:
- Ujumbe wa kosa:
malloc(): unaligned fastbin chunk detected 2
- Ikiwa kipande cha mbele hakiko sawa:
- Ujumbe wa kosa:
malloc(): unaligned fastbin chunk detected
- Ikiwa kipande kilichorejeshwa kina ukubwa usio sahihi kwa sababu ya index yake katika fast bin:
- Ujumbe wa kosa:
malloc(): memory corruption (fast)
- Ikiwa kipande chochote kilichotumika kujaza tcache hakiko sawa:
- Ujumbe wa kosa:
malloc(): unaligned fastbin chunk detected 3
- Ukaguzi wakati wa kutafuta small bin:
- Ikiwa
victim->bk->fd != victim
: - Ujumbe wa kosa:
malloc(): smallbin double linked list corrupted
- Ukaguzi wakati wa kuunganishwa unafanywa kwa kila kipande cha fast bin:
- Ikiwa kipande hakiko sawa trigger:
- Ujumbe wa kosa:
malloc_consolidate(): unaligned fastbin chunk detected
- Ikiwa kipande kina ukubwa tofauti na kile kinachopaswa kwa sababu ya index iliyo ndani yake:
- Ujumbe wa kosa:
malloc_consolidate(): invalid chunk size
- Ikiwa kipande cha awali hakitumiki na kipande cha awali kina ukubwa tofauti na kile kilichoonyeshwa na prev_chunk:
- Ujumbe wa kosa:
corrupted size vs. prev_size in fastbins
- Ukaguzi wakati wa kutafuta unsorted bin:
- Ikiwa ukubwa wa kipande ni wa ajabu (mdogo sana au mkubwa sana):
- Ujumbe wa kosa:
malloc(): invalid size (unsorted)
- Ikiwa ukubwa wa kipande kinachofuata ni wa ajabu (mdogo sana au mkubwa sana):
- Ujumbe wa kosa:
malloc(): invalid next size (unsorted)
- Ikiwa ukubwa wa awali ulioonyeshwa na kipande kinachofuata unatofautiana na ukubwa wa kipande:
- Ujumbe wa kosa:
malloc(): mismatching next->prev_size (unsorted)
- Ikiwa si
victim->bck->fd == victim
au sivictim->fd == av (arena)
: - Ujumbe wa kosa:
malloc(): unsorted double linked list corrupted
- Kwa kuwa kila wakati tunakagua la mwisho, fd yake inapaswa kuelekeza kila wakati kwenye muundo wa arena.
- Ikiwa kipande kinachofuata hakionyeshi kwamba cha awali kinatumika:
- Ujumbe wa kosa:
malloc(): invalid next->prev_inuse (unsorted)
- Ikiwa
fwd->bk_nextsize->fd_nextsize != fwd
: - Ujumbe wa kosa:
malloc(): largebin double linked list corrupted (nextsize)
- Ikiwa
fwd->bk->fd != fwd
: - Ujumbe wa kosa:
malloc(): largebin double linked list corrupted (bk)
- Ukaguzi wakati wa kutafuta large bin (kwa index):
bck->fd-> bk != bck
:- Ujumbe wa kosa:
malloc(): corrupted unsorted chunks
- Ukaguzi wakati wa kutafuta large bin (next bigger):
bck->fd-> bk != bck
:- Ujumbe wa kosa:
malloc(): corrupted unsorted chunks2
- Ukaguzi wakati wa matumizi ya Top chunk:
chunksize(av->top) > av->system_mem
:- Ujumbe wa kosa:
malloc(): corrupted top size
tcache_get_n
- Ukaguzi katika
tcache_get_n
: - Ikiwa kipande hakiko sawa:
- Ujumbe wa kosa:
malloc(): unaligned tcache chunk detected
tcache_thread_shutdown
- Ukaguzi katika
tcache_thread_shutdown
: - Ikiwa kipande hakiko sawa:
- Ujumbe wa kosa:
tcache_thread_shutdown(): unaligned tcache chunk detected
__libc_realloc
- Ukaguzi katika
__libc_realloc
: - Ikiwa pointer ya zamani haiko sawa au ukubwa ulikuwa sio sahihi:
- Ujumbe wa kosa:
realloc(): invalid pointer
_int_free
Kwa maelezo zaidi angalia:
{{#ref}} free.md {{#endref}}
- Ukaguzi wakati wa mwanzo wa
_int_free
: - Pointer iko sawa:
- Ujumbe wa kosa:
free(): invalid pointer
- Ukubwa ni mkubwa kuliko
MINSIZE
na ukubwa pia umewekwa sawa: - Ujumbe wa kosa:
free(): invalid size
- Ukaguzi katika
_int_free
tcache: - Ikiwa kuna entries zaidi ya
mp_.tcache_count
: - Ujumbe wa kosa:
free(): too many chunks detected in tcache
- Ikiwa entry haiko sawa:
- Ujumbe wa kosa:
free(): unaligned chunk detected in tcache 2
- Ikiwa kipande kilichofutwa tayari kilikuwa kimefutwa na kiko kama kipande katika tcache:
- Ujumbe wa kosa:
free(): double free detected in tcache 2
- Ukaguzi katika
_int_free
fast bin: - Ikiwa ukubwa wa kipande sio sahihi (mkubwa sana au mdogo sana) trigger:
- Ujumbe wa kosa:
free(): invalid next size (fast)
- Ikiwa kipande kilichoongezwa tayari kilikuwa juu ya fast bin:
- Ujumbe wa kosa:
double free or corruption (fasttop)
- Ikiwa ukubwa wa kipande kilichoko juu una ukubwa tofauti na kipande tunachoongeza:
- Ujumbe wa kosa:
invalid fastbin entry (free)
_int_free_merge_chunk
- Ukaguzi katika
_int_free_merge_chunk
: - Ikiwa kipande ni kipande cha juu:
- Ujumbe wa kosa:
double free or corruption (top)
- Ikiwa kipande kinachofuata kiko nje ya mipaka ya arena:
- Ujumbe wa kosa:
double free or corruption (out)
- Ikiwa kipande hakijapangwa kama kinachotumika (katika prev_inuse kutoka kipande kinachofuata):
- Ujumbe wa kosa:
double free or corruption (!prev)
- Ikiwa kipande kinachofuata kina ukubwa mdogo sana au mkubwa sana:
- Ujumbe wa kosa:
free(): invalid next size (normal)
- Ikiwa kipande cha awali hakitumiki, kitajaribu kuunganishwa. Lakini, ikiwa
prev_size
inatofautiana na ukubwa ulioonyeshwa katika kipande cha awali: - Ujumbe wa kosa:
corrupted size vs. prev_size while consolidating
_int_free_create_chunk
- Ukaguzi katika
_int_free_create_chunk
: - Kuongeza kipande katika unsorted bin, angalia ikiwa
unsorted_chunks(av)->fd->bk == unsorted_chunks(av)
: - Ujumbe wa kosa:
free(): corrupted unsorted chunks
do_check_malloc_state
- Ukaguzi katika
do_check_malloc_state
: - Ikiwa fast bin chunk haiko sawa:
- Ujumbe wa kosa:
do_check_malloc_state(): unaligned fastbin chunk detected
malloc_consolidate
- Ukaguzi katika
malloc_consolidate
: - Ikiwa fast bin chunk haiko sawa:
- Ujumbe wa kosa:
malloc_consolidate(): unaligned fastbin chunk detected
- Ikiwa ukubwa wa fast bin chunk sio sahihi:
- Ujumbe wa kosa:
malloc_consolidate(): invalid chunk size
_int_realloc
- Ukaguzi katika
_int_realloc
: - Ukubwa ni mkubwa sana au mdogo sana:
- Ujumbe wa kosa:
realloc(): invalid old size
- Ukubwa wa kipande kinachofuata ni mkubwa sana au mdogo sana:
- Ujumbe wa kosa:
realloc(): invalid next size
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.