Heap Functions Security Checks
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
For more info check:
unlinkHii 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
na P->bk->fw == P
Ujumbe wa kosa: corrupted double-linked list
Ikiwa kipande si kidogo, angalia kwamba P->fd_nextsize->bk_nextsize == P
na P->bk_nextsize->fd_nextsize == P
Ujumbe wa kosa: corrupted double-linked list (not small)
For more info check:
malloc & sysmallocUkaguzi 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 kilichomo:
Ujumbe wa kosa: malloc_consolidate(): invalid chunk size
Ikiwa kipande cha awali hakitumiki na kipande cha awali kina ukubwa tofauti na ule ulioonyeshwa 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 si victim->fd == av (arena)
:
Ujumbe wa kosa: malloc(): unsorted double linked list corrupted
Kwa kuwa kila wakati tunakagua ya 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 kiashiria cha zamani hakiko sawa au ukubwa ulikuwa sio sahihi:
Ujumbe wa kosa: realloc(): invalid pointer
_int_free
For more info check:
freeUkaguzi wakati wa mwanzo wa _int_free
:
Kiashiria kimepangwa:
Ujumbe wa kosa: free(): invalid pointer
Ukubwa ni mkubwa zaidi ya MINSIZE
na ukubwa pia umepangwa:
Ujumbe wa kosa: free(): invalid size
Ukaguzi katika _int_free
tcache:
Ikiwa kuna zaidi ya entries kuliko mp_.tcache_count
:
Ujumbe wa kosa: free(): too many chunks detected in tcache
Ikiwa entry haijapangwa:
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 kinatumika (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
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)