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)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
unlink
Kwa maelezo zaidi angalia:
Hii ni muhtasari wa ukaguzi uliofanywa:
- Angalia kama ukubwa ulioonyeshwa wa kipande ni sawa na
prev_sizeiliyoonyeshwa katika kipande kinachofuata - Ujumbe wa kosa:
corrupted size vs. prev_size - Angalia pia kwamba
P->fd->bk == PnaP->bk->fw == P - Ujumbe wa kosa:
corrupted double-linked list - Ikiwa kipande si kidogo, angalia kwamba
P->fd_nextsize->bk_nextsize == PnaP->bk_nextsize->fd_nextsize == P - Ujumbe wa kosa:
corrupted double-linked list (not small)
_int_malloc
Kwa maelezo zaidi angalia:
- 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 kuunganisha uliofanywa 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 ilipo:
- 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 unapingana na ukubwa wa kipande:
- Ujumbe wa kosa:
malloc(): mismatching next->prev_size (unsorted) - Ikiwa si
victim->bck->fd == victimau sivictim->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 (kubwa zaidi):
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
Kwa maelezo zaidi angalia:
- Ukaguzi wakati wa mwanzo wa
_int_free: - Kiashiria kimepangwa:
- Ujumbe wa kosa:
free(): invalid pointer - Ukubwa ni mkubwa kuliko
MINSIZEna ukubwa pia umepangwa: - Ujumbe wa kosa:
free(): invalid size - Ukaguzi katika
_int_freetcache: - 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_freefast 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 kuunganisha. Lakini, ikiwa
prev_sizeinatofautiana 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)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
HackTricks