Heap Functions Security Checks
Reading time: 6 minutes
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाएँ देखें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमारे Twitter 🐦 @hacktricks_live** का पालन करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।
unlink
अधिक जानकारी के लिए देखें:
यह किए गए चेक का सारांश है:
- जांचें कि चंक का निर्दिष्ट आकार अगले चंक में
prev_size
के समान है - त्रुटि संदेश:
corrupted size vs. prev_size
- यह भी जांचें कि
P->fd->bk == P
औरP->bk->fw == P
- त्रुटि संदेश:
corrupted double-linked list
- यदि चंक छोटा नहीं है, तो जांचें कि
P->fd_nextsize->bk_nextsize == P
औरP->bk_nextsize->fd_nextsize == P
- त्रुटि संदेश:
corrupted double-linked list (not small)
_int_malloc
अधिक जानकारी के लिए देखें:
- फास्ट बिन खोज के दौरान चेक:
- यदि चंक गलत संरेखित है:
- त्रुटि संदेश:
malloc(): unaligned fastbin chunk detected 2
- यदि फॉरवर्ड चंक गलत संरेखित है:
- त्रुटि संदेश:
malloc(): unaligned fastbin chunk detected
- यदि लौटाया गया चंक उसका इंडेक्स के कारण सही आकार नहीं है:
- त्रुटि संदेश:
malloc(): memory corruption (fast)
- यदि tcache को भरने के लिए उपयोग किया गया कोई चंक गलत संरेखित है:
- त्रुटि संदेश:
malloc(): unaligned fastbin chunk detected 3
- छोटे बिन खोज के दौरान चेक:
- यदि
victim->bk->fd != victim
: - त्रुटि संदेश:
malloc(): smallbin double linked list corrupted
- कंसोलिडेट के दौरान चेक प्रत्येक फास्ट बिन चंक के लिए किए गए:
- यदि चंक गलत संरेखित है तो ट्रिगर करें:
- त्रुटि संदेश:
malloc_consolidate(): unaligned fastbin chunk detected
- यदि चंक का आकार उस आकार से भिन्न है जो इसे होना चाहिए:
- त्रुटि संदेश:
malloc_consolidate(): invalid chunk size
- यदि पिछले चंक का उपयोग नहीं हो रहा है और पिछले चंक का आकार
prev_chunk
द्वारा निर्दिष्ट आकार से भिन्न है: - त्रुटि संदेश:
corrupted size vs. prev_size in fastbins
- अनसॉर्टेड बिन खोज के दौरान चेक:
- यदि चंक का आकार अजीब है (बहुत छोटा या बहुत बड़ा):
- त्रुटि संदेश:
malloc(): invalid size (unsorted)
- यदि अगले चंक का आकार अजीब है (बहुत छोटा या बहुत बड़ा):
- त्रुटि संदेश:
malloc(): invalid next size (unsorted)
- यदि अगले चंक द्वारा निर्दिष्ट पिछले आकार चंक के आकार से भिन्न है:
- त्रुटि संदेश:
malloc(): mismatching next->prev_size (unsorted)
- यदि
victim->bck->fd == victim
नहीं है याvictim->fd == av (arena)
नहीं है: - त्रुटि संदेश:
malloc(): unsorted double linked list corrupted
- चूंकि हम हमेशा अंतिम को चेक कर रहे हैं, इसका fd हमेशा arena struct की ओर इशारा करना चाहिए।
- यदि अगले चंक यह नहीं बता रहा है कि पिछले का उपयोग हो रहा है:
- त्रुटि संदेश:
malloc(): invalid next->prev_inuse (unsorted)
- यदि
fwd->bk_nextsize->fd_nextsize != fwd
: - त्रुटि संदेश:
malloc(): largebin double linked list corrupted (nextsize)
- यदि
fwd->bk->fd != fwd
: - त्रुटि संदेश:
malloc(): largebin double linked list corrupted (bk)
- लार्ज बिन (इंडेक्स द्वारा) खोज के दौरान चेक:
bck->fd-> bk != bck
:- त्रुटि संदेश:
malloc(): corrupted unsorted chunks
- लार्ज बिन (अगले बड़े) खोज के दौरान चेक:
bck->fd-> bk != bck
:- त्रुटि संदेश:
malloc(): corrupted unsorted chunks2
- टॉप चंक उपयोग के दौरान चेक:
chunksize(av->top) > av->system_mem
:- त्रुटि संदेश:
malloc(): corrupted top size
tcache_get_n
tcache_get_n
में चेक:- यदि चंक गलत संरेखित है:
- त्रुटि संदेश:
malloc(): unaligned tcache chunk detected
tcache_thread_shutdown
tcache_thread_shutdown
में चेक:- यदि चंक गलत संरेखित है:
- त्रुटि संदेश:
tcache_thread_shutdown(): unaligned tcache chunk detected
__libc_realloc
__libc_realloc
में चेक:- यदि पुराना पॉइंटर गलत संरेखित है या आकार गलत था:
- त्रुटि संदेश:
realloc(): invalid pointer
_int_free
अधिक जानकारी के लिए देखें:
_int_free
की शुरुआत में चेक:- पॉइंटर संरेखित है:
- त्रुटि संदेश:
free(): invalid pointer
- आकार
MINSIZE
से बड़ा और आकार भी संरेखित है: - त्रुटि संदेश:
free(): invalid size
_int_free
tcache में चेक:- यदि
mp_.tcache_count
से अधिक प्रविष्टियाँ हैं: - त्रुटि संदेश:
free(): too many chunks detected in tcache
- यदि प्रविष्टि संरेखित नहीं है:
- त्रुटि संदेश:
free(): unaligned chunk detected in tcache 2
- यदि मुक्त चंक पहले से ही मुक्त किया गया था और tcache में चंक के रूप में मौजूद है:
- त्रुटि संदेश:
free(): double free detected in tcache 2
_int_free
फास्ट बिन में चेक:- यदि चंक का आकार अमान्य है (बहुत बड़ा या छोटा) ट्रिगर करें:
- त्रुटि संदेश:
free(): invalid next size (fast)
- यदि जोड़ा गया चंक पहले से ही फास्ट बिन का शीर्ष था:
- त्रुटि संदेश:
double free or corruption (fasttop)
- यदि शीर्ष पर चंक का आकार उस चंक के आकार से भिन्न है जिसे हम जोड़ रहे हैं:
- त्रुटि संदेश:
invalid fastbin entry (free)
_int_free_merge_chunk
_int_free_merge_chunk
में चेक:- यदि चंक शीर्ष चंक है:
- त्रुटि संदेश:
double free or corruption (top)
- यदि अगला चंक एरेना की सीमाओं के बाहर है:
- त्रुटि संदेश:
double free or corruption (out)
- यदि चंक को उपयोग में नहीं चिह्नित किया गया है (अगले चंक से prev_inuse में):
- त्रुटि संदेश:
double free or corruption (!prev)
- यदि अगले चंक का आकार बहुत छोटा या बहुत बड़ा है:
- त्रुटि संदेश:
free(): invalid next size (normal)
- यदि पिछले चंक का उपयोग नहीं हो रहा है, तो यह कंसोलिडेट करने की कोशिश करेगा। लेकिन, यदि
prev_size
पिछले चंक में निर्दिष्ट आकार से भिन्न है: - त्रुटि संदेश:
corrupted size vs. prev_size while consolidating
_int_free_create_chunk
_int_free_create_chunk
में चेक:- अनसॉर्टेड बिन में चंक जोड़ते समय, जांचें कि
unsorted_chunks(av)->fd->bk == unsorted_chunks(av)
: - त्रुटि संदेश:
free(): corrupted unsorted chunks
do_check_malloc_state
do_check_malloc_state
में चेक:- यदि गलत संरेखित फास्ट बिन चंक:
- त्रुटि संदेश:
do_check_malloc_state(): unaligned fastbin chunk detected
malloc_consolidate
malloc_consolidate
में चेक:- यदि गलत संरेखित फास्ट बिन चंक:
- त्रुटि संदेश:
malloc_consolidate(): unaligned fastbin chunk detected
- यदि गलत फास्ट बिन चंक आकार:
- त्रुटि संदेश:
malloc_consolidate(): invalid chunk size
_int_realloc
_int_realloc
में चेक:- आकार बहुत बड़ा या बहुत छोटा है:
- त्रुटि संदेश:
realloc(): invalid old size
- अगले चंक का आकार बहुत बड़ा या बहुत छोटा है:
- त्रुटि संदेश:
realloc(): invalid next size
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाएँ देखें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमारे Twitter 🐦 @hacktricks_live** का पालन करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।