جلسه 10: نحوه هک شدن برنامه های وب در تست امنیت

جلسه 10: نحوه هک شدن برنامه های وب در تست امنیت
نگهداری امن و محرمانه اطلاعات مشتریان از اولویت بالایی در تمامی سازمان ها و شرکت ها برخوردار است. متأسفانه، روزانه آسیب پذیری های جدیدی کشف شده و همگامی نگهداشت امن سازمان در برابر آن ها، تقریباً به امری محال تبدیل شده است. این آسیب پذیری ها در تار و پود زیرساخت IT قرار گرفته و گاهاً به مدت بسیار طولانی کشف نشده باقی می مانند. اگرچه راه های بسیاری برای امن سازی سیستم ها و اپلیکیشن ها در برابر آسیب پذیری ها وجود دارد، اما تنها راه کسب اطمینان واقعی از آن، تست امنیتی بستر IT سازمان به منظور یافتن این حفره های امنیتی است.
داده ها و اطلاعات کاربران و البته وبسایت ها ممکن است به سرقت برده شوند؛ مورد سوء استفاده گرفته و یا در فضای عمومی و بدون خواست صاحبان آن عرضه شوند. تست امنیت Security Testing امروزه مبحث داغ امنیت است تا آسودگی خیال افراد را در بستر اینترنت فراهم کند. راهکار “تست امنیتی” امکان تکرار حملات بر روی سیستم ها، دستگاه ها و اپلیکیشن ها را به منظور آشکارسازی زنجیره ای از مسیرهای باز و آسیب پذیر بر روی سیستم ها و داده های حساس و حیاتی سازمان، فراهم می آورد.
خلاصه جلسه قبل:
در جلسه گذشته به معرفی و تاثیر کوکی ها در تست امنیت پرداختیم؛ کوکی یا Cookie در حقیقت یک واحد کوچک از اطلاعات است که توسط یک وب سرور برای ذخیره در یک مرورگر وب ارسال می شود تا بعداً توسط مرورگر خوانده شود. اگر یک هکر اطلاعات کوکی را بدست آورد، می تواند منجر به مشکلات امنیتی شود. در این جلسه به بررسی مسئله هک شدن و هک کردن برنامه های وب می پردازیم.
هک شدن و هک کردن برنامه های وب
روش ها و رویکرد های مختلفی وجود دارد که می توانیم از آنها به عنوان مرجعی در خصوص حمله ها و تهاجم های دنیای وب در نظر گرفت.
روش های PenTesting (برنامه های وب)
می توان ضمن تهیه مدل حمله، استانداردهای زیر را در نظر گرفت. در لیست زیر، OWASP فعال ترین نمونه است؛ ما روی تکنیک های OWASP که هر تیم توسعه قبل از طراحی یک برنامه وب در نظر دارد، تمرکز خواهیم کرد.
- PTES: استاندارد اجرای تست نفوذ (Penetration Testing Execution Standard)
- OSSTMM: کتابچه راهنمای روش تست امنیت امنیتی منبع باز (Open Source Security Testing Methodology Manual)
- OWASP: تکنیک های تست OWASP یا باز کردن پروتکل امنیت برنامه کاربرد وب (Open Web Application Security Protocol)
۱۰ نمونه برتر OWASP
تیم Open Web Application Security Protocol OWASP ده مورد از آسیب پذیرترین مواردی که در سال های اخیر در وب شایع بوده اند را منتشر کرده است. در ادامه لیستی از نقص های امنیتی که بیشتر در یک برنامه مبتنی وب وجود دارد، آورده شده است.
Application – Hands On
به منظور درک هر یک از تکنیک ها، اجازه دهید با یک نمونه عملی کار کنیم. ما به “WebGoat” که برنامه J2EE است حمله کرده ایم؛ که به طور صریح با نقص های امنیتی برای اهداف یادگیری تهیه شده است.
- برای کسب اطلاعات بیشتر می توانید به https://www.owasp.org/index.php/Category:OWASP_WebGoat_Project مراجعه نمایید.
- برای دانلود برنامه WebGoat، به ادرس https://github.com/WebGoat/WebGoat/wiki/Installation-(WebGoat-6.0) مراجعه نموده و برنامه را دانلود کنید.
برای نصب برنامه دانلود شده ابتدا اطمینان حاصل کنید که هیچ برنامه کاربردی در پورت ۸۰۸۰ در حال اجرا نیست. فقط با یک دستور واحد java -jar WebGoat-6.0.1-war-exec.jar می توانید آن را نصب کنید. برای اطلاعات بیشتر می توانید به WebGoat Installation مراجعه کنید. پس از نصب، باید با پیمایش به http://localhost:8080/WebGoat/attack بروید که در آن جا صفحه ای مانند تصویر زیر به شما نمایش داده خواهد شد.

همانطور که در صفحه ورود نمایش داده شده است؛ می توانیم از اعتبار مهمان guest یا مدیر admin استفاده کنیم.
پروکسی وب (Web Proxy)
برای رهگیری ترافیک بین کاربر (مرورگر) و سرور (سیستمی که در آن فایل Webgoat Application در فایل ما میزبان می شود)، باید از پروکسی وب استفاده کنیم. ما از Burp Proxy استفاده خواهیم کرد که از https://portswigger.net/burp/download.html قابل دانلود است.
البته اگر نسخه رایگان مجموعه burp را نیز دانلود کنید، کافی است.

پیکربندی مجموعه Burp Suite
Burp Suite یک پروکسی وب است که می تواند هر بسته اطلاعات ارسال شده و دریافت شده توسط مرورگر و وب سرور را رهگیری کند. این امر به ما کمک می کند قبل از اینکه مشتری اطلاعات را به وب سرور ارسال کند، محتوا را تغییر دهیم.
برای پیکربندی مجموعه Burp Suite مراحل زیر را دنبال نمایید.
مرحله ۱) برنامه بر روی پورت ۸۰۸۰ نصب شده است و Burp همانطور که در شکل زیر مشاهده شده است نیز در پورت ۸۱۸۱ نصب گردیده است. مجموعه Burp را راه اندازی کرده و تنظیمات زیر را انجام دهید تا در پورت ۸۱۸۱ مطابق شکل زیر ظاهر شود.

مرحله ۲) در این مرحله باید اطمینان حاصل کنیم که Burp از پورت ۸۰۸۰ که برنامه روی آن نصب شده است فرمان می برد تا مجموعه Burp بتواند از ترافیک جلوگیری کند. این تنظیمات باید مطابق شکل زیر روی برگه دامنه Burp Suite انجام شود.

مرحله ۳) سپس تنظیمات پروکسی مرورگر خود را برای فرمان بری از پورت ۸۱۸۱ (پورت Burp Suite) انجام دهید. بنابراین ما هم پروکسی وب را پیکربندی کرده ایم تا بتواند ترافیک بین کاربر (مرورگر) و سرور (وبس سرور) را مطابق شکل زیر رهگیری کند.

مرحله ۴) تصویر زیر پیکربندی را با کمک یک نمودار ساده گردش کار زیر نشان داده است.

سخن پایانی
در این جلسه با موضوع هک شدن و هک کردن برنامه های وب آشنا شدیم؛ و تکنیک های OWASP، برنامه Hands On، پروکسی وب و پیکربندی مجموعه Burp Suite را نیز شناختیم. در جلسه آینده قرار است مبحث Injection یا تزریق را تست امنیت بررسی کنیم. لطفا نظرات خود در رابطه با این مقاله را با ما به اشتراک بگذارید.
شاد و پیروز باشید.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.