Array Indexing

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

मौलिक जानकारी

यह श्रेणी उन सभी सुरक्षा दोषों को शामिल करती है जो एरे के इंडेक्स के हैंडलिंग में त्रुटियों के कारण किसी विशेष डेटा को ओवरराइट करना संभव होता है। यह एक बहुत व्यापक श्रेणी है जिसमें कोई विशिष्ट मेथडोलॉजी नहीं है क्योंकि एक्सप्लोइटेशन मेकेनिज़्म पूरी तरह से दोष की स्थितियों पर निर्भर होता है।

हालांकि यहाँ आप कुछ अच्छे उदाहरण पा सकते हैं:

  • यहाँ 2 टकराने वाले एरे हैं, एक पतों के लिए जहां डेटा स्टोर होता है और एक उस डेटा के आकार के लिए। एक को दूसरे से ओवरराइट करना संभव है, जिससे किसी भी पते को एक आकार के रूप में इंडिकेट करने की अनुमति मिलती है। इससे free फ़ंक्शन के पते को GOT टेबल में लिखने की अनुमति मिलती है और फिर इसे system के पते से ओवरराइट करने की अनुमति मिलती है, और /bin/sh के साथ मेमोरी से फ्री को कॉल करने की अनुमति मिलती है।

  • 64 बिट, कोई nx नहीं। एक आकार को ओवरराइट करने के लिए एक प्रकार का बफर ओवरफ्लो प्राप्त करने के लिए जहां हर चीज़ को एक डबल नंबर के रूप में उपयोग किया जाएगा और सब कुछ सबसे छोटे से सबसे बड़े तक क्रमबद्ध किया जाएगा, इसलिए इस आवश्यकता को पूरा करने के लिए एक शैलकोड बनाना आवश्यक है, ध्यान देना चाहिए कि कैनेरी को इसकी स्थिति से हटाया नहीं जाना चाहिए और अंत में RIP को एक पते से ओवरराइट करना है, जो पिछली आवश्यकताओं को पूरा करने वाला हो और सबसे बड़े पते को स्टैक की शुरुआत पर एक नया पता दिखाने वाले एक पते के साथ जोड़ना है (प्रोग्राम द्वारा लीक किया गया है) ताकि रेट का उपयोग करके वहां जाने की संभावना हो।

  • 64 बिट, कोई relro, कैनेरी, nx, कोई pie नहीं। स्टैक में एक एरे में एक ऑफ-बाई-वन है जो एक पॉइंटर को नियंत्रित करने की अनुमति देता है जिससे वह एरे के ऑफ-बाई-वन में सभी संख्याओं का योग लिखता है। स्टैक नियंत्रित है ताकि GOT exit पता pop rdi; ret के साथ ओवरराइट हो जाए, और स्टैक में main का पता जोड़ा जाता है (वापस main पर लूप करने के लिए)। गोट में पुट्स का पता लीक करने के लिए आरओपी श्रृंखला का उपयोग किया जाता है (exit को कॉल किया जाएगा ताकि यह pop rdi; ret को कॉल करेगा और इसलिए स्टैक में इस श्रृंखला को निष्पादित करेगा)। अंत में रिट2लिब को निष्पादित करने के लिए एक नई आरओपी श्रृंखला का उपयोग किया जाता है।

  • 32 बिट, कोई relro, कैनेरी, nx, pie नहीं। लिबसी और हीप के पतों को स्टैक से लीक करने के लिए एक बुरा इंडेक्सिंग का दुरुपयोग करें। बफर ओवरफ्लो का दुरुपयोग करने के लिए रेट2लिब कॉल करने के लिए system('/bin/sh') (हीप पता एक जांच को छलने के लिए आवश्यक है)।

Last updated