CSRF को रोकने के लिए समान मूल नीति की आवश्यकता है। इस परिदृश्य की कल्पना करें:
- बैंक मैनेजर जो फैटकैट के पास उसके बैंक के प्रशासनिक बैकएंड पर खाता है। यह खाता उन्हें टीबीटीएफ बैंक के बैंकों के लिए गोपनीय खाता जानकारी तक पहुंचने देता है। वह किसी के पिन नंबर को भी रीसेट कर सकता है, धन हस्तांतरण कर सकता है, खाता स्वामित्व बदल सकता है, आदि
- अब, टीबीटीएफ बैंक जैक आईटी गाय को बंद कर देता है। अब वह जैक द डिग्रंटल्ड एक्स-आईटी-गाय है, और वह अपने पूर्व नियोक्ता पर बदला लेना चाहता है। जैक को बैंक के प्रशासनिक बैकएंड तक पहुंच नहीं है, लेकिन वह जानता है कि जो करता है।
- तो जैक जैक द्वारा बनाए गए पृष्ठ के लिंक के साथ अपने मालिक को एक ईमेल भेजता है। पृष्ठ पर, जैसे कुछ जावास्क्रिप्ट है:
var xhr = new XMLHttpRequest(),
data = "from="+victimAccount
+ "&to="+jacksAccount
+ "&amt=a+gazillion+dollars";
xhr.open("POST", "http://tbtfbank.tld/accounts/wiretransfer.aspx", true);
xhr.send(data);
- अगले दिन, जो उन्होंने अपने प्रशासनिक खाते में उनके कार्यालय और लॉग पर आता है हमेशा पृष्ठभूमि में खुले टैब को करता है और छोड़ देता है।
- जो नेटली गेट्स में शामिल नेटली पोर्टमैन की तस्वीरों के लिंक वाले एक ईमेल को देखता है। तो स्वाभाविक रूप से वह दुर्भावनापूर्ण वेबपृष्ठ खोलने पर उस पर क्लिक करता है।
- ब्राउज़र पृष्ठ पर जावास्क्रिप्ट चलाता है और टीबीटीएफ बैंक की प्रशासनिक बैकएंड साइट पर AJAX POST अनुरोध करता है। चूंकि जो साइट पर पहले से ही लॉग इन है और सक्रिय सत्र है, बैंक आवेदन कमांड स्वीकार करता है और जैक के ऑफशोर बैंक खाते में गैजिलियन डॉलर चलाता है।
और जैक हजारों खाता संख्याओं और पिनों या किसी अन्य जानकारी को फसल करने के लिए उसी तकनीक का आसानी से उपयोग कर सकता था जो बैंक प्रबंधक के पास अपने खाते के माध्यम से पहुंच है।
सौभाग्य से, वही मूल नीति हमें इस प्रकार के हमलों से अधिकतर समय से बचाती है, क्योंकि जैक के दुर्भावनापूर्ण पृष्ठ को बैंक एप्लिकेशन से अलग डोमेन पर होस्ट किया जाता है, इसलिए इसे बैंक आवेदन में एक्सएचआर बनाने की अनुमति नहीं है।हालांकि दुर्भावनापूर्ण पृष्ठ में अभी भी एक छवि हो सकती है जो बैंक आवेदन के लिए एक GET अनुरोध करता है, इसलिए यह महत्वपूर्ण है कि साइड इफेक्ट्स के साथ क्रियाएं जीईटी अनुरोधों के माध्यम से शुरू नहीं की जाएंगी और एप्लिकेशन उन अनुरोधों के संदर्भकर्ता शीर्षलेख की जांच करते हैं जो उन्हें प्राप्त होते हैं और एंटी- सीएसआरएफ टोकन
स्रोत
2012-07-13 16:58:32
क्या आपने [विकिपीडिया] (http://en.wikipedia.org/wiki/Same-origin_policy) की कोशिश की है? –
हां, मुझे इसे स्वीकार करने से नफरत है, लेकिन मैं अभी भी इसके बारे में उलझन में हूं। और मुझे कोई स्पष्ट कारण नहीं मिल रहा है कि यह नीति क्यों मौजूद है – GK1667
सीएसआरएफ के बारे में पढ़ने का प्रयास करें। इसीलिए। – Oded