सड़क पर दो घरों की कल्पना करो। एक तुम्हारा दोस्त का घर है और एक उसका बुरा पागल पड़ोसी पड़ोसी का घर तीन दरवाजे नीचे है। दुष्ट पागल पड़ोसी पड़ोसी कभी प्रवेश या पत्तियां नहीं लेता है, और उसकी जगह तंग हो जाती है।
अब, आपका मित्र इतना भरोसेमंद दोस्त है, वह आपको एक जगह से एक दूसरे के बाद एक बॉक्स को नीचे रखकर, अपने स्थान पर कुछ भी स्टोर करने देगा। असल में, वह इतना अच्छा दोस्त है कि वह दूसरे के बाद एक बॉक्स को नीचे रखेगा, यह देखने के बिना कि क्या वह दीवार पर मारा गया है, जब तक कि वे मिडयर में नहीं जाते और आखिर में सड़क पर दो अन्य घरों के माध्यम से दाएं बुराई पागल पड़ोसी पड़ोसी का घर। लेकिन आपका मित्र भरोसा करता है कि आप ऐसा नहीं करेंगे क्योंकि वह आपको पसंद करता है (और वह थोड़ा सा मूर्ख है)।
तो आपके पास अपने अच्छे भरोसेमंद दोस्त का शोषण करके बुराई पागल पड़ोसी के घर में कुछ डालने का अवसर है।
निम्नलिखित नियम बदलें और आप एक बफर अतिप्रवाह हमला करने के लिए सादृश्य देखेंगे:
- "अपने दोस्त के घर" -> "एक प्रोग्राम है जो जांच नहीं की जाती के एक हिस्से को बफर ओवरफ्लो "
- " उसका बुरा पागल पड़ोसी पड़ोसी का घर "->" एक प्रोग्राम का एक और हिस्सा जो सुरक्षित होना चाहिए "
- " बॉक्स "->" कार्यक्रम के लिए तर्क/पैरामीटर जो जांच नहीं करता है बफर ओवरफ्लो के लिए "
यह केवल तभी सफल होता है जब कोई व्यक्ति यह पता लगाता है कि स्मृति का सुरक्षित क्षेत्र कहां है, और प्रश्न में प्रोग्राम के लिए तर्क के रूप में क्या पारित किया जाना है, जो सुरक्षित क्षेत्र में वांछित प्रभाव के लिए समाप्त हो जाएगा । (चाहे वह डेटा है, या कोड जो शोषक के कोड को निष्पादित करने का कारण बनता है)
स्रोत
2009-01-20 14:11:43
@ कोडी ब्रोकियस, संपादन के लिए धन्यवाद। –