एक सौदे प्रस्तुत करने के लिए निम्नलिखित फार्म के साथ banking.example.com
पर एक ई-बैंकिंग वेब अनुप्रयोग कल्पना कीजिए:
<form action="/transaction" method="post">
<input type="text" name="beneficiary"/>
<input type="text" name="amount"/>
<input type="submit" value="Pay"/>
</form>
एक हमलावर अब तक एक वेबसाइट hacker.net
पर साथ सेट कर सकते हैं निम्नलिखित:
<form action="https://banking.example.com/transaction" method="post" style="visibility:hidden">
<input type="text" name="beneficiary" value="John Doe, Account No. 34-236326-1"/>
<input type="text" name="amount" value="1000000"/>
<input type="submit" value="Pay"/>
</form>
<script>
document.forms[0].submit();
</script>
हमलावर तो जाकर hacker.net
में पीड़ितों चाल हैं, जो पीड़ितों के ब्राउज़र का कारण है, ई-बैंकिंग आवेदन करने के लिए एक पोस्ट अनुरोध भेजने के लिए हैकर के लिए एक बड़े लेनदेन करने होंगे। यह काम करता है क्योंकि पीड़ित का ब्राउज़र खुशी से ई-बैंकिंग एप्लिकेशन के जाली पोस्ट अनुरोध के साथ सत्र कुकी भेजता है। यदि फॉर्म सीएसआरएफ टोकन द्वारा संरक्षित किया गया होता, तो हमलावर पीड़ित के ब्राउज़र को वैध POST अनुरोध भेजने का कारण नहीं बना सकता था और इस प्रकार हमला संभव नहीं होगा।
हमले के इस प्रकार के एक क्रॉस-साइट अनुरोध जालसाजी (CSRF) हमले कहा जाता है।
संयोग से, CSRF हमलों भी कारण है कि लोग कभी अन्य वेबसाइटों पर जाकर जबकि एक ई-बैंकिंग या अन्य महत्वपूर्ण वेब अनुप्रयोग में लॉग इन किया जा रहा है कभी नहीं की सलाह दे रहे हैं।
CSRF टोकन की रक्षा नहीं करते एक वेब फार्म स्वचालित रूप से खुद को नियमित रूप से अधिकृत उपयोगकर्ताओं द्वारा प्रस्तुत की जा रही है। उस से बचाने के लिए, आप CAPTCHA का उपयोग करेंगे।
स्रोत
2012-04-20 11:15:17
@agf मैंने अभी यह प्रश्न पढ़ा है, और मुझे डुप्लिकेशंस नहीं दिख रहा है: (' –
निश्चित रूप से। मैं अब जवाब पढ़ रहा हूं ...;) –
आप" अज्ञात "पोस्ट का वर्णन करते हैं। यह उस पोस्ट को उपयोगकर्ता के क्रेडेंशियल्स में वास्तविक लॉग इन के साथ होने से बचाने के बारे में है। – Cheekysoft