سلام به همه پی وی لرنی های عزیز!
به دوره آموزش تست امنیت Security Testing خوش آمدید.
امروزه به صورت گسترده ای از اینترنت و دنیای وب استفاده می شود و جهان ما اکنون یک جهان آنلاین است که در آن بسیاری از مشاغل به سمت اینترنتی شدن پیش می روند. امروزه ما با پدیده های گسترده خرید و فروش در بستر اینترنت رو به رو هستیم؛ نمونه جهانی آن سایت آمازون است و نمونه ایرانی آن هم سایت دیجیکالا است.
خطرات و تهدید های زیادی در اینترنت وجود دارد؛ از هکر هایی که سعی می کنند از طریق روش های گوناگون از جمله فیشینگ اطلاعات کارت بانکی شما را سرقت کنند تا بد افزار هایی که قصد اختلال در سیستم کامپیوتری شما را دارند و البته ویروس های کامپیوتری و تروجان ها و غیره و غیره.
داده ها و اطلاعات کاربران و البته وبسایت ها ممکن است به سرقت برده شوند؛ مورد سوء استفاده قرار بگیرند و یا در فضای عمومی و بدون خواست صاحبان آن عرضه شوند. تست امنیت Security Testing امروزه مبحث داغ امنیت است تا آسودگی خیال افراد را در بستر اینترنت فراهم کند.
در جلسه گذشته به معرفی و تاثیر کوکی ها در تست امنیت پرداختیم؛ کوکی یا Cookie در حقیقت یک واحد کوچک از اطلاعات است که توسط یک وب سرور برای ذخیره در یک مرورگر وب ارسال می شود تا بعداً توسط مرورگر خوانده شود. اگر یک هکر اطلاعات کوکی را بدست آورد، می تواند منجر به مشکلات امنیتی شود.
در این جلسه به بررسی مسئله هک شدن و هک کردن برنامه های وب می پردازیم.
روش ها و رویکرد های مختلفی وجود دارد که می توانیم از آنها به عنوان مرجعی در خصوص حمله ها و تهاجم های دنیای وب در نظر گرفت.
می توان ضمن تهیه مدل حمله، استانداردهای زیر را در نظر گرفت. در لیست زیر، OWASP فعال ترین نمونه است؛ ما روی تکنیک های OWASP که هر تیم توسعه قبل از طراحی یک برنامه وب در نظر دارد ، تمرکز خواهیم کرد.
تیم Open Web Application Security Protocol OWASP ده مورد از آسیب پذیرترین مواردی که در سال های اخیر در وب شایع بوده اند را منتشر کرده است. در ادامه لیستی از نقص های امنیتی که بیشتر در یک برنامه مبتنی وب وجود دارد، آورده شده است.
به منظور درک هر یک از تکنیک ها، اجازه دهید با یک نمونه عملی کار کنیم. ما به “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 استفاده کنیم.
برای رهگیری ترافیک بین کاربر (مرورگر) و سرور (سیستمی که در آن فایل Webgoat Application در فایل ما میزبان می شود)، باید از پروکسی وب استفاده کنیم. ما از Burp Proxy استفاده خواهیم کرد که از https://portswigger.net/burp/download.html قابل دانلود است.
البته اگر نسخه رایگان مجموعه burp را نیز دانلود کنید، کافی است.
Burp Suite یک پروکسی وب است که می تواند هر بسته اطلاعات ارسال شده و دریافت شده توسط مرورگر و وب سرور را رهگیری کند. این امر به ما کمک می کند قبل از اینکه مشتری اطلاعات را به وب سرور ارسال کند، محتوا را تغییر دهیم.
برای پیکربندی مجموعه Burp Suite مراحل زیر را دنبال نمایید.
مرحله ۱ – برنامه بر روی پورت ۸۰۸۰ نصب شده است و Burp همانطور که در شکل زیر مشاهده شده است نیز در پورت ۸۱۸۱ نصب گردیده است. مجموعه Burp را راه اندازی کرده و تنظیمات زیر را انجام دهید تا در پورت ۸۱۸۱ مطابق شکل زیر ظاهر شود.
مرحله ۲ – در این مرحله باید اطمینان حاصل کنیم که Burp از پورت ۸۰۸۰ که برنامه روی آن نصب شده است فرمان می برد تا مجموعه Burp بتواند از ترافیک جلوگیری کند. این تنظیمات باید مطابق شکل زیر روی برگه دامنه Burp Suite انجام شود.
مرحله ۳ – سپس تنظیمات پروکسی مرورگر خود را برای فرمان بری از پورت ۸۱۸۱ (پورت Burp Suite) انجام دهید. بنابراین ما هم پروکسی وب را پیکربندی کرده ایم تا بتواند ترافیک بین کاربر (مرورگر) و سرور (وبس سرور) را مطابق شکل زیر رهگیری کند.
مرحله ۴ – تصویر زیر پیکربندی را با کمک یک نمودار ساده گردش کار زیر نشان داده است.
در این جلسه با موضوع هک شدن و هک کردن برنامه های وب آشنا شدیم؛ و تکنیک های OWASP ، برنامه Hands On، پروکسی وب و پیکربندی مجموعه Burp Suite را نیز شناختیم.
در جلسه آینده قرار است مبحث Injection یا تزریق را تست امنیت بررسی کنیم.
با پی وی لرن همراه باشید.