تست امنیت

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

جلسه 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 ده مورد از آسیب پذیرترین مواردی که در سال های اخیر در وب شایع بوده اند را منتشر کرده است. در ادامه لیستی از نقص های امنیتی که بیشتر در یک برنامه مبتنی وب وجود دارد، آورده شده است.

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

به منظور درک هر یک از تکنیک ها، اجازه دهید با یک نمونه عملی کار کنیم. ما به “WebGoat” که برنامه J2EE است حمله کرده ایم؛ که به طور صریح با نقص های امنیتی برای اهداف یادگیری تهیه شده است.

برای نصب برنامه دانلود شده ابتدا اطمینان حاصل کنید که هیچ برنامه کاربردی در پورت ۸۰۸۰ در حال اجرا نیست. فقط با یک دستور واحد java -jar WebGoat-6.0.1-war-exec.jar می توانید آن را نصب کنید. برای اطلاعات بیشتر می توانید به  WebGoat Installation مراجعه کنید. پس از نصب، باید با پیمایش به http://localhost:8080/WebGoat/attack بروید که در آن جا صفحه ای مانند تصویر زیر به شما نمایش داده خواهد شد.

وارد شدن به WebGoat

وارد شدن به WebGoat

همانطور که در صفحه ورود نمایش داده شده است؛ می توانیم از اعتبار مهمان guest یا مدیر admin استفاده کنیم.

پروکسی وب (Web Proxy)

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

نسخه burp 

نسخه burp

پیکربندی مجموعه Burp Suite

Burp Suite یک پروکسی وب است که می تواند هر بسته اطلاعات ارسال شده و دریافت شده توسط مرورگر و وب سرور را رهگیری کند. این امر به ما کمک می کند قبل از اینکه مشتری اطلاعات را به وب سرور ارسال کند، محتوا را تغییر دهیم.

پیکربندی مجموعه Burp Suiteبرای پیکربندی مجموعه Burp Suite مراحل زیر را دنبال نمایید.

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

راه اندازی مجموعه Burp در پورت ۸۱۸۱

راه اندازی مجموعه Burp در پورت ۸۱۸۱

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

اطمینان از Burp روی پورت ۸۰۸۰ 

اطمینان از Burp روی پورت ۸۰۸۰

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

تنظیمات پروکسی

تنظیمات پروکسی

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

شمایی کلی از پیکربندی تنظیمات

شمایی کلی از پیکربندی تنظیمات

سخن پایانی

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

شاد و پیروز باشید.

درباره محمد محسن خاشعی نژاد

بیش از ۱۰ سال است که به عنوان مدرس در حوزه های مختلف ICT فعالیت دارم و همیشه در حال یادگیری و یاد دادن هستم.

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