FixVibe
Covered by FixVibehigh

CORS गलत कन्फिगरेसन: अत्यधिक अनुमति दिने नीतिहरूको जोखिम

क्रस-ओरिजिन रिसोर्स सेयरिङ (CORS) समान-उत्पत्ति नीति (SOP) लाई आराम गर्न डिजाइन गरिएको ब्राउजर संयन्त्र हो। आधुनिक वेब एपहरूको लागि आवश्यक हुँदा, अनुचित कार्यान्वयन-जस्तै अनुरोधकर्ताको उत्पत्ति हेडर प्रतिध्वनित गर्ने वा 'नल' उत्पत्तिलाई ह्वाइटलिस्ट गर्ने—दुर्भावनापूर्ण साइटहरूलाई निजी प्रयोगकर्ता डेटा बाहिर निकाल्न अनुमति दिन सक्छ।

CWE-942

प्रभाव

एक आक्रमणकारीले कमजोर अनुप्रयोग [S2] को प्रयोगकर्ताहरूबाट संवेदनशील, प्रमाणीकृत डाटा चोर्न सक्छ। यदि प्रयोगकर्ताले कमजोर एपमा लग इन गर्दा खराब वेबसाइटमा जान्छ भने, खराब साइटले एपको API मा क्रस-ओरिजिन अनुरोधहरू गर्न सक्छ र प्रतिक्रियाहरू [S1][S2] पढ्न सक्छ। यसले प्रयोगकर्ता प्रोफाइलहरू, CSRF टोकनहरू, वा निजी सन्देशहरू [S2] सहित निजी जानकारीको चोरी हुन सक्छ।

मूल कारण

CORS एक HTTP-हेडरमा आधारित संयन्त्र हो जसले सर्भरहरूलाई [S1] स्रोतहरू लोड गर्न कुन उत्पत्ति (डोमेन, योजना, वा पोर्ट) लाई अनुमति दिइएको छ भनी निर्दिष्ट गर्न अनुमति दिन्छ। सर्भरको CORS नीति धेरै लचिलो वा कमजोर रूपमा [S2] लागू हुँदा कमजोरीहरू सामान्यतया उत्पन्न हुन्छन्:

  • प्रतिबिम्बित उत्पत्ति हेडर: केही सर्भरहरूले ग्राहक अनुरोधबाट Origin हेडर पढ्छन् र Access-Control-Allow-Origin (ACAO) प्रतिक्रिया हेडर [S2] मा फिर्ता प्रतिध्वनि गर्छन्। यसले प्रभावकारी रूपमा कुनै पनि वेबसाइटलाई स्रोत [S2] पहुँच गर्न अनुमति दिन्छ।
  • गलत कन्फिगर गरिएको वाइल्डकार्डहरू: * वाइल्डकार्डले कुनै पनि स्रोतलाई कुनै पनि स्रोत पहुँच गर्न अनुमति दिँदा, यसलाई प्रमाणहरू (जस्तै कुकीहरू वा प्राधिकरण हेडरहरू) [S3] आवश्यक पर्ने अनुरोधहरूको लागि प्रयोग गर्न सकिँदैन। विकासकर्ताहरूले प्रायः [S2] अनुरोधको आधारमा गतिशील रूपमा ACAO हेडर उत्पन्न गरेर यसलाई बाइपास गर्ने प्रयास गर्छन्।
  • ह्वाइटलिस्टिङ 'नल': केही एप्लिकेसनहरूले null मूललाई ह्वाइटलिस्ट गर्छन्, जुन रिडिरेक्ट गरिएका अनुरोधहरू वा स्थानीय फाइलहरूद्वारा ट्रिगर गर्न सकिन्छ, जसले हानिकारक साइटहरूलाई null मूलको रूपमा पहुँच प्राप्त गर्न अनुमति दिन्छ। [S2][S3]।
  • पर्सिङ त्रुटिहरू: Origin हेडर प्रमाणित गर्दा regex वा स्ट्रिङ मिल्दोजुल्दो त्रुटिहरूले आक्रमणकर्ताहरूलाई trusted-domain.com.attacker.com [S2] जस्ता डोमेनहरू प्रयोग गर्न अनुमति दिन्छ।

यो नोट गर्न महत्त्वपूर्ण छ कि CORS क्रस-साइट अनुरोध जाली (CSRF) [S2] विरुद्ध सुरक्षा होइन।

कंक्रीट फिक्सहरू

  • एक स्थिर श्वेतसूची प्रयोग गर्नुहोस्: अनुरोधको Origin हेडर [S2] बाट गतिशील रूपमा Access-Control-Allow-Origin हेडर उत्पन्न गर्नबाट बच्नुहोस्। यसको सट्टा, विश्वसनीय डोमेन [S3] को हार्डकोड गरिएको सूचीसँग अनुरोधको मूल तुलना गर्नुहोस्।
  • 'नल' उत्पत्तिलाई बेवास्ता गर्नुहोस्: null लाई अनुमति दिइएको मूल [S2] को श्वेतसूचीमा कहिल्यै समावेश नगर्नुहोस्।
  • सीमित प्रमाणहरू: निश्चित क्रस-ओरिजिन अन्तरक्रिया [S3] को लागि बिल्कुल आवश्यक भएमा मात्र Access-Control-Allow-Credentials: true सेट गर्नुहोस्।
  • उचित प्रमाणीकरण प्रयोग गर्नुहोस्: यदि तपाईंले धेरै उत्पत्तिहरूलाई समर्थन गर्नुपर्छ भने, Origin हेडरको लागि प्रमाणीकरण तर्क बलियो छ र उप-डोमेन वा समान देखिने डोमेनहरू [S2] द्वारा बाइपास गर्न सकिँदैन।

कसरी FixVibe यसको लागि परीक्षण गर्दछ

FixVibe ले अब यसलाई गेट गरिएको सक्रिय जाँचको रूपमा समावेश गर्दछ। डोमेन प्रमाणीकरण पछि, active.cors ले समान-मूलको API अनुरोधहरू सिंथेटिक आक्रमणकर्ता मूलको साथ पठाउँछ र CORS प्रतिक्रिया हेडरहरूको समीक्षा गर्दछ। यसले प्रतिबिम्बित स्वेच्छाचारी उत्पत्ति, वाइल्डकार्ड प्रमाणीकृत CORS, र वाइड-ओपन CORS गैर-सार्वजनिक API अन्त्यबिन्दुहरूमा सार्वजनिक सम्पत्तिको आवाजलाई बेवास्ता गर्दै रिपोर्ट गर्दछ।