हां, यह सब आपको करने की ज़रूरत है।
जब तक आप प्रत्येक संरक्षित पृष्ठ पर कोई नया टोकन बनाएं, <%= Html.AntiForgeryToken() %>
और हमेशा यह सुनिश्चित यह किसी भी संरक्षित कार्रवाई में चेक किया गया है के साथ, [ValidateAntiForgeryToken]
का उपयोग कर इस सिंक्रनाइज़र टोकन पैटर्न के रूप में OWASP पर CSRF Prevention Cheat Sheet में चर्चा को लागू करता है ।
स्वीकार्य अनुरोध करने में एक स्क्रिप्ट सफल होने के लिए, इसे पहले फॉर्म प्राप्त करना होगा और टोकन को पढ़ना होगा और फिर टोकन पोस्ट करना होगा। Same Origin Policy इसे ब्राउज़र में अनुमति देने से रोक देगा। एक साइट कैनोट एक AJAX शैली http अनुरोध किसी अन्य साइट पर बनाते हैं; केवल खुद के लिए। अगर किसी कारण से मूल उत्पत्ति का उल्लंघन किया जा सकता है, तो आप कमजोर हो जाएंगे।
ध्यान दें कि यदि आपके पास क्रॉस-साइट स्क्रिप्टिंग भेद्यता है, तो एक हमलावर उसी मूल नीति द्वारा प्रदान की गई सुरक्षा को रोकने के लिए xss भेद्यता का दुरुपयोग कर सकता है (क्योंकि स्क्रिप्ट अब आपकी साइट से चल रही है, इसलिए एसओपी सफल हो गया है) । इंजेक्शन स्क्रिप्ट तब टोकन को खुशी से पढ़ और पुनः सबमिट कर सकती है। हाल ही में कुछ कीड़े में एक्सएसएस के माध्यम से सीएसआरएफ सुरक्षा प्राप्त करने के लिए यह तकनीक आम है। असल में, यदि आपके पास एक्सएसएस है, तो आपका सीएसआरएफ-सुरक्षा समय की बर्बादी है, इसलिए सुनिश्चित करें कि आप या तो कमजोर नहीं हैं।
फ्लैश और सिल्वरलाइट के लिए बाहर देखने के लिए एक और चीज है। इन दोनों तकनीकों में एक ही मूल नीति की सदस्यता नहीं है और इसके बजाय दूरस्थ संसाधनों तक पहुंच प्रतिबंधित करने के लिए क्रॉस डोमेन नीति फ़ाइलों का उपयोग करें। फ्लैश/सिल्वरलाइट स्क्रिप्ट केवल आपकी साइट पर संसाधनों तक पहुंच सकता है यदि आप अपनी साइट पर एक क्रॉस डोमेन नीति xml फ़ाइल प्रकाशित करते हैं। यदि आप इस फ़ाइल को प्रकाशित करते हैं, तो केवल विश्वसनीय तृतीय-पक्ष सर्वरों की श्वेतसूची की अनुमति दें और कभी भी अनुमति न दें *।
और पढ़ें के बारे में भी CSRF at OWASP देखें: XSS Prevention Cheat Sheet
तो टोकन को सत्यापित करने के अलावा किसी को crossdomain.xml के साथ सावधान रहना होगा, है ना? अगर मैं सही ढंग से समझता हूं, अप्रतिबंधित क्रॉस डोमेन अनुरोधों के लिए वेब एप्लिकेशन का खुलासा करता हूं (crossdomain.xml में डोमेन = "*" से डोमेन-अनुरोध-शीर्षलेखों को अनुमति देता है) एंटीफोर्गेरीटोकेंस के उद्देश्य को हरा देता है, और साइट सीएसआरएफ को कमजोर बनाता है? – PanJanek
हां। अच्छा बिंदु यदि आप अपने सर्वर पर crossdomain.xml नीति फ़ाइल प्रकाशित करते हैं तो आप रिमोट फ्लैश मूवी में एक्शनस्क्रिप्ट के माध्यम से किए गए सीएसआरएफ हमलों के लिए स्वयं को फिर से खोल सकते हैं। यदि आप इस फ़ाइल को प्रकाशित करते हैं तो केवल श्वेतसूची पर भरोसेमंद तृतीय पक्षों और कभी नहीं *। मैं इसे उत्तर में – Cheekysoft
"जोड़ सकता हूं" एक साइट कैनोट किसी अन्य साइट पर AJAX शैली http अनुरोध करता है; केवल अपने आप के लिए " Google Analytics कैसे काम करता है? मुझे लगता है कि समान-उत्पत्ति-नीति को किसी अन्य साइट की कुकीज़ को पढ़ने/संशोधित करने में असमर्थता के साथ करना है। –