
कॉन्टैक्ट लिस्ट प्लगइन में प्रमाणित संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (XSS)
अस्वीकरण: यह रिपॉजिटरी केवल शैक्षिक उद्देश्यों और नैतिक प्रकटीकरण के लिए बनाई गई है। भेद्यता की विक्रेता को जिम्मेदारीपूर्वक रिपोर्ट की जा चुकी है और इसे पैच कर दिया गया है। उचित प्राधिकरण के बिना सिस्टम का शोषण करने के लिए इस जानकारी का उपयोग न करें।
संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (XSS) भेद्यता Contact List - Online Staff Directory & Address Book प्लगइन (संस्करण <= 3.0.17) में खोजी गई थी। यह भेद्यता Author या उच्चतर विशेषाधिकार वाले प्रमाणित उपयोगकर्ताओं को एक छिपे हुए कस्टम फ़ील्ड के माध्यम से संपर्क कार्ड में दुर्भावनापूर्ण JavaScript इंजेक्ट करने की अनुमति देती है।
जब संपर्क कार्ड सार्वजनिक निर्देशिका पर प्रस्तुत किया जाता है, तो इंजेक्ट किया गया पेलोड किसी भी आगंतुक के ब्राउज़र में निष्पादित हो जाता है। यदि कोई व्यवस्थापक (Administrator) पृष्ठ देखता है, तो इस दोष को पूर्ण खाता अधिग्रहण (ATO) और साइट से समझौता करने तक बढ़ाया जा सकता है।
<= 3.0.17यह भेद्यता _cl_map_iframe कस्टम फ़ील्ड के अनुचित सैनिटाइज़ेशन और असुरक्षित आउटपुट हैंडलिंग से उत्पन्न होती है, जो मानचित्र iframes एम्बेड करने के लिए अभिप्रेत है।
1. असुरक्षित डेटा संग्रहण:
includes/class-contact-list-custom-fields.php में (saveCustomFields() के अंदर), प्लगइन ```
6. अनुरोध को आगे भेजें। सर्वर दुर्भावनापूर्ण iframe संग्रहीत करता है।
7. ट्रिगर: उस सार्वजनिक निर्देशिका पृष्ठ पर जाएँ जहाँ [contact_list] एम्बेड किया गया है। अलर्ट बॉक्स तुरंत ट्रिगर होगा, जो कोड निष्पादन की पुष्टि करेगा।
POST /wp-admin/post.php HTTP/1.1
Host: TARGET
Content-Type: application/x-www-form-urlencoded
Cookie: [Author_Session_Cookies]
post_title=Hacked+Contact&post_type=contact&action=editpost&_cl_map_iframe=
इस भेद्यता को ठीक करने के लिए, प्लगइन डेवलपर्स को यह करना होगा:
_cl_map_iframe सहेजते समय अनुमत HTML टैग्स और विशेषताओं की एक सख्त सरणी के साथ wp_kses() का उपयोग करें। onload, onerror, या javascript: URI जैसी विशेषताओं को अस्वीकार करें।