
जावा RMI डिसीरियलाइज़ेशन भेद्यता के लिए POC
Java RMI deserialization भेद्यता के लिए POC
इस poc को चलाने के लिए आपको संभवतः JDK 8 का उपयोग करना होगा।
क्लाइंट और सर्वर दोनों ओर Message class पर ध्यान दें। वे अलग हैं। और यही अंतर इस भेद्यता को समझने की कुंजी है।
Oracle ने जो फिक्स जारी किया है, वह है डेवलपर को java security policy में deserialization white/black list कॉन्फ़िगर करने के लिए कहना। मैं कहूंगा, कितने डेवलपर जानते होंगे कि यह list तब तक मौजूद है जब तक उन्हें हैक नहीं किया जाता?
मैंने एक परीक्षण प्रोग्राम लिखने के बारे में सोचा, लेकिन मैं आलसी हूँ.. यदि आप मेरे कोड को समझते हैं, तो आप आसानी से अपना खुद का लिख सकते हैं। मेरा सुझाव है कि आप java instrument या reflection का उपयोग करें।
और Remote code execution संभव है यदि कुछ classes target classpath में मौजूद हों:
http://www.freebuf.com/vuls/126499.html
यह प्रोग्राम केवल शैक्षिक और परीक्षण उद्देश्य के लिए है। बिना अनुमति के इसका उपयोग न करें। दुर्भावनापूर्ण उद्देश्य के लिए इसका उपयोग न करें। सामान्य अस्वीकरण लागू होता है, विशेष रूप से यह तथ्य कि इन प्रोग्रामों द्वारा प्रदान की गई जानकारी या कार्यक्षमता के प्रत्यक्ष या अप्रत्यक्ष उपयोग से होने वाली किसी भी क्षति के लिए मैं उत्तरदायी नहीं हूँ। लेखक या कोई भी Internet provider इन प्रोग्रामों की सामग्री या दुरुपयोग या उनके किसी भी व्युत्पन्न के लिए कोई जिम्मेदारी नहीं लेता है। इस प्रोग्राम का उपयोग करके आप इस तथ्य को स्वीकार करते हैं कि इन प्रोग्रामों के उपयोग से होने वाली कोई भी क्षति (डेटा हानि, सिस्टम क्रैश, सिस्टम समझौता, आदि) मेरी जिम्मेदारी नहीं है।