csrf :Cross-Site Request Forgeries: (جعل درخواست بین سایتی : درخواستی که از طریق یک سایت دیگر میآید)
حملات جعل درخواست بین سایتی، از اعتمادی که یک سایت به کاربر خود و مرورگر وی دارد سوء استفاده میکند و به طور کلی تمام حمله از طرف یکی از کاربران سایت شکل می گیرد. به این ترتیب که یک سایت مخرب درخواستی را به یک برنامهی کاربردی تحت وب میفرستد که کاربر قبلا با آن از طریق یک وبسایت دیگر احراز هویت شده است. به این ترتیب، مهاجم از طریق مرورگر قربانی دارای سطح دسترسی در برنامهی کاربردی مورد نظر خواهد شد. اغلب برنامه های کاربردی تحت وب مانند رسانه ها و شبکه های اجتماعی، واسط پست الکترونیک مبتنی بر مرورگر، بانکداری آنلاین و واسطهای وب تجهیزات شبکه، هدف این حمله قرار میگیرند.
به عنوان مثالی از جعل درخواست بین سایتی فرض کنید که کاربر شماره یک، برای یک سایت بانکی کاربری شناخته شده و معتبر است. کاربر شماره دو که فردی خرابکار است، یک تصویر را بر روی سایت شبکه اجتماعی ارسال می¬کند که آدرس پشت آن، به یک فعالیت کاربر شماره یک در آن سایت بانکی اشاره می¬کند. اگر وب سایت بانک مورد نظر اطلاعات تایید هویت کاربر شماره یک را در یک کوکی ذخیره کرده باشد و اگر آن کوکی هنوز منقضی نشده باشد، آنگاه تلاش مرورگر کاربر شماره یک برای باز کردن تصویر ارسال شده، باعث می¬شود که اطلاعات وی از کوکی مذکور بازیابی شده و بدون تایید کاربر شماره یک، یک فعالیت بانکی رخ دهد. در حقیقت در این مثال، کاربر شماره دو درخواستی را به صورت جعلی به جای کاربر شماره یک به وب سایت بانک مذکور ارسال کرده است.
روش کلی برای مقابله با حملهی CSRF، استفاده از نشانه های امنیتی همراه با هر درخواست مشتری است. این نشانه ها باید برای هر سشن کاربر یکتا بوده و می توانند برای هر درخواست نیز یکتا باشند. به این ترتیب، سرویسدهندهی برنامهی کاربردی تحت وب میتواند یقین حاصل کند که درخواستهای دریافتی از منبع مجاز ارسال می شوند.
راه حل دیگر، شناسایی و برطرف کردن آسیب پذیریهای CSRF است. سادهترین راه برای تشخیص آسیب پذیری یک برنامهی کاربردی در برابر CSRF، این است که همهی لینک ها و فرم ها دارای نشانهی غیرقابل پیشبینی به ازای هر کاربر باشند. بدون چنین نشانههای غیرقابل پیشبینی، مهاجم می تواند درخواستهای مخرب جعلی تولید نماید.
همچنین بهتراست جهت جلوگیری از این حملات :
ﭘﻴﺸﻨﻬﺎﺩﺍﺗﯽ ﺑﺮﺍﻱ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﺎﻥ :
- ﺗﺴﺖ ﻋﻤﻮﻣﯽ ﺑﺮﺍﻱ ﺟﺪﺍﺳﺎﺯﯼ ﻣﺎﺷﻴﻦ ﺍﺯ ﺍﻧﺴﺎﻥ )(Captcha
- ﺑﺮﺭﺳﯽ ﻭ ﻣﻨﻘﻀﯽ ﮐﺮﺩﻥ ﮐﻮﮐﯽ )(Cookie
- ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺷﻨﺎﺳﻪ ﻣﻌﺘﺒﺮ )(Valid Token
- ﺍﺯ ﻣﺘﻮﺩ GETﺍﺳﺘﻔﺎﺩﻩ ﻧﮑﻨﻴﺪ
ﭘﻴﺸﻨﻬﺎﺩﺍﺗﻲ ﺑﺮﺍﻱ ﻛﺎﺭﺑﺮﺍﻥ :
- ﺑﻌﺪ ﺍﺯ ﺍﺗﻤﺎﻡ ﮐﺎﺭ ﺩﺭ ﺳﺎﻳﺖ ﺣﺘﻤﺎ ﺑﺮ ﺭﻭﯼ ﺧﺮﻭﺝ ) (log offﮐﻠﻴﮏ ﮐﻨﻴﺪ ﺗﺎ ﺑﻪ ﻃﻮﺭ ﮐﺎﻣﻞ ﺍﺯ ﺳﺎﻳﺖ ﺧﺎﺭﺝ ﺷﻮﻳﺪ.
- ﺩﺭ ﺻﻮﺭﺗﯽ ﮐﻪ ﺩﺭ ﺣﺎﻝ ﻣﺸﺎﻫﺪﻩ ﺳﺎﻳﺖ ﺧﺎﺻﯽ ﻫﺴﺘﻴﺪ ﺍﺯ ﻣﺮﻭﺭ ﮐﺮﺩﻥ ﺳﺎﻳﺖ ﻫﺎﯼ ﺩﻳﮕﺮ ﺑﭙﺮﻫﻴﺰﻳﺪ.
- ﻟﻴﻨﻚ ﻫﺎ ﻭ ﻓﺎﻳﻞ ﻫﺎﻱ ﻣﺸﻜﻮﻙ ﺭﺍ ﺑﻄﻮﺭ ﻛﻠﻲ ﺑﺎﺯ ﻧﻜﻨﻴﺪ .
و اطلاعات تکمیلی:
1 , 2 , 3 , 4