FixVibe
Covered by FixVibehigh

क्रॉस-साइट स्क्रिप्टिंग (XSS) भेद्यता शोधणे आणि प्रतिबंधित करणे

क्रॉस-साइट स्क्रिप्टिंग (XSS) तेव्हा उद्भवते जेव्हा एखादा अनुप्रयोग योग्य प्रमाणीकरण किंवा एन्कोडिंगशिवाय वेब पृष्ठामध्ये अविश्वासू डेटा समाविष्ट करतो. हे आक्रमणकर्त्यांना पीडिताच्या ब्राउझरमध्ये दुर्भावनापूर्ण स्क्रिप्ट कार्यान्वित करण्यास अनुमती देते, ज्यामुळे सत्र अपहरण, अनधिकृत क्रिया आणि संवेदनशील डेटा एक्सपोजर होतो.

CWE-79

प्रभाव

क्रॉस-साइट स्क्रिप्टिंग (XSS) असुरक्षिततेचा यशस्वीपणे फायदा घेणारा आक्रमणकर्ता पीडित वापरकर्ता म्हणून मुखवटा घालू शकतो, वापरकर्त्याला करण्यासाठी अधिकृत केलेली कोणतीही कृती करू शकतो आणि वापरकर्त्याच्या कोणत्याही डेटामध्ये प्रवेश करू शकतो [S1]. यामध्ये खाती हायजॅक करण्यासाठी सत्र कुकीज चोरणे, बनावट फॉर्मद्वारे लॉगिन क्रेडेन्शियल्स कॅप्चर करणे किंवा [S1][S2] व्हर्च्युअल डिफेसमेंट करणे समाविष्ट आहे. पीडितेला प्रशासकीय विशेषाधिकार असल्यास, आक्रमणकर्ता अनुप्रयोग आणि त्याच्या डेटा [S1] वर पूर्ण नियंत्रण मिळवू शकतो.

मूळ कारण

XSS जेव्हा एखादा अनुप्रयोग वापरकर्ता-नियंत्रित इनपुट प्राप्त करतो आणि योग्य तटस्थीकरण किंवा एन्कोडिंग [S2] शिवाय वेब पृष्ठामध्ये समाविष्ट करतो तेव्हा होतो. हे पीडिताच्या ब्राउझरद्वारे इनपुटला सक्रिय सामग्री (JavaScript) म्हणून अर्थ लावण्याची अनुमती देते, [S1][S2] वेबसाइट्सना एकमेकांपासून वेगळे करण्यासाठी डिझाइन केलेल्या समान उत्पत्ति धोरणाला प्रतिबंधित करते.

भेद्यतेचे प्रकार

  • प्रतिबिंबित XSS: दुर्भावनापूर्ण स्क्रिप्ट्स वेब ॲप्लिकेशनमधून पीडिताच्या ब्राउझरवर प्रतिबिंबित होतात, विशेषत: [S1] URL पॅरामीटरद्वारे.
  • संग्रहित XSS: स्क्रिप्ट कायमस्वरूपी सर्व्हरवर संग्रहित केली जाते (उदा. डेटाबेस किंवा टिप्पणी विभागात) आणि नंतर वापरकर्त्यांना [S1][S2] दिली जाते.
  • DOM-आधारित XSS: असुरक्षितता असुरक्षित मार्गाने असुरक्षित मार्गाने, जसे की innerHTML [S1] वर लिहिण्यासारख्या क्लायंट-साइड कोडमध्ये असुरक्षा अस्तित्वात आहे.

ठोस निराकरणे

  • आऊटपुटवर डेटा एन्कोड करा: वापरकर्ता-नियंत्रित डेटा प्रस्तुत करण्यापूर्वी सुरक्षित स्वरूपात रूपांतरित करा. HTML मुख्य भागासाठी HTML घटक एन्कोडिंग वापरा आणि त्या विशिष्ट संदर्भांसाठी योग्य JavaScript किंवा CSS एन्कोडिंग [S1][S2] वापरा.
  • आगमनावर इनपुट फिल्टर करा: अपेक्षित इनपुट फॉरमॅटसाठी कठोर अनुमत सूची लागू करा आणि [S1][S2] ला अनुरूप नसलेली कोणतीही गोष्ट नाकारा.
  • सुरक्षा शीर्षलेख वापरा: JavaScript [S2] द्वारे प्रवेश टाळण्यासाठी सत्र कुकीजवर HttpOnly ध्वज सेट करा. Content-Type आणि X-Content-Type-Options: nosniff वापरा याची खात्री करण्यासाठी ब्राउझर प्रतिसादांचा एक्झिक्युटेबल कोड [S1] म्हणून चुकीचा अर्थ लावत नाहीत.
  • सामग्री सुरक्षा धोरण (CSP): ज्या स्रोतांमधून स्क्रिप्ट लोड आणि अंमलात आणल्या जाऊ शकतात ते प्रतिबंधित करण्यासाठी एक मजबूत CSP तैनात करा, एक संरक्षण-सखोल स्तर प्रदान करून ZXCVFIXVIBETOKEN0ZXVXVIBETOKEN0ZXVXVICV1VXVICV1.

त्यासाठी FixVibe चाचण्या कशा करतात

FixVibe XSS स्थापित स्कॅनिंग पद्धती [S1] वर आधारित बहु-स्तरीय दृष्टिकोनाद्वारे शोधू शकतो:

  • पॅसिव्ह स्कॅन: Content-Security-Policy किंवा X-Content-Type-Options सारखे गहाळ किंवा कमकुवत सुरक्षा शीर्षलेख ओळखणे जे XSS [S1] कमी करण्यासाठी डिझाइन केलेले आहेत.
  • सक्रिय प्रोब: URL पॅरामीटर्समध्ये अद्वितीय, गैर-दुर्भावनायुक्त अल्फान्यूमेरिक स्ट्रिंग्स इंजेक्ट करणे आणि ते [S1] योग्य एन्कोडिंगशिवाय प्रतिसादाच्या मुख्य भागामध्ये परावर्तित होतात की नाही हे निर्धारित करण्यासाठी.
  • रेपो स्कॅन: innerHTML, document.write, किंवा setTimeout मधील सामान्य आहेत, जे असुरक्षित डेटा हाताळणाऱ्या "सिंक" साठी क्लायंट-साइड JavaScript चे विश्लेषण करणे. XSS [S1].