حملات CSRF چیست ؟ ( همراه با مثال )

۱۳۹۶-۱۰-۱۰
380
بدون دیدگاه
حملات CSRF چیست ؟ ( همراه با مثال )Reviewed by کارگاه توسعه on Dec 31Rating: 4.5

 

کلمه CSRF مخفف عبارت CROSS SITE REQUEST FORGERY به معنای درخواستهای جعلی از سایت دیگر است . با این حمله ، هکر نیازی به بدست آوردن دسترسی ادمین شما ندارد .

یک حمله موفقیت آمیز CSRF می تواند برای هر دو کسب و کار و کاربر را ویران کند. این می تواند به روابط مشتری آسیب دیده، انتقال غیر مجاز صندوق، تغییر رمز عبور و سرقت اطلاعات از جمله کوکی های جلسه به سرقت رفته منجر شود.

در حمله CSRF هنگامی که فرد قربانی وارد سایت هکر می شود ، هکر یک درخواست از نوع GET یا POST از طریق فرد قربانی به سایت هدف ارسال می کند ، در این صورت نیازی به دسترسی داشتن به پنل ادمین و یا داشتن کلمه عبور نمی باشد زیرا درخواست ارسال شده کاملا از طرف کاربر بوده است !!

بطور مثال اگر سایت های بانکی در مقابل حملات CSRF ایمن نبودند ، زمانی که شما در حساب خود لاگین شده بودید و مورد حمله CSRF می گرفتید ، هکر به راحتی قادر بود وجه را از حساب شما کم و به حساب خود بریزد زیرا درخواست اینکار توسط مرورگر شما به بانک ارسال شده اما توسط شخص هکر ????

حملات CSRF حتی می توانند از طریق یک فرم ارسال شوند ! یعنی درخواست های جعلی میتوانند از طریق فرم نیز ارسال شوند .


:: و اما مثال 😉

اگر هکر قصد داشته باشد یک حمله CSRF را با استفاده از یک فرم ( مانند فرم ثبت نام – لاگین یا … ) انجام دهد ، روند کار به شکل زیر خواهد بود .

در بخش action این فرم ، مشخص می کنیم که این فرم در هنگام submit شدن به کدام آدرس باید منتقل شود ؛ این کد بلافاصله پس از لود شدن صفحه اجرا می شود و حتی نیازی به ارسال آن توسط کاربر نیست !!

 

:: روش های کاهش CSRF

تعدادی از روش های موثر برای پیشگیری و کاهش حملات CSRF وجود دارد. از منظر کاربر، پیشگیری یک موضوع حفاظت از اعتبارهای ورود و رد بازیگران غیر مجاز دسترسی به برنامه ها است.

:: بهترین شیوه ها عبارتند از:

  • هنگام استفاده از برنامه ها، برنامه های کاربردی وب را بیرون بیاورید.
  • نام کاربری و کلمه عبور را ذخیره کنید.
  • به مرورگر اجازه نمی دهد که کلمه عبور را به خاطر بسپارد.
  • اجتناب از مرور همزمان در هنگام ورود به یک برنامه
  • برای برنامه های کاربردی وب، راه حل های متعدد برای جلوگیری از ترافیک مخرب و جلوگیری از حملات وجود دارد. از جمله رایج ترین روش های کاهش، ایجاد یک نشانه تصادفی منحصر به فرد برای هر درخواست جلسه یا ID است. اینها پس از آن توسط سرور بررسی و تایید می شوند. درخواست های جلسه با داشتن دو علامت تکراری یا مقادیر گم شده مسدود شده اند. متناوبا، یک درخواست که با شناسه SESSION آن مطابقت ندارد، از دسترسی به یک برنامه جلوگیری می شود.

:: جلوگیری از حملات CSRF در PHP

آموزش جلوگیری از حملات CSRF با PHP

دیدگاه شما

( الزامي )

(الزامي)