Print Stack Canary
Last updated
Last updated
AWS हैकिंग सीखें और अभ्यास करें:HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE) GCP हैकिंग सीखें और अभ्यास करें: HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)
एक कार्यक्रम विकल्पनशील स्थिति की कल्पना करें जहां स्टैक ओवरफ्लो के लिए विकल्पनशील एक प्रोग्राम एक स्टैक ओवरफ्लो के हिस्से को दिखा सकता है। हमलावर को पता है कि कैनरी का पहला बाइट एक शून्य बाइट है (\x00
) और बाकी कैनरी रैंडम बाइट्स हैं। फिर, हमलावर एक ओवरफ्लो बना सकता है जो सिर्फ कैनरी के पहले बाइट तक स्टैक को अधिक करता है।
फिर, हमलावर पेलोड के बीच में पुट्स कार्यक्षमता को कॉल करता है जो कैनरी को सभी प्रिंट करेगा (पहले शून्य बाइट को छोड़कर)।
इस जानकारी के साथ हमलावर नए हमले को बना सकता है और भेज सकता है जानते हुए कैनरी (एक ही प्रोग्राम सत्र में)।
स्पष्ट है कि यह युक्ति बहुत सीमित है क्योंकि हमलावर को अपने पेलोड की सामग्री को प्रिंट करने की आवश्यकता है ताकि कैनरी को बाहरी कर सके और फिर एक नए पेलोड (में एक ही प्रोग्राम सत्र) बना सके और भेज सके वास्तविक बफर ओवरफ्लो।
CTF उदाहरण:
64 बिट, ASLR सक्षम है लेकिन PIE नहीं, पहला कदम है कैनरी के 0x00 बाइट तक एक ओवरफ्लो भरना और फिर पुट्स को कॉल करना और इसे लीक करना। कैनरी के साथ एक ROP गैजेट बनाया जाता है जो पुट्स को कॉल करने के लिए GOT से पुट्स का पता लीक करने के लिए और system('/bin/sh')
को कॉल करने के लिए एक ROP गैजेट।
32 बिट, ARM, कोई relro नहीं, कैनरी, nx, कोई पाई। इसमें एक कॉल के साथ एक ओवरफ्लो होता है जिसमें कैनरी + ret2lib को लीक करने के लिए system
को कॉल करने के लिए एक ROP श्रृंखला होती है जो r0 (arg /bin/sh
) और pc (पता सिस्टम का) को पॉप करने के लिए।
एक अर्बिट्रेरी पढ़ना जैसे कि फॉर्मेट स्ट्रिंग्स द्वारा प्रदान किया गया एक ऐसा संभव है कि कैनरी को लीक किया जा सकता है। इस उदाहरण की जाँच करें: https://ir0nstone.gitbook.io/notes/types/stack/canaries और आप यहां पढ़ सकते हैं कि कैसे फॉर्मेट स्ट्रिंग्स का दुरुपयोग करके अर्बिट्रेरी मेमोरी पतों को पढ़ने के बारे में:
यह चैलेंज एक बहुत ही सरल तरीके से फॉर्मेट स्ट्रिंग का दुरुपयोग करता है ताकि स्टैक से कैनरी पढ़ सके।
AWS हैकिंग सीखें और अभ्यास करें:HackTricks प्रशिक्षण AWS रेड टीम एक्सपर्ट (ARTE) GCP हैकिंग सीखें और अभ्यास करें: HackTricks प्रशिक्षण GCP रेड टीम एक्सपर्ट (GRTE)