سلام به همه پی وی لرنی های عزیز!
به دوره آموزش تست امنیت Security Testing خوش آمدید.
امروزه به صورت گسترده ای از اینترنت و دنیای وب استفاده می شود و جهان ما اکنون یک جهان آنلاین است که در آن بسیاری از مشاغل به سمت اینترنتی شدن پیش می روند. امروزه ما با پدیده های گسترده خرید و فروش در بستر اینترنت رو به رو هستیم؛ نمونه جهانی آن سایت آمازون است و نمونه ایرانی آن هم سایت دیجیکالا است.
خطرات و تهدید های زیادی در اینترنت وجود دارد؛ از هکر هایی که سعی می کنند از طریق روش های گوناگون از جمله فیشینگ اطلاعات کارت بانکی شما را سرقت کنند تا بد افزار هایی که قصد اختلال در سیستم کامپیوتری شما را دارند و البته ویروس های کامپیوتری و تروجان ها و غیره و غیره.
داده ها و اطلاعات کاربران و البته وبسایت ها ممکن است به سرقت برده شوند؛ مورد سوء استفاده قرار بگیرند و یا در فضای عمومی و بدون خواست صاحبان آن عرضه شوند. تست امنیت Security Testing امروزه مبحث داغ امنیت است تا آسودگی خیال افراد را در بستر اینترنت فراهم کند.
در جلسه گذشته در این جلسه به بررسی سطوح دسترسی کاربران و تاثیر آن در تست امنیت پرداختیم؛ بیشتر برنامه های اینترنتی، برنامه های تحت وب و وبسایت ها قبل از اعطای هر گونه دسترسی به کاربران، یک سری حقوق و شرایط و ضوابط را به او ارائه می کنند که به آن، حقوق دسترسی به سطح عملکرد یا Function Level Access گفته می شود که نیازمند بررسی، کنترل و دقت بیشتری است زیرا در صورت غفلت از آن هکرها می توانند بدون مجوز مناسب وارد برنامه شوند و دست به سوء استفاده بزنند.
در این جلسه می خواهیم تاثیر CSRF در تست امنیت را بررسی نماییم.
یک حمله Cross-Site Request Forgery که به اختصار CSRF نامیده می شود حمله ای است که کاربر معتبر (قربانی) را مجبور می کند درخواست HTTP جعلی از جمله کوکی جلسه را به یک برنامه وب آسیب پذیر بفرستد، که به مهاجم اجازه می دهد تا مرورگر قربانی را وادار به تولید درخواست کند به گونه ای که برنامه آسیب پذیر متوجه درخواست های قانونی از طرف قربانی نشود.
اجازه دهید با کمک نمودار ساده، عوامل تهدید، وکتورهای حمله، ضعف امنیتی، تأثیر فنی و تأثیرات تجاری این نقص را بهتر درک کنیم.
بیایید با یکی از رایج ترین نمونه های حمله CSRF آشنا شویم.
مرحله ۱ – در این مثال فرض می کنیم که برنامه آسیب پذیر یک درخواست تغییر حالت را به عنوان یک متن ساده و بدون هیچ گونه رمزگذاری ارسال می کند.
1 | http://bankx.com/app?action=transferFund&amount=3500&destinationAccount=4673243243 |
مرحله ۲ – اکنون هکر با جاسازی درخواست در تصویری که در سایت های مختلف تحت کنترل مهاجم ذخیره می شود، درخواستی را مبنی بر انتقال پول از حساب قربانی به حساب خودش ایجاد می کند.
1 2 | <img src = "http://bankx.com/app?action=transferFunds&amount=14000&destinationAccount=attackersAcct#" width = "0" height = "0" /> |
مرحله ۱ – بگذارید با تعبیه اسکریپت جاوا در یک تصویر، جعل CSRF را انجام دهیم. تصویر زیر این سناریو را نمایش می دهد.
مرحله ۲ – اکنون باید کار انتقال نمونه شبیه سازی شده را به یک تصویر ۱×۱ انجام دهیم و قربانی را دعوت به کلیک روی آن نماییم.
مرحله ۳ – به محض ارسال پیام، پیام مطابق تصویر زیر به شما نمایش داده می شود.
مرحله ۴ – اکنون اگر قربانی روی URL زیر کلیک کند، انتقال انجام می شود. می توان با استفاده از مجموعه burp ، عملکرد کاربر را متوقف کرد.
در این جلسه آموختیم که CSRF چه تاثیری بر تست امنیت دارد؛ یک حمله Cross-Site Request Forgery که به اختصار CSRF نامیده می شود حمله ای است که کاربر معتبر (قربانی) را مجبور می کند درخواست HTTP جعلی از جمله کوکی جلسه را به یک برنامه وب آسیب پذیر بفرستد.
در جلسه بعدی قرار است با مولفه های آسیب پذیر در تست امنیت آشنا شویم.
با پی وی لرن همراه باشید.