Pointer Redirecting

Support HackTricks

String pointers

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

यदि उदाहरण के लिए एक system फ़ंक्शन कॉल एक कमांड निष्पादित करने के लिए स्ट्रिंग के पते का उपयोग करने जा रहा है, तो एक हमलावर स्टैक में एक अलग स्ट्रिंग का पता रख सकता है, export PATH=.:$PATH और वर्तमान निर्देशिका में नई स्ट्रिंग के पहले अक्षर के नाम वाला एक स्क्रिप्ट बना सकता है क्योंकि इसे बाइनरी द्वारा निष्पादित किया जाएगा।

आप इसका उदाहरण यहाँ पा सकते हैं:

Function pointers

स्ट्रिंग पॉइंटर के समान लेकिन फ़ंक्शंस पर लागू होता है, यदि स्टैक में एक फ़ंक्शन का पता है जिसे कॉल किया जाएगा, तो इसे बदलना संभव है (जैसे system को कॉल करना)।

आप इसका उदाहरण यहाँ पा सकते हैं:

References

Support HackTricks

Last updated