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 प्रतिसाद शीर्षलेखांचे पुनरावलोकन करते. हे सार्वजनिक मालमत्तेचा आवाज टाळून गैर-सार्वजनिक API एंडपॉइंट्सवर अनियंत्रित उत्पत्ती, वाइल्डकार्ड क्रेडेन्शियल CORS, आणि वाइड-ओपन CORS बद्दल अहवाल देते.