प्रभाव
आक्रमणकर्ता असुरक्षित ऍप्लिकेशन [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 बद्दल अहवाल देते.
