آموزش هوشمند امنیت و طراحی وب

  • تکنولوژی های وب و ترندهای وردپرس
صفحه اصلیامنیت وردپرسمحافظت در برابر درخواستهای جعلی (CSRF)

محافظت در برابر درخواستهای جعلی (CSRF)

نویسنده: رضا دهقان | تاریخ انتشار: ۱۳۹۸/۱۰/۲۶ | دسته بندی: امنیت وردپرس|

csrf

CSRF مخفف عبارت Cross Site Request Forgery به معنی درخواستهای جعلی از سایت دیگر می باشد. این نوع آسیب پذیری نامشخص ترین نوع آسیب پذیری است چرا که اصلاً به صورت یک مشکل به نظر نمیرسد. بیایید url ای را در نظر بگیریم که در پایگاه داده تغییر ایجاد میکند:

مشکل url بالا در این است که اگر هکر همچین url ای را با دسترسی کاربر بدون اطلاع وی بتواند اجرا کند چه اتفاقی می افتد؟

هکر لینک بالا را در لینک مسیر یک تصویر در سورس کد صفحه وب مربوط به خود (hackersite.com/interesting.html) قرار میدهد و از کاربر میخواهد وبسایت او را باز کند:

حالا چون کاربر در برنامه شما لاگین نموده است (logged in) پس از باز نمودن صفحه مربوط به هکر url بالا هنگام لود تصویر فراخوانی میشود. و این یک درخواست قانونی است.

بنابراین در بحث فنی، مشکل اینجاست که سرور نمیتواند تشخیص دهد که کاربر با میل و علاقه خود این url را فراخوانی کرده یا خیر. از اینرو باید از مکانیسم خاصی استفاده کرد.

ساده ترین راه این است که، زمان انجام عملیات های مهم بر روی پایگاه داده، دوباره از کابر تاییدیه بگیریم.

راه حل قوی تر و عمومی تر، فعال کردن سرویس جهت شناسایی هر درخواست با یک کلید است. فرم ها میتوانند دارای فیلد مخفی حاوی یک عبارت تصادفی باشند که در session کاربر ذخیره شود و برای تشخیص ارسال فرم بکار روند. کد صفحه مربوط به فرم:¹

کد مربوط به اسکریپت پردازشگر:¹

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

40 بازدید


اشتراک گذاری کنید:


رضا دهقان

رضا دهقان اینستاگرام
طراح و توسعه دهنده وب | فارغ التحصیل مهندسی امنیت اطلاعات

  • دیدگاه های ارسال شده توسط شما، پس از تایید توسط تیم مدیریت در وب منتشر خواهد شد.
  • پیام هایی که حاوی تهمت یا افترا باشد منتشر نخواهد شد.
  • پیام هایی که به غیر از زبان فارسی یا غیر مرتبط باشد منتشر نخواهد شد.


هنوز دیدگاهی ارسال نشده! نظر شما چیست؟