आजकल आप कोड इंजेक्शन, शोषण, बफर-, स्टैक- और हीप-ओवरफ्लो इत्यादि के बारे में बहुत कुछ पढ़ सकते हैं जिससे इंजेक्शन और रन कोड होता है। मुझे आश्चर्य है कि यह सामान जावा के लिए प्रासंगिक है।जावा में कोड इंजेक्शन संभव है?
मुझे पता है, जावा भाषा में कोई संकेतक नहीं हैं। लेकिन क्या JVM ढेर और/या ढेर में डेटा व्यवस्थित नहीं करता है? मुझे पता है कि कोई eval फ़ंक्शन नहीं है (जैसे PHP में) ताकि आप जावा-कोड के रूप में आसानी से इनपुट का उपयोग न कर सकें। मुझे यकीन नहीं है कि बाइटकोड स्तर पर क्या चल रहा है।
मुझे लगता है कि एक्सएसएस संभव है, उदाहरण के लिए जावा ईई अनुप्रयोग में, जब कोई इनपुट फ़िल्टर नहीं किया जाता है। लेकिन यह एक जावास्क्रिप्ट इंजेक्शन नहीं है, क्योंकि इंजेक्शन कोड ब्राउज़र में चलता है और JVM में नहीं?
तो जावा के साथ कौन से कोड इंजेक्शन संभव हैं और कौन नहीं हैं? और यह अन्य जावा प्लेटफार्म भाषाओं के लिए भी सच है?
अग्रिम धन्यवाद।
के लिए चेक owasp वेबसाइट दक्षता के बारे में टिप्पणी इस संदर्भ में बहुत प्रासंगिक नहीं लगता है, कोड इंजेक्शन जरूरी कुशल होने की जरूरत नहीं है। अधिकांश शोषण के लिए उच्च प्रदर्शन की आवश्यकता नहीं है ...। मुद्दा यह है कि कई ऐप्स "स्वीकार कोड, इसे संकलित करें, इसे चलाएं" चीज नहीं करते हैं, लेकिन जो लोग करते हैं वे कमजोर होंगे। – sleske
"यदि जावा कंपाइलर्स लाइट-वेट लाइब्रेरी सेवाओं के रूप में उजागर हो जाते हैं": ठीक है, वे पहले से ही हैं (javax.tools.JavaCompiler देखें, http://java.sun.com/javase/6/docs/api/javax/tools /JavaCompiler.html)। लेकिन फिर, कोड इंजेक्शन के लिए काम करने के लिए, हमले के तहत ऐप को * JavaCompiler का उपयोग करने की आवश्यकता है, जो सबसे सौभाग्य से नहीं करता है। – sleske
-1 क्योंकि भेद्यता की चर्चा बल्कि उलझन में है ... – sleske