Cyber Security Academy · पाठ

Heap Exploitation: Use-After-Free और Heap Spraying

glibc malloc internals, use-after-free conditions और heap spray techniques को समझिए।

पाठ 4, कुल 4 में से13 चरण

Heap Exploitation: Use-After-Free और Heap Spraying, CoddyKit पर Cyber Security Academy का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Cyber Security Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Cyber Security Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

हीप

हीप रनटाइम पर malloc()/free()/new/delete के माध्यम से आवंटित गतिशील मेमोरी है। स्टैक के विपरीत, हीप का विन्यास कॉल स्टैक के बजाय आवंटन और मुक्ति के पैटर्न से निर्धारित होता है। हीप की कमजोरियाँ ब्राउज़र, पार्सर और नेटवर्क डेमन में आम हैं।

उपयोग-पश्चात-मुक्ति (UAF)

उपयोग-पश्चात-मुक्ति की कमजोरी तब होती है जब कोई प्रोग्राम मेमोरी क्षेत्र को मुक्त करने के बाद भी उसका उपयोग करता रहता है। यदि मुक्त क्षेत्र को हमलावर-नियंत्रित डेटा से फिर आवंटित किया जाता है, तो प्रोग्राम पुराने पॉइंटर का उपयोग करके हमलावर के डेटा पर काम करने लगता है।

UAF उदाहरण

UAF पैटर्न:

// Vulnerable C code:
struct Object *obj = malloc(sizeof(*obj));
free(obj);
// Later, attacker causes a new malloc to fill the freed region
// with their data...
obj->method();  // now calls attacker's function pointer!

हीप फ़ेंग शुई

हीप फ़ेंग शुई (या हीप ग्रूमिंग) हीप आवंटक में हेरफेर करने की तकनीक है, जिससे ऑब्जेक्ट को विशिष्ट स्थानों पर रखा जा सके और मुक्त मेमोरी का नियंत्रित पुनःउपयोग संभव हो। हमलावर सटीक क्रम में आवंटन और मुक्ति करवाकर हीप का आकार निर्धारित करता है।

हीप स्प्रेइंग

हीप स्प्रेइंग हीप में हमलावर-नियंत्रित डेटा (शेलकोड + NOP स्लेड) की बड़ी मात्रा आवंटित करता है। हीप का इतना बड़ा भाग भर जाने पर किसी गलत पॉइंटर के हमलावर के डेटा पर पहुँचने की संभावना बढ़ जाती है। इसका उपयोग अक्सर UAF या प्रकार-भ्रम की त्रुटियों के साथ किया जाता है।

// JavaScript heap spray:
var spray = [];
for(var i = 0; i < 100000; i++) {
  spray[i] = unescape("%90%90...shellcode...");
}

दोहरा मुक्तिकरण

दोहरा मुक्तिकरण तब होता है जब मेमोरी को दो बार मुक्त किया जाता है। दूसरी मुक्ति हीप आवंटक के मेटाडेटा (मुक्त सूची के पॉइंटर) को दूषित कर देती है और संभावित रूप से हमलावर को यह नियंत्रित करने देती है कि अगला आवंटन कहाँ रखा जाए — यानी मनमाने पते पर लिखा जा सके।

हीप बफ़र ओवरफ़्लो

स्टैक ओवरफ़्लो की तरह, हीप बफ़र ओवरफ़्लो हीप आवंटन के अंत से आगे लिखता है। स्टैक ओवरफ़्लो के विपरीत, लक्ष्य आम तौर पर हीप मेटाडेटा (आकार, आगे/पीछे के पॉइंटर) या फ़ंक्शन पॉइंटर अथवा वीटेबल पॉइंटर वाले पास के आवंटन होते हैं।

प्रकार-भ्रम

प्रकार-भ्रम तब होता है जब एक प्रकार के रूप में आवंटित मेमोरी के हिस्से का उपयोग किसी दूसरे प्रकार के रूप में किया जाता है। यह JavaScript इंजन और C++ कोड में आम है। यदि हमलावर आवंटन क्रम को नियंत्रित कर सके, तो वह इंजन को हमलावर के डेटा को विश्वसनीय ऑब्जेक्ट मानने पर मजबूर कर सकता है।

पीटीमॉलोक और टीसीमॉलोक की आंतरिक कार्यप्रणाली

हीप आवंटक को समझने से एक्सप्लॉइट विकास में सहायता मिलती है। ग्लिबसी का पीटीमॉलोक बिन (अक्रमित, छोटे, बड़े) और तेज़ बिन का उपयोग करता है। टीकैश (प्रति-थ्रेड कैश) आवंटन का पहला स्रोत है। एक्सप्लॉइट अक्सर भविष्य के आवंटन पतों को नियंत्रित करने के लिए बिन के दूषण को लक्ष्य बनाते हैं।

शमन उपाय

हीप एक्सप्लॉइटेशन के विरुद्ध शमन उपाय:

  • हीप यादृच्छिकीकरण (ASLR का भाग) — हीप आधार को यादृच्छिक बनाता है
  • सुरक्षित अनलिंकिंग — अनलिंक करने से पहले आगे/पीछे के पॉइंटर का सत्यापन करता है
  • टीकैश विषाक्तीकरण का पता लगाना — ग्लिबसी 2.32 में जोड़ा गया
  • पॉइंटर मैनगलिंग — टीकैश में संग्रहीत पॉइंटर को एन्क्रिप्ट करता है
  • मेमोरी-सुरक्षित भाषाएँ — रस्ट कंपाइल समय पर UAF को समाप्त करता है

ब्राउज़र हीप एक्सप्लॉइट

अधिकांश ब्राउज़र शून्य-दिवसीय कमजोरियों में JavaScript इंजन (वी8, SpiderMonkey) की हीप कमजोरियाँ शामिल होती हैं। आधुनिक ब्राउज़र सैंडबॉक्स से बाहर निकलने वाली शृंखलाएँ बनाते हैं: रेंडरर में हीप त्रुटि → ब्राउज़र प्रक्रिया से बाहर निकलना → OS विशेषाधिकार वृद्धि। हर चरण के लिए अपनी तकनीक आवश्यक होती है।

त्वरित जाँच: हीप एक्सप्लॉइटेशन

कौन-सी कमजोरी हमलावर को ऐसी मेमोरी के पुराने पॉइंटर का उपयोग करके प्रोग्राम के निष्पादन को नियंत्रित करने देती है जिसे पहले ही मुक्त करके हमलावर के डेटा से फिर आवंटित किया जा चुका है?

पाठ का पुनरावलोकन

हीप की कमजोरियाँ — UAF, दोहरा मुक्तिकरण, हीप ओवरफ़्लो और प्रकार-भ्रम — गतिशील मेमोरी के गलत प्रबंधन का शोषण करती हैं। उपयोग-पश्चात-मुक्ति आधुनिक एक्सप्लॉइट वर्गों में सबसे अधिक प्रचलित है। हीप स्प्रेइंग हमलावर के डेटा पर पहुँचने की संभावना बढ़ाता है। शमन उपाय: ASLR, सुरक्षित अनलिंकिंग और पॉइंटर मैनगलिंग। रस्ट जैसी मेमोरी-सुरक्षित भाषाएँ इन वर्गों को पूरी तरह समाप्त कर देती हैं।

शुरुआत निःशुल्क

एआई शिक्षक के साथ Cyber Security Academy सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
76
पाठ
303

अक्सर पूछे जाने वाले प्रश्न

क्या “Heap Exploitation: Use-After-Free और Heap Spraying” पाठ निःशुल्क है?

हाँ — Cyber Security Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “Heap Exploitation: Use-After-Free और Heap Spraying” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Cyber Security Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“Heap Exploitation: Use-After-Free और Heap Spraying” में मैं क्या सीखूँगा?

glibc malloc internals, use-after-free conditions और heap spray techniques को समझिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Cyber Security Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Cyber Security Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Cyber Security Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।

“Heap Exploitation: Use-After-Free और Heap Spraying” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Cyber Security Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Cyber Security Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Stack Buffer Overflows
  2. Return-Oriented Programming (ROP)
  3. Format String Vulnerabilities
  4. Heap Exploitation: Use-After-Free और Heap Spraying
← Cyber Security Academy पर वापस जाएँ