प्रभाव
क्रस-साइट स्क्रिप्टिङ (XSS) जोखिमको सफलतापूर्वक शोषण गर्ने आक्रमणकारीले पीडित प्रयोगकर्ताको रूपमा मुखौटा गर्न सक्छ, प्रयोगकर्तालाई प्रदर्शन गर्न अधिकृत गरिएको कुनै पनि कार्य गर्न, र प्रयोगकर्ताको कुनै पनि डाटा [S1] पहुँच गर्न सक्छ। यसमा खाताहरू हाइज्याक गर्न सत्र कुकीहरू चोरी गर्ने, नक्कली फारमहरू मार्फत लगइन प्रमाणहरू क्याप्चर गर्ने, वा भर्चुअल डिफेसमेन्ट [S1][S2] समावेश छ। यदि पीडितसँग प्रशासनिक विशेषाधिकार छ भने, आक्रमणकारीले अनुप्रयोग र यसको डेटा [S1] मा पूर्ण नियन्त्रण प्राप्त गर्न सक्छ।
मूल कारण
XSS तब हुन्छ जब एप्लिकेसनले प्रयोगकर्ता-नियन्त्रण योग्य इनपुट प्राप्त गर्दछ र यसलाई उचित तटस्थीकरण वा [S2] एन्कोडिङ बिना वेब पृष्ठमा समावेश गर्दछ। यसले पीडितको ब्राउजरद्वारा इनपुटलाई सक्रिय सामग्री (जाभास्क्रिप्ट) को रूपमा व्याख्या गर्न अनुमति दिन्छ, वेबसाइटहरूलाई एकअर्काबाट अलग गर्न डिजाइन गरिएको समान उत्पत्ति नीतिलाई रोक्न [S1][S2]।
जोखिमका प्रकारहरू
- प्रतिबिम्बित XSS: खराब स्क्रिप्टहरू पीडितको ब्राउजरमा वेब अनुप्रयोगबाट प्रतिबिम्बित हुन्छन्, सामान्यतया URL प्यारामिटर [S1] मार्फत।
- भण्डार गरिएको XSS: स्क्रिप्ट स्थायी रूपमा सर्भरमा भण्डार गरिएको छ (जस्तै, डाटाबेस वा टिप्पणी खण्डमा) र प्रयोगकर्ताहरूलाई पछि [S1][S2]।
- DOM-आधारित XSS: जोखिम पूर्ण रूपमा क्लाइन्ट-साइड कोडमा अवस्थित हुन्छ जसले
innerHTML[S1] मा लेख्ने जस्ता असुरक्षित स्रोतबाट डाटा प्रशोधन गर्दछ।
कंक्रीट फिक्सहरू
- आउटपुटमा डाटा इन्कोड गर्नुहोस्: प्रयोगकर्ता-नियन्त्रणयोग्य डाटालाई रेन्डर गर्नु अघि यसलाई सुरक्षित फारममा रूपान्तरण गर्नुहोस्। HTML शरीरको लागि HTML निकाय इन्कोडिङ प्रयोग गर्नुहोस्, र ती विशिष्ट सन्दर्भहरू [S1][S2] को लागि उपयुक्त JavaScript वा CSS इन्कोडिङ प्रयोग गर्नुहोस्।
- आगमनमा इनपुट फिल्टर गर्नुहोस्: अपेक्षित इनपुट ढाँचाहरूको लागि कडा अनुमति सूचीहरू लागू गर्नुहोस् र [S1][S2] अनुरूप नहुने कुनै पनि कुरा अस्वीकार गर्नुहोस्।
- सुरक्षा हेडरहरू प्रयोग गर्नुहोस्: JavaScript [S2] मार्फत पहुँच रोक्न सत्र कुकीहरूमा
HttpOnlyफ्ल्याग सेट गर्नुहोस्।Content-TypeरX-Content-Type-Options: nosniffप्रयोग गर्नुहोस् ब्राउजरहरूले प्रतिक्रियाहरूलाई कार्यान्वयनयोग्य कोड [S1] को रूपमा गलत व्याख्या नगर्ने सुनिश्चित गर्न। - सामग्री सुरक्षा नीति (CSP): एक बलियो CSP प्रयोग गर्नुहोस् जसबाट स्क्रिप्टहरू लोड गर्न सकिन्छ र कार्यान्वयन गर्न सकिन्छ, एक रक्षा-इन-गहिरो तह ZXCVFIXVIBETOKEN0ZXVXVIBETOKEN0ZXVXVIBETOKEN0KVXVIXVICV1XVICVZCV11 प्रदान गरी स्रोतहरू प्रतिबन्धित गर्नुहोस्।
कसरी FixVibe यसको लागि परीक्षण गर्दछ
FixVibe ले स्थापित स्क्यानिङ विधिहरू [S1] मा आधारित बहु-स्तरित दृष्टिकोण मार्फत XSS पत्ता लगाउन सक्छ:
- निष्क्रिय स्क्यानहरू:
Content-Security-PolicyवाX-Content-Type-Optionsजस्ता हराइरहेको वा कमजोर सुरक्षा हेडरहरू पहिचान गर्दै जुन XSS [S1] लाई कम गर्न डिजाइन गरिएको हो। - सक्रिय प्रोबहरू: URL प्यारामिटरहरू र फारम फिल्डहरूमा अद्वितीय, गैर-दुर्भावपूर्ण अल्फान्यूमेरिक स्ट्रिङहरू इन्जेक्ट गर्दै [S1] सही एन्कोडिङ बिना प्रतिक्रिया शरीरमा प्रतिबिम्बित छन् कि भनेर निर्धारण गर्न।
- रेपो स्क्यान: "सिङ्कहरू" को लागि क्लाइन्ट-साइड जाभास्क्रिप्ट विश्लेषण गर्दै जसले असुरक्षित डेटालाई असुरक्षित रूपमा ह्यान्डल गर्छ, जस्तै
innerHTML,document.write, वाsetTimeoutमा सामान्य छन्, XSS [S1]।
