آموزش امنیت وب

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

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

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

آسیب پذیری CSRF یا به اصطلاح حملات جعل درخواست فرا وبگاهی که مخفف عبارت Cross-Site Request Forgery می باشد یکی از شناخته شده ترین آسیب پذیری ها بین هکر ها شناخته می شود.

باگ CSRF که گاهی هم Sea-Surf نیز تلفظ می شود، با نام هایی زیر شناخته می شود :

  • One-Click Attack
  • Session Riding
  • XSRF

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

حالا برای بهتر فهمیدن این مطلب یک مثال براتون میزنم:

فرض کنید کاربر در یک وبسایت قابل اعتماد وارد می شود، احراز هویت انجام شده و در آن وبسایت شروع به انجام فعالیت می کند، زمانی که کاربر در حال انجام کار های خود در وبسایت قابل اعتماد هست ( حساب کاربری سایت X) نشت های کوکی در مرورگر کاربر ذخیره می شود.

تا وقتی که کوکی های کاربر ذخیره باشد، کاربر و مروگری که از آن استفاده میکند شناخته شده و قابل اعتماد است.

کاربر برای انجام کار دیگر صفحه جدید باز می کند و صفحه قبلی که در آن کارهایش را انجام داده را می بندد اما متاسفانه کاربر خبر از آن ندارد که نشست های کوکی آن در مرورگرش ذخیره شده است.

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

حال کاربر ممکن است بر روی یکی از مطالب، تصاویر کلیک کند، اما نمی داند که هکر یا نفوذکننده لینکی را در مطالب یا عکس قرار داده است.

با کلیک کاربر او به صفحه وبسایت قابل اعتماد ( وبسایت X که نشست های کوکی کاربر بر روی آن ذخیره بوده است) هدایت می شود و هکر هدف مورد نظر خود را انجام خواهد داد.

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

در حملات CSRF بیشتر وبسایت هایی که دارای گردش مالی هستند (بانک‌ها، کارگذاری‌ها و پرداخت قبوض) یا وبسایت های اجتماعی (بانک‌ها، کارگذاری‌ها و پرداخت قبوض) مورد حمله قرار می گیرند.

چگونه جلوی حملات جعل درخواست فرا وبگاهی را بگیریم 

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

در این بررسی ها به صورت خودکار یا عمدی درخواست مجوز Cross به صورت لحظه ای رد می شود.

  • بررسی هدرهای استاندارد برای تائید درخواست همان منبع
  • بررسی توکن های CSRF

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

  • همگام ساز توکن ها یا Synchronizer Tokens
  • دفاع کوکی‌های دوگانه یا Double Cookies Defense
  • رمزگذاری الگوهای توکن یا Encrypted Token Pattern
  • سربرگ سفارشی یا Custom Header
این مطلب را از دست ندهید:  پروتکل امن SSL چیست؟

و ما برنامه نویسان و طراحان وب توصیه هایی برای مقابله با باگ CSRF پیشنهاد کرده اند که می توان به موارد زیر اشاره کرد.

  • استفاده از Captcha یا تایید دو مرحله ای در فرم‌ها
  • استفاده از متد POST بجای متد GET
  • پرهیز استفاده از Register_Global در صفحات پردازشگر
  • گرفتن تائید مجدد پس از ارسال یک فرم از کاربر برای انجام فرآیندها
  • ایجاد متغیرهای تصادفی در سمت سرور و بازپس‌گیری آن از طرف کاربر در زمان ارسال هر فرم

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

انواع حملات CSRF عبارت اند از :

  • Change Password
  • Change Secret
  • Transfer Amount

حالا برای شما دوستان هر کدوم از این نوع حملات را توضیح می دهم.

حملات Change Password

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

ابتدا هکر در وبسایتی(وبسایت X)، ثبت نام می کند، و المان ها و تگ هایی که برای تغییر پسورد نیاز دارد را جایی نوشته و ذخیره می کند، سپس با کد نویسی ساده html یک صفحه را برای ریدایرکت دادن قربانی آماده می کند.

سپس هکر این صفحه را در قالب یک عکس یا لینک پنهان کرده و در وبسایت مخرب خود(وبسایت Z) قرار می دهد، قربانی در وبسایت X لاگین کرده و نشست های کوکی او در مرورگر ذخیره می گردد.

حالا قربانی بدونه اینکه از وبسایت X خارج شود (Log out) تب جدیدی باز می کند و وارد وبسایت هکر (وبسایت Z) می شود. حالا قربانی بر روی لینک یا عکسی که هکر از قبل آماده کرده کلیک کرده و دوباره وارد وبسایت X می شود، اما کد هایی که هکر نوشته مربوط به تغییر پسورد کاربر است.

در انتها قربانی با ورود به وبسایت X پسوردش تغییر کرده، زیرا نشست های کوکی او در مرورگرش ذخیره شده است.

حملات Change Secret

این نوع حمله همانند حملات تغییر پسورد است اما با این تفاوت که Secret ها موردحمله قرار می‌گیرند و هکر می تواند Secret ها را تغییر بدهد.

حملات Transfer Amount

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

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

باگ CSRF اگر با مهندس اجتماعی ادغام شود یا به صورت حرفه ای انجام شود می تواند خطرناک‌ترین نوع حملات وب باشد.

آرین لاوی

آرین لاوی هستم؛ هم بنیانگذار " آقای امنیت " که حاصل تجربه های خودم در حوزه تخصصی امنیت وب و امنیت وردپرس را برایتان می نویسم و تلاش میکنم به شما کمک کنم تا وبسایت امنی داشته باشید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بستن

Adblock رو غیر فعال کنید

بخشی از درآمد سایت با تبلیغات تامین می شود لطفا با غیر فعال کردن ad blocker از ما حمایت کنید