Heap Functions Security Checks
Reading time: 5 minutes
tip
AWS Hacking'i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın:
HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking'i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.
unlink
Daha fazla bilgi için kontrol edin:
Yapılan kontrollerin özeti:
- Belirtilen parçanın boyutunun, bir sonraki parçadaki
prev_sizeile aynı olup olmadığını kontrol et - Hata mesajı:
corrupted size vs. prev_size - Ayrıca
P->fd->bk == PveP->bk->fw == Pkontrol et - Hata mesajı:
corrupted double-linked list - Eğer parça küçük değilse,
P->fd_nextsize->bk_nextsize == PveP->bk_nextsize->fd_nextsize == Pkontrol et - Hata mesajı:
corrupted double-linked list (not small)
_int_malloc
Daha fazla bilgi için kontrol edin:
- Hızlı bin araması sırasında kontroller:
- Eğer parça hizalanmamışsa:
- Hata mesajı:
malloc(): unaligned fastbin chunk detected 2 - Eğer ileri parça hizalanmamışsa:
- Hata mesajı:
malloc(): unaligned fastbin chunk detected - Eğer döndürülen parçanın boyutu, hızlı bin içindeki indeksinden dolayı doğru değilse:
- Hata mesajı:
malloc(): memory corruption (fast) - Tcache'i doldurmak için kullanılan herhangi bir parça hizalanmamışsa:
- Hata mesajı:
malloc(): unaligned fastbin chunk detected 3 - Küçük bin araması sırasında kontroller:
- Eğer
victim->bk->fd != victimise: - Hata mesajı:
malloc(): smallbin double linked list corrupted - Her hızlı bin parçası için yapılan konsolidasyon kontrolleri:
- Eğer parça hizalanmamışsa tetikle:
- Hata mesajı:
malloc_consolidate(): unaligned fastbin chunk detected - Eğer parçanın boyutu, bulunduğu indeks nedeniyle farklıysa:
- Hata mesajı:
malloc_consolidate(): invalid chunk size - Eğer önceki parça kullanılmıyorsa ve önceki parçanın boyutu, prev_chunk tarafından belirtilen boyuttan farklıysa:
- Hata mesajı:
corrupted size vs. prev_size in fastbins - Sıralanmamış bin araması sırasında kontroller:
- Eğer parça boyutu garipse (çok küçük veya çok büyük):
- Hata mesajı:
malloc(): invalid size (unsorted) - Eğer bir sonraki parça boyutu garipse (çok küçük veya çok büyük):
- Hata mesajı:
malloc(): invalid next size (unsorted) - Eğer bir sonraki parçanın belirttiği önceki boyut, parçanın boyutundan farklıysa:
- Hata mesajı:
malloc(): mismatching next->prev_size (unsorted) - Eğer
victim->bck->fd == victimdeğilse veyavictim->fd == av (arena)değilse: - Hata mesajı:
malloc(): unsorted double linked list corrupted - Her zaman sonuncusunu kontrol ettiğimiz için, fd'si her zaman arena yapısına işaret etmelidir.
- Eğer bir sonraki parça, öncekinin kullanıldığını belirtmiyorsa:
- Hata mesajı:
malloc(): invalid next->prev_inuse (unsorted) - Eğer
fwd->bk_nextsize->fd_nextsize != fwdise: - Hata mesajı:
malloc(): largebin double linked list corrupted (nextsize) - Eğer
fwd->bk->fd != fwdise: - Hata mesajı:
malloc(): largebin double linked list corrupted (bk) - Büyük bin (indeksle) araması sırasında kontroller:
bck->fd-> bk != bck:- Hata mesajı:
malloc(): corrupted unsorted chunks - Büyük bin (bir sonraki daha büyük) araması sırasında kontroller:
bck->fd-> bk != bck:- Hata mesajı:
malloc(): corrupted unsorted chunks2 - Top parça kullanımı sırasında kontroller:
chunksize(av->top) > av->system_mem:- Hata mesajı:
malloc(): corrupted top size
tcache_get_n
tcache_get_niçindeki kontroller:- Eğer parça hizalanmamışsa:
- Hata mesajı:
malloc(): unaligned tcache chunk detected
tcache_thread_shutdown
tcache_thread_shutdowniçindeki kontroller:- Eğer parça hizalanmamışsa:
- Hata mesajı:
tcache_thread_shutdown(): unaligned tcache chunk detected
__libc_realloc
__libc_reallociçindeki kontroller:- Eğer eski işaretçi hizalanmamışsa veya boyut yanlışsa:
- Hata mesajı:
realloc(): invalid pointer
_int_free
Daha fazla bilgi için kontrol edin:
_int_freebaşlangıcındaki kontroller:- İşaretçi hizalanmış mı:
- Hata mesajı:
free(): invalid pointer - Boyut
MINSIZE'dan büyük ve boyut da hizalanmışsa: - Hata mesajı:
free(): invalid size _int_freetcache içindeki kontroller:- Eğer
mp_.tcache_count'dan fazla giriş varsa: - Hata mesajı:
free(): too many chunks detected in tcache - Eğer giriş hizalanmamışsa:
- Hata mesajı:
free(): unaligned chunk detected in tcache 2 - Eğer serbest bırakılan parça zaten serbest bırakılmışsa ve tcache'de parça olarak mevcutsa:
- Hata mesajı:
free(): double free detected in tcache 2 _int_freehızlı bin içindeki kontroller:- Eğer parçanın boyutu geçersizse (çok büyük veya küçük) tetikle:
- Hata mesajı:
free(): invalid next size (fast) - Eğer eklenen parça zaten hızlı binin tepe noktasıysa:
- Hata mesajı:
double free or corruption (fasttop) - Eğer tepedeki parçanın boyutu, eklediğimiz parçanın boyutundan farklıysa:
- Hata mesajı:
invalid fastbin entry (free)
_int_free_merge_chunk
_int_free_merge_chunkiçindeki kontroller:- Eğer parça tepe parça ise:
- Hata mesajı:
double free or corruption (top) - Eğer bir sonraki parça arenanın sınırlarının dışındaysa:
- Hata mesajı:
double free or corruption (out) - Eğer parça kullanılmadı olarak işaretlenmemişse (sonraki parçanın prev_inuse'inde):
- Hata mesajı:
double free or corruption (!prev) - Eğer bir sonraki parçanın boyutu çok küçük veya çok büyükse:
- Hata mesajı:
free(): invalid next size (normal) - Eğer önceki parça kullanılmıyorsa, konsolidasyon yapmaya çalışacaktır. Ancak,
prev_sizeönceki parçadaki belirtilen boyuttan farklıysa: - Hata mesajı:
corrupted size vs. prev_size while consolidating
_int_free_create_chunk
_int_free_create_chunkiçindeki kontroller:- Sıralanmamış bine bir parça eklerken,
unsorted_chunks(av)->fd->bk == unsorted_chunks(av)kontrol et: - Hata mesajı:
free(): corrupted unsorted chunks
do_check_malloc_state
do_check_malloc_stateiçindeki kontroller:- Eğer hizalanmamış hızlı bin parçası varsa:
- Hata mesajı:
do_check_malloc_state(): unaligned fastbin chunk detected
malloc_consolidate
malloc_consolidateiçindeki kontroller:- Eğer hizalanmamış hızlı bin parçası varsa:
- Hata mesajı:
malloc_consolidate(): unaligned fastbin chunk detected - Eğer yanlış hızlı bin parça boyutu varsa:
- Hata mesajı:
malloc_consolidate(): invalid chunk size
_int_realloc
_int_reallociçindeki kontroller:- Boyut çok büyük veya çok küçükse:
- Hata mesajı:
realloc(): invalid old size - Bir sonraki parçanın boyutu çok büyük veya çok küçükse:
- Hata mesajı:
realloc(): invalid next size
tip
AWS Hacking'i öğrenin ve pratik yapın:
HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın:
HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking'i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.
HackTricks