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

تالار گفتگو زوم تر ورود به تالار گفتگو زوم تر

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

حمله csrf چیست؟

حملات جعل درخواست (csrf) که با عنوان های XSRF، Sea Surf یا Session Siding نیز شناخته می شود، حمله ای است که منجر به اجرای دستورات غیر مجاز توسط کاربر در برنامه های کاربردی وب میشود. یک حمله موفق CSRF می تواند منجر به تغییر حساب بانکی در هنگام انتقال پول، تغییر رمزهای عبور، سرقت اطلاعات از جمله کوکی ها و یا اجرای دستورات غیر مجاز در برنامه های کاربردی وب شود.

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

حملات csrf یا جعل درخواست

مثالی برای حملات CSRF

1- قبل از حمله، ابتدا هکر یک برنامه کاربردی را برای کشف این آسیب پذری اسکن می کند و بعد از پیدا کردن اقدامات زیر انجام می شود.

2- به عنوان مثال، یک درخواست GET معمولی برای انتقال 100 دلار پول برای حساب بانکی ارسال می شود.

GET http://bank.com/transfer.do?acct=kaliboys&amount=$100 HTTP/1.1

3- هکر میتواند با تغییر دستور بالا، مبلغ انتقالی را به حساب خودش تغییر بدهد.

GET http://bank.com/transfer.do?acct=hacker&amount=$100 HTTP/1.1

4- همچنین هکر می تواند درخواست مخرب خود را از طریق یک لینک برای قربانی خود بفرستد.

<a href="http://bank.com/transfer.do?acct=hacker&amount=$100">بیشتر بخوانید!</a>

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

توجه داشته باشید که اگر وب سایت بانکی از درخواست های POST به جای GET استفاده کند، دیگر فریم های ارسالی با استفاده از تگ href جوابگو نخواهد بود. با این حال، حمله می تواند در یک تگ <form> با استفاده از JavaScript صورت پذیرد. به مثال زیر دقت کنید:

<body onload="document.forms[0].submit()">
   <form action="http://bank.com/transfer.do" method="POST">
     <input type="hidden" name="acct" value="AttackerA"/>
     <input type="hidden" name="amount" value="$100"/>
     <input type="submit" value="مشاهده تصویر"/>
   </form>
 </body>

کاهش حملات CSRF

برای پیشگیری و کاهش حملات CSRF برخی روش ها وجود دارد که بهترین آن ها عبارتند از:

  • هنگام استفاده نکردن از برنامه کاربردی وب، از حساب کاربری خود خارج شوید.
  • تامین امنیت گذرنامه ها و نام های کاربری خود.
  • اجازه ندادن به مرورگرها برای ذخیره پسوردها.
  • به صورت همزمان از چند صفحه دیدن نکنید.

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

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

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

آسیب پذیری csrf در تلگرام

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

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

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

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