Stack Overflow
स्टैक ओवरफ्लो क्या है
स्टैक ओवरफ्लो एक सुरक्षा दोष है जो उस समय होता है जब कोई प्रोग्राम स्टैक में अधिक डेटा लिखता है जितना उसे धारित करने के लिए आवंटित किया गया है। यह अतिरिक्त डेटा पड़ोसी मेमोरी स्थान को अधिक लिखने की वजह से मान्य डेटा का क्षति, नियंत्रण प्रवाह विघटन और संभावित दुर्भाग्यपूर्ण कोड का क्रमांकन करता है। यह समस्या अक्सर उस असुरक्षित फ़ंक्शन के प्रयोग से उत्पन्न होती है जो इनपुट पर सीमा की जांच नहीं करते।
इस ओवरराइट की मुख्य समस्या यह है कि सहेजी गई निर्देशिका पॉइंटर (EIP/RIP) और सहेजी गई बेस पॉइंटर (EBP/RBP) पिछले फ़ंक्शन में वापस जाने के लिए स्टैक पर संग्रहीत होते हैं। इसलिए, एक हमलावर उन्हें ओवरराइट कर सकता है और प्रोग्राम के निष्पादन प्रवाह को नियंत्रित कर सकता है।
यह सुरक्षा दोष आम तौर पर उत्पन्न होता है क्योंकि एक फ़ंक्शन स्टैक में अपने लिए निर्धारित की गई मात्रा से अधिक बाइट कॉपी करता है, इसलिए वह स्टैक के अन्य हिस्सों को ओवरराइट कर सकता है।
इसमें इस प्रकार के कुछ सामान्य फ़ंक्शन विकल्पनीय हो सकते हैं:
तंतु अधिरोहण के ऑफसेट खोजना
स्टैक ओवरफ्लो को खोजने का सबसे सामान्य तरीका बहुत बड़े इनपुट का उपयोग करना है A
(उदाहरण के लिए python3 -c 'print("A"*1000)'
) और यह उम्मीद करना है कि Segmentation Fault
होगा जिससे पता चलेगा कि **पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चला कि पता चबाला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चला चल
या GEF:
स्टैक ओवरफ्लो का शोषण
ओवरफ्लो के दौरान (यदि ओवरफ्लो का आकार पर्याप्त बड़ा हो) आप स्टैक के भीतर स्थानीय चरों के मानों को अधिलेखित कर सकेंगे जब तक सहेजे गए EBP/RBP और EIP/RIP (या और भी) तक न पहुंच जाएं। इस प्रकार की सुरक्षा दोष का उपयोग करने का सबसे सामान्य तरीका है वापसी पता को संशोधित करना ताकि जब फ़ंक्शन समाप्त होता है, नियंत्रण प्रवाह उपयोगकर्ता द्वारा निर्दिष्ट स्थान पर पुनर्निर्देशित हो।
हालांकि, अन्य परिदृश्यों में शायद केवल स्टैक में कुछ चरों के मानों को अधिलेखित करना ही शोषण के लिए पर्याप्त हो सकता है (जैसे आसान CTF चुनौतियों में)।
Ret2win
इस प्रकार की CTF चुनौतियों में, बाइनरी के भीतर एक फ़ंक्शन होता है जो कभी नहीं बुलाया जाता और जिसे आपको बुलाना होगा ताकि जीत सकें। इन चुनौतियों में आपको बस वापसी पता को अधिलेखित करने के लिए ऑफसेट खोजना होगा और फ़ंक्शन का पता लगाना होगा जिसे कॉल करने के लिए (सामान्यत: ASLR अक्षम होगा) ताकि जब संक्रमित फ़ंक्शन वापसी करता है, छुपा हुआ फ़ंक्शन कॉल होगा:
pageRet2winस्टैक शेलकोड
इस परिदृश्य में हमलावर एक शेलकोड को स्टैक में रख सकता है और नियंत्रित EIP/RIP का दुरुपयोग करके शेलकोड पर जाने और विभिन्न कोड का निषेधार्थ निष्पादन करने के लिए उस पर जाने का दुरुपयोग कर सकता है:
pageStack ShellcodeROP और Ret2... तकनीकें
यह तकनीक पिछली तकनीक के मुख्य सुरक्षा को उलटने के लिए मौखिक तवचा (NX) को उल्टाने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के लिए मौखिक तवचा को उलटने के
Last updated