मैं फ्रीबीएसडी सिस्टम पर बफर ओवरफ्लो के साथ प्रयोग कर रहा हूं। पहले प्रयोग के रूप में मैंने शोषित कार्यक्रम को एक और प्रक्रिया शुरू करने की कोशिश की है (/ इस मामले में बिन/होस्टनाम)। यह सब ठीक काम किया, कार्यक्रम मेजबाननाम मुद्रित किया और फिर समाप्त कर दिया। उसके बाद मैंने प्रोग्राम को खोलने की कोशिश की (यानी निष्पादन/बिन/sh)। मैंने माना कि यह प्रोग्राम को प्रदर्शित करने वाले स्ट्रिंग का आदान-प्रदान करके किया जा सकता है। जब मैं इसे कोशिश करता हूं तो शोषित प्रोग्राम बस छोड़ देता है, जीडीबी के अनुसार यह सफलतापूर्वक एक नई प्रक्रिया (/ bin/sh) उत्पन्न करता है। हालांकि, कोई खोल पैदा नहीं हुआ है। मैंने फिर अपना पहला शोषण करने की कोशिश की और/bin/sh फ़ाइल को/bin/hostname में ले जाया, फिर भी कुछ भी नहीं बदला। मेरा प्रश्न अब है, किसी भी अन्य कमांड से निष्पादन/बिन/sh के बारे में क्या लगता है?बफर ओवरफ़्लो - प्रोग्राम खोलने के बाद समाप्त होता है
संदर्भ के लिए, खोल स्पॉन प्रयास के लिए मैं निम्नलिखित shellcode प्रयोग किया है:
char code[] = "\x31\xc0\x50\x68\x2f\x2f\x73\x68"
"\x68\x2f\x62\x69\x6e\x89\xe3\x50"
"\x54\x53\xb0\x3b\x50\xcd\x80";
यह संबंधित हो सकता है: http://forums.freebsd.org/showthread.php?t=10054 – zxcdw
अधिक जानकारी की आवश्यकता है, इसलिए अपने कोड को अपने शेलकोड स्रोत सहित पोस्ट करें, ताकि लोग इसमें देख सकें। – rumpel