برنامه نویسی

آشنایی با CSRF در وب – انجمن DEV

به عنوان یک توسعه دهنده وب، باید در مورد امنیت وب اطلاعاتی داشته باشید،
بیایید در مورد جعل درخواست بین سایتی (CSRF) با یک مثال رایج صحبت کنیم.

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

Chalo bht hua، ab tech smjho!

در اینجا نمونه ای از حمله CSRF آورده شده است:

فرض کنید Rounit در حال مرور یک پلتفرم رسانه اجتماعی به نام “SocialBook” است که در آن کاربران می توانند پیام هایی را در پروفایل خود ارسال کنند. هنگامی که کاربران یک پست جدید ارسال می کنند، پلت فرم درخواست POST را برای ذخیره پیام به سرور ارسال می کند.

حال، فرض کنید Rounit به SocialBook وارد شده است (به معنی تأیید اعتبار) و هنگام مرور اینترنت با یک وب سایت مخرب روبرو می شود. این وب سایت مخرب حاوی کدهای مخفی است که به طور خودکار فرمی را برای ایجاد یک پست در نمایه SocialBook Rounit بدون اطلاع یا رضایت وی ارسال می کند.

این حمله به این صورت است:

  1. Rounit به SocialBook وارد شده و از وب سایت مخرب بازدید می کند.
  2. وب سایت مخرب شامل یک فرم مخفی است که نقطه پایانی ایجاد پست SocialBook را با مقادیر از پیش تعریف شده هدف قرار می دهد: <form action="https:/anylink" method="post"> <input value="Check out this website!"> </form>.
  3. مهاجم از جاوا اسکریپت برای ارسال خودکار فرم در پس زمینه بدون اطلاع Rounit استفاده می کند.
  4. مرورگر Rounit با پیروی از دستورالعمل های مهاجم، یک درخواست POST را با پیام از پیش تعریف شده به نقطه پایانی ایجاد پست SocialBook ارسال می کند.
  5. سرور SocialBook درخواست را دریافت می کند و با آن به عنوان یک درخواست قانونی برخورد می کند زیرا به نظر می رسد که از جلسه Rounit سرچشمه می گیرد.
  6. پیام مخرب بدون اطلاع یا رضایت او در نمایه Rounit پست می شود.

در این مثال، حمله CSRF مرورگر Rounit را فریب می دهد تا از طرف او درخواستی برای انجام یک عمل ناخواسته – ایجاد یک پست در پروفایل SocialBook او – با سوء استفاده از رابطه اعتماد بین مرورگر Rounit و SocialBook ارائه دهد.

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

برای محافظت در برابر حملات CSRF، توکن‌های CSRF را پیاده‌سازی کنید: از نشانه‌های منحصربه‌فرد در هر فرم یا درخواست HTML استفاده کنید که اقدامات حساسی را انجام می‌دهد. توکن باید در سمت سرور تولید شود و در فرم جاسازی شود یا به عنوان سربرگ در درخواست های AJAX گنجانده شود.

برای مطالب بیشتر از این دست #rounitsinha را دنبال کنید

نوشته های مشابه

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

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

دکمه بازگشت به بالا