mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
21 lines
3.5 KiB
Markdown
21 lines
3.5 KiB
Markdown
# Use After Free
|
|
|
|
{{#include ../../../banners/hacktricks-training.md}}
|
|
|
|
## Basic Information
|
|
|
|
जैसा कि नाम से स्पष्ट है, यह कमजोरियां तब होती हैं जब एक प्रोग्राम **हीप में एक ऑब्जेक्ट के लिए कुछ स्थान** स्टोर करता है, **वहां कुछ जानकारी लिखता है**, **इसे मुक्त करता है** स्पष्ट रूप से क्योंकि इसकी अब आवश्यकता नहीं है और फिर **इसे फिर से एक्सेस करता है**।
|
|
|
|
यहां समस्या यह है कि जब **मुक्त मेमोरी को एक्सेस किया जाता है** तो यह अवैध नहीं है (यहां **कोई त्रुटियां नहीं होंगी**)। इसलिए, यदि प्रोग्राम (या हमलावर) ने **मुक्त मेमोरी को आवंटित किया और मनमाना डेटा स्टोर किया**, जब मुक्त मेमोरी को प्रारंभिक पॉइंटर से एक्सेस किया जाता है तो **डेटा को ओवरराइट किया जा सकता है** जिससे एक **कमजोरी उत्पन्न होती है जो उस डेटा की संवेदनशीलता पर निर्भर करती है** जो मूल रूप से स्टोर किया गया था (यदि यह एक फ़ंक्शन का पॉइंटर था जिसे कॉल किया जाने वाला था, तो एक हमलावर इसे नियंत्रित कर सकता है)।
|
|
|
|
### First Fit attack
|
|
|
|
एक फर्स्ट फिट हमला उन तरीकों को लक्षित करता है जिनसे कुछ मेमोरी आवंटक, जैसे कि glibc में, मुक्त मेमोरी का प्रबंधन करते हैं। जब आप मेमोरी के एक ब्लॉक को मुक्त करते हैं, तो इसे एक सूची में जोड़ा जाता है, और नए मेमोरी अनुरोध उस सूची से अंत से खींचते हैं। हमलावर इस व्यवहार का उपयोग **किस मेमोरी ब्लॉकों का पुन: उपयोग किया जाता है, इसे नियंत्रित करने के लिए कर सकते हैं**। इससे "use-after-free" समस्याएं उत्पन्न हो सकती हैं, जहां एक हमलावर **पुनः आवंटित की गई मेमोरी की सामग्री को बदल सकता है**, जिससे सुरक्षा का जोखिम उत्पन्न होता है।\
|
|
अधिक जानकारी के लिए देखें:
|
|
|
|
{{#ref}}
|
|
first-fit.md
|
|
{{#endref}}
|
|
|
|
{{#include ../../../banners/hacktricks-training.md}}
|