2009-02-09 8 views
5

पर यादृच्छिकीकरण एक पाठ्यक्रम काम मैं एक एक बफर अतिप्रवाह कारण और कोड है कि ढेर पर मौजूद है निष्पादित करने के लिए कोड का फायदा उठाने लिखने की ज़रूरत के हिस्से के रूप।ढेर निष्पादन संरक्षण और ubuntu

मैं निम्न आदेश द्वारा ढेर randomiztion बंद कर दिया है: sysctl -w kernel.randomize_va_space = 0 हालांकि, मैं एक तरह से ढेर निष्पादन सुरक्षा बंद करने के लिए प्राप्त करने में असमर्थ हूँ। मुझे यकीन नहीं है कि उबंटू में कुछ स्टैक निष्पादन सुरक्षा है या नहीं ... तो मेरा पहला सवाल यह है कि क्या उबंटू 8.10 में लाल टोपी की निष्पादन-ढाल जैसी कुछ है और यदि ऐसा है, तो हम इसे कैसे बंद कर सकते हैं।

मैं एक बफर अतिप्रवाह कारण और ढेर से निर्देश निष्पादित करने के लिए कोशिश कर रहे हैं, लेकिन जब भी मैं ऐसा करने के लिए प्रयास करते हैं, यह मुझे एक SEG गलती देता है।

मुझे मिल गया ve ubuntu 8.10 64 बिट, हालांकि, कार्यक्रम im डिबगिंग एक i386 मशीन पर संकलित किया गया है ढेर संरक्षण के साथ बंद कर दिया।

+0

* lol * पटाखे के खिलाफ युद्ध व्यापार जानने के लिए हमारे सफेद टोपी रोक रहा है। हो सकता है कि अपराधियों को चलेगा जब हम नहीं जानते कि वे यह कैसे करते हैं? ;) –

+0

क्या [यह लिंक] (http://pwet.fr/man/linux/administration_systeme/execstack) मदद करेगा? – jpalecek

उत्तर

5

आप शायद, अपने जीसीसी संकलन में -z execstack ध्वज के साथ संकलित करने के लिए के साथ चाहते हैं -fno-stack-protector (जीसीसी के एसएसपी/Propolice ढेर सुरक्षा को अक्षम करने के लिए), यानी:

gcc -fno-stack-protector -z execstack -o vuln vuln.c 

सब कुछ शायद इस के बाद जेक बाहर कर देना चाहिए। ध्यान दें कि sysctl -w kernel.randomize_va_space=0 सिर्फ पता स्थान यादृच्छिकता है, और सुरक्षा ढेर नहीं, प्रति-सी; जो विभिन्न तकनीकों का उपयोग करने के खिलाफ मजबूर हो सकता है।

0

इन कार्यक्रमों में अक्सर निष्पादन के ढेर के बिना इस्तेमाल किया जा सकता। यदि पीड़ित को निष्पादन योग्य ढेर के बिना संकलित किया गया है, तो वापसी-उन्मुख प्रोग्रामिंग को शोषण तकनीक के रूप में देखें।

http://en.wikipedia.org/wiki/Return-oriented_programming

संबंधित मुद्दे