سلام به همه پی وی لرنی های عزیز!
به دوره آموزش تست امنیت Security Testing خوش آمدید.
امروزه به صورت گسترده ای از اینترنت و دنیای وب استفاده می شود و جهان ما اکنون یک جهان آنلاین است که در آن بسیاری از مشاغل به سمت اینترنتی شدن پیش می روند. امروزه ما با پدیده های گسترده خرید و فروش در بستر اینترنت رو به رو هستیم؛ نمونه جهانی آن سایت آمازون است و نمونه ایرانی آن هم سایت دیجیکالا است.
خطرات و تهدید های زیادی در اینترنت وجود دارد؛ از هکر هایی که سعی می کنند از طریق روش های گوناگون از جمله فیشینگ اطلاعات کارت بانکی شما را سرقت کنند تا بد افزار هایی که قصد اختلال در سیستم کامپیوتری شما را دارند و البته ویروس های کامپیوتری و تروجان ها و غیره و غیره.
داده ها و اطلاعات کاربران و البته وبسایت ها ممکن است به سرقت برده شوند؛ مورد سوء استفاده قرار بگیرند و یا در فضای عمومی و بدون خواست صاحبان آن عرضه شوند. تست امنیت Security Testing امروزه مبحث داغ امنیت است تا آسودگی خیال افراد را در بستر اینترنت فراهم کند.
در جلسه گذشته آموختیم که تأیید هویت شکسته چیست و چگونه می تواند امنیت کاربران را در دنیای وب به خطر بی اندازد.
در این جلسه به تاثیر اسکریپت نویسی در تست امنیت بپردازیم.
اسکریپت نویسی متقاطع (XSS) زمانی اتفاق می افتد که برنامه ای داده های غیرقابل اعتماد را می گیرد و بدون اعتبار آن را به کاربر (مرورگر) می فرستد. این امر به مهاجمان اجازه می دهد تا اسکریپت های مخرب را در مرورگر قربانی جایگذاری کنند و این خود موجب ربودن جلسات کاربر، حالت پیش فرض وب سایت ها یا هدایت کاربر به سایت های مخرب شود.
اجازه دهید با کمک نمودار ساده، عوامل تهدید، وکتورهای حمله، ضعف امنیتی، تأثیر فنی و تأثیرات تجاری این نقص را بهتر درک کنیم.
برنامه از داده های غیرقابل اعتماد در ساخت و ساز بدون اعتبار استفاده می کند. در این شرایط کارکترهای خاص باید escape شوند.
1 | http://www.webpage.org/task/Rule1?query=try |
مهاجم پارامتر query را در مرورگر خود تغییر می دهد.
1 | http://www.webpage.org/task/Rule1?query=<h3>Hello from XSS"</h3> |
مرحله ۱ – وارد Webgoat شوید و به بخش (scripting cross-site (XSS بروید. بگذارید ما یک حمله متقابل سایت نگارش شده (XSS) را اجرا کنیم. در زیر تصویر این سناریو آورده شده است.
مرحله ۲ – طبق سناریو ، بگذارید ما به عنوان Tom و با رمز “tom” وارد شویم، همانطور که در سناریو ذکر شده است. بر روی ‘view profile کلیک کرده و وارد حالت ویرایش شوید. از آنجا که Tom مهاجم است، اجازه دهید اسکریپت جاوا را در آن جعبه های ویرایش شده تزریق کنیم.
1 2 3 | <script> alert("HACKED") </script> |
مرحله ۳ – به محض به روزرسانی ، Tom یک پیام هشدار با پیام “hacked” دریافت می کند، به این معنی که برنامه آسیب پذیر است.
مرحله ۴ – اکنون طبق سناریو، باید به عنوان (jerry (HR وارد شده و بررسی کنیم که آیا jerry تحت تأثیر اسکریپت تزریق شده است یا خیر.
مرحله ۵ – پس از ورود به عنوان Jerry، کاربر “Tom” را انتخاب کنید و مطابق شکل زیر “view profile” را کلیک کنید.
حالا ضمن مشاهده پروفایل Tom از حساب Jerry، می توان همان کادر پیام را دریافت کرد.
مرحله ۶ – این کادر پیام البته فقط یک پیام نمونه است و ما در حال آزمایش کردن هستیم اما مهاجم واقعی می تواند خیلی بیشتر از آنچه که ما انجام دادیم در دل حساب یک شخص نفوذ کند.
در این جلسه به بررسی اسکریپت نویسی و تاثیر آن در تست امنیت پرداختیم؛ اسکریپت نویسی متقاطع (XSS) زمانی اتفاق می افتد که برنامه ای داده های غیرقابل اعتماد را می گیرد و بدون اعتبار آن را به کاربر (مرورگر) می فرستد.
در جلسه آینده به Direct Object References می پردازیم.
با پی وی لرن همراه باشید