جستجو برای:
  • صفحه اصلی
  • دوره ها
    • حساب کاربری
    • سبد خرید
  • مقالات
 
  • دانلودها
  • تدریس در ساینت
ساینت
  • صفحه اصلی
  • دوره ها
    • آزمون ها
    • حساب کاربری
    • سبد خرید
    • پرداخت
  • مقالات
  • ساینت TV
  • لایسنس اسپلانک
  • درباره ما
  • اساتید
0
ورود / عضویت

بلاگ

ساینت مقالات امنیت شبکه حمله CSRF چیست؟ و راهکارهای مقابله با آن

حمله CSRF چیست؟ و راهکارهای مقابله با آن

2021/11/29
ارسال شده توسط ساینت
امنیت شبکه
1.62k بازدید
CSRF چیست
زمان مطالعه: ۴ دقیقه

Cross Site Request Forgery یا CSRF زمانی رخ می دهد که یک سایت یا برنامه مخرب باعث می شود مرورگر کاربر هنگام تأیید اعتبار کاربر، اقدام ناخواسته ای را در یک سایت معتبر انجام دهد. هرگونه اقدام مخرب محدود به قابلیت وب سایتی است که کاربر به آن احراز هویت می شود.

به عنوان مثال، کاربر هنگام بررسی ایمیل خود به پورتال بانکی آنلاین خود وارد شود. در آنجا، او ممکن است بر روی پیوند در یک ایمیل فیشینگ کلیک کند (احتمالاً توسط سایت کوتاه کننده پیوند مبهم است) که شامل درخواست از بانک برای انتقال پول به حسابی است که در اختیار هکر است.

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

درخواست ها و کوکی های HTTP چیست؟

درخواست HTTP GET

این درخواستی است که برای درخواست داده از سرور وب (به عنوان مثال تایپ کردن در URL (درخواست وب سایت) که منجر به بارگیری آن می شود) استفاده می شود.

درخواست HTTP Post

این درخواستی است که برای ارسال داده به سرور وب (به عنوان مثال ارسال فرم وب) استفاده می شود.

برخی از درخواست های GET و POST بدون تعامل کاربر (مانند پیشنهادات جستجو یا دانلود محتوای تصویر با ویژگی img src) به صورت خودکار فعال می شوند.

کوکی های مربوط به جلسه (Session Cookies)

کوکی های جلسه روشی است که HTTP وضعیت را کنترل می کند. وب سایت ها برای شناسایی کاربران و حفظ جلسه خود از کوکی های جلسه (حاوی شناسه منحصر به فرد) استفاده می کنند.

پس از تنظیم، مرورگر کاربر برای شناسایی کاربر به سایت، کوکی را با هر درخواست از سرور ارسال می کند.

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

یک مثال عملی از سوء استفاده از کوکی ها را در دوره CEH می توانید مشاهده کنید.

Cross Site Request Forgery چگونه کار می کند؟

برای اینکه یک مهاجم حمله CSRF را انجام دهد، موارد مختلفی باید درست باشد:

عملی در برنامه وجود دارد که یک مهاجم می خواهد انجام دهد – مانند تغییر رمز عبور، انتقال وجه و غیره.

پارامترهای درخواست غیرقابل پیش بینی وجود ندارد – مهاجم می تواند تمام پارامترهایی را که برنامه انتظار دارد از این نوع درخواست ها حدس بزند (یا آنها را می داند).

این اقدام را می توان با درخواست (های) HTTP انجام داد و برای بررسی تأیید درخواست از طرف کاربر، فقط از کوکی ها استفاده می شود.

CSRF می تواند بر برنامه های تحت وب که از کوکی ها برای تأیید اعتبار مرورگر یا گواهینامه های سمت مشتری برای تأیید اعتبار کاربران استفاده می کنند، تأثیر بگذارد. اساساً می تواند در هر موردی اتفاق بیفتد که برنامه به طور خودکار اعتبار یا هویت کاربران را به یک درخواست ضمیمه کند.

حمله CSRF می تواند از یک درخواست GET یا یک درخواست POST استفاده کند (اگرچه درخواست POST پیچیده تر است و بنابراین غیر معمول است).

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

متناوباً ، همانند XSS (برنامه نویسی بین سایت)، CSRF می تواند یک آسیب پذیری ذخیره شده باشد. CSRF ذخیره شده زمانی اتفاق می افتد که یک مهاجم حمله را در فیلدی ذخیره کند که HTML مانند برچسب IMG یا IFRAME را قبول می کند. این بدان معنی است که هرکسی صفحه را مشاهده کند می تواند تحت تأثیر قرار گیرد. سواستفاده می تواند به عنوان یک پیوند معمولی پنهان شود و یا در برچسب تصویر پنهان شود.

به عنوان مثال، به عنوان یک لینک معمولی در یک صفحه وب:

<a href=“malicious link”>Unsubscribe here</a>

یا ، به عنوان برچسب تصویر:

<img src=“malicious link” width=“۰” height=“۰” border=“۰”>

نمونه ای از CSRF

تصور کنید که بانک شما (bank.com) نقل و انتقالات را با استفاده از درخواست های GET پردازش می کند که شامل چندین پارامتر است (هویت گیرنده انتقال و میزان انتقال شما).

به عنوان مثال، اگر کاربر بخواهد به شخصی ۱۰ تومان بفرستد، ممکن است درخواست به این شکل باشد:

http://bank.com/transfer?recipient=Keyvan&amount=10

این درخواست همچنین شامل کوکی جلسه ای است که صاحب حساب را مشخص می کند تا بانک بداند که پول را از کجا می آورد.

 

اکنون، یک مهاجم ممکن است کاربر را متقاعد کند تا روی پیوندی که به این شکل است کلیک کند (اما توسط کوتاه کننده URL کوتاه شده است یا به طور هوشمندانه پیوند داده شده است):

http://bank.com/transfer?recipient=Hacker&amount=100000

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

چگونه جلوی حملات CSRF را بگیریم؟

چارچوب های خود را با دقت انتخاب کنید

از فریم ورکهایی استفاده کنید که برای محافظت در برابر CSRF ساخته شده است، مانند NET. پیکربندی صحیح کلید است. اگر چارچوبی که استفاده می کنید از محافظت برخوردار نیست، می توانید با Anti-CSRF Tokens محافظت کنید.

از توکن های ضد CSRF استفاده کنید

Tokens (همچنین به عنوان الگوهای رمز synchronizer شناخته می شود) یک محافظت سمت سرور است که در آن سرور یک توکن منحصر به فرد ایجاد شده به طور تصادفی در مرورگر کاربر ایجاد می کند و هر درخواست را بررسی می کند تا ببیند آیا مرورگر قبل از انجام درخواست آن را پس می فرستد یا خیر.

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

بسته به حساسیت صفحه، می توان از توکن های مختلفی برای هر درخواست یا به سادگی برای فرم های مختلف استفاده کرد. توکن ها باید به روشی ایمن مقایسه شوند (مانند مقایسه هش ها) و نباید آنها را با درخواست HTTP دریافت کرد زیرا بخشی از URL نیستند و نمی توانند از طریق سربرگ Referrer به بیرون درز کنند.

 

 

اشتراک گذاری:
برچسب ها: Cross Site Request ForgerySession Cookies
در تلگرام
کانال ما را دنبال کنید!
در اینستاگرام
ما را دنبال کنید!
مطالب زیر را حتما بخوانید
  • چگونه یک متخصص امنیت سایبری شویم
    چگونه یک متخصص امنیت سایبری شویم؟ نقشه راه و دوره های مورد نیاز

    13.74k بازدید

  • کلاهبرداری های اس ام اسی ایران
    رشد سریع کلاه برداری های SMSای در ایران

    624 بازدید

  • bgp hijacking چیست
    BGP Hijacking چیست؟ و چگونه انجام می شود

    872 بازدید

  • تهدیدهای مدرن امنیت سایبری
    تهدیدهای مدرن امنیت سایبری چیست؟

    844 بازدید

  • امنیت زیرساخت
    امنیت زیرساخت (Infrastructure Security) چیست؟

    908 بازدید

  • پگاسوس
    ابر نرم افزار جاسوسی پگاسوس (Pegasus) ساخت اسراییل

    1.81k بازدید

قدیمی تر ترانک (Trunk) چیست؟ و چگونه کار می کند.
جدیدتر رشد سریع کلاه برداری های SMSای در ایران

دیدگاهتان را بنویسید لغو پاسخ

برای نوشتن دیدگاه باید وارد بشوید.

جستجو برای:
جدیدترین نوشته ها
  • چگونه یک متخصص امنیت سایبری شویم؟ نقشه راه و دوره های مورد نیاز
  • رشد سریع کلاه برداری های SMSای در ایران
  • حمله CSRF چیست؟ و راهکارهای مقابله با آن
  • ترانک (Trunk) چیست؟ و چگونه کار می کند.
  • پروتکل ARP چیست؟ و چگونه کار می کند
  • IPv6 چیست؟ و چگونه کار می کند
  • Spanning-Tree چیست؟ و چگونه کار می کند
  • VTP چیست؟ و چگونه کار می کند
  • VLAN چیست؟ و چگونه کار می کند
  • پروتکل مسیریابی ISIS چیست و چگونه کار می کند
محصولات
  • دوره آموزش CISSP2021
    دوره آموزش CISSP
  • دوره آموزش CEH
    دوره آموزش CEH V11
  • دوره آموزش FortiGate
    دوره آموزش فایروال FortiGate
  • دوره آموزش Security+
    دوره آنلاین آموزش CompTIA Security+
  • آموزش eve
    آموزش کامل شبیه ساز شبکه EVE-NG
دوره سکیوریتی پلاس
درباره ساینت

مجموعه آموزشی ساینت ارائه دهنده بروز ترین آموزشهای ویدئویی در زمینه امنیت شبکه با بالاترین کیفیت میباشد.

اطلاعات تماس:
  • تهران شریعتی ادیبی بن بست گلشن پلاک 18 واحد 2
  • 09191461822

دوره های امنیت

  • آموزش امنیت شبکه
  • مقالات امنیت شبکه
  • آموزش Security+
  • آموزش CISSP
  • آموزش eve
  • آموزش FortiGate
  • آموزش CEH
  • امنیت سایبری
  • آموزش امنیت
  • امنیت شبکه
  • امنیت لایه ۲
  • مدارک سیسکو
  • دوره CEH
اطلاع از فروش‌های ویژه!
برای اطلاع از جدیدترین دوره‌ها کارگاه‌ها و محصولات آموزشی و فروش‌های ویژه، همین الان ایمیل‌تان را وارد کنید تا به شما خبر بدهیم!

مجوزها
ساینت در زمینه آموزش امنیت و شبکه، تحت قوانین جمهوری اسلامی ایران فعالیت می‌کند. استفاده از مطالب با ذکر منبع و لینک مستقیم مجاز است.
ورود ×
کد تایید
لطفاً کد تأیید ارسال شده را تایپ کنید
ثبت
ورود با گوگل
ورود با کد یکبارمصرف
ارسال مجدد کد یکبار مصرف(00:30)
آیا حساب کاربری ندارید؟
ثبت نام
ورود با گوگل
ارسال مجدد کد یکبار مصرف (00:30)
برگشت به ورود
  • (+98) ایران

ورود

رمز عبور را فراموش کرده اید؟

یا

ارسال مجدد کد یکبار مصرف (00:30)

هنوز عضو نشده اید؟ عضویت در سایت