دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۴
  • شهریور

جلسه ۱۸-۰۱ : آسیب پذیری های امنیتی رایج وبسایت ها – آموزش هک قانونمند

  • دسته‌بندی‌ها :
جلسه ۱۸-۰۱ : آسیب پذیری های امنیتی رایج وبسایت ها – آموزش هک قانونمند
    • جزئیات
    • نوع محتواآمورشی

      مقدمه

      درود بر شما عزیزان و کاربران سایت پی وی لرن. با آموزش رایگان هک قانونمند در خدمتتون هستیم.
      در این بخش از آموزش می خواهیم درباره ۱۰ آسیب پذیری امنیتی رایج وب ها را مورد بررسی قرار دهیم. آسیب پذیری های و حفره های امنیتی از جمله مشکلاتی است که در صورت نپرداختن به آن ها، ممکن است توسط هکرها مورد هدف قرار گرفته شوند و منجر به خسارات جبران ناپذیری خواهند شد.
      آسیب پذیری های امنیتی رایج وب ها در سه بخش تنظیم شده است. در این قسمت به حمله ی SQL Injection (ترزیق SQL) و Cross Site Scripting (اسکریپت نویسی فراوبگاهی می پردازیم. برای مشاهده و آشنایی بیش تر ادامه ی این آسیب پذیری های امنیتی رایج وب ها رو دو بخش بعدی هم دنبال نمایید.

      آسیب پذیری های امنیتی رایج وب ها

      خب به آسیب پذیری های امنیتی رایج وب ها می پرداریم.

      اکثر CommOWASP یا Open Web Security Project سازمانی که بر بهبود امنیت نرم افزار و برنامه های کاربردی وب تمرکز دارد.

      این سازمان لیستی از آسیب پذیری های امنیتی وب ها را بر اساس داده های سازمان های مختلف امنیتی منتشر کرده است .

      آسیب پذیری های امنیتی وب ها با توجه به قابلیت بهره برداری، تشخیص و تاثیر بر روی نرم افزار، اولویت بندی می شوند.

      • Exploitability

      برای آسیب پذیری امنیتی اکسپلویت چه چیزی مورد نیاز است؟ بالاترین اکسپلویت زمانی ست که حمله فقط به مرورگر وب نیاز دارد و کم ترین میزان برنامه نویسی و ابزار پیشرفته دارد.

      • Detectability

      چه طور می توان یک تهدید را آسان تشخیص داد؟ بالاترین میزان نمایش اطلاعات در URL، فرم یا پیام خطا و کم ترین کد منبع است.

      • Impact یا Damage

      اگر آسیب پذیری امنیتی در معرض حمله یا حمله قرار گیرد، چه میزان آسیب خواهد دید؟ بالاترین حد کرش کامل سیستم است و کم ترین حد، چیزی در آن نباشد.

      هدف اصلی OWASP Top 10، آموزش دهندگان، طراحان، مدیران، معماران و سازمان ها در مورد مهم ترین آسیب پذیری های امنیتی است.

      ۱۰ آسیب پذیری امنیتی رایج وب ها به ترتیب در OWASP Top 10 عبارتند از:

      • SQL Injection (تزریق SQL )
      • Cross Site Scripting(اسکریپت نویسی فراوبگاهی )
      • Broken Authentication and Session Management(تایید هویت شکسته شده و مدیریت Session )
      • Insecure Direct Object References (ارجاع های ناامن به شیء ها)
      • Cross Site Request Forgery (جعل در خواست)
      • Security Misconfiguration (پیکربندی امنیتی اشتباه )
      • Insecure Cryptographic Storage (ذخیره سازی رمزنگاری ناامن)
      • Failure to restrict URL Access (عدم محدودیت دسترسی به URL)
      • Insufficient Transport Layer Protection
      • Unvalidated Redirects and Forwards

      در ادامه به توضیح هر کدام از این آسیب پذیری های امنیتی رایج وب ها پرداخته و برای هر کدام مثالی بیان نموده و همچنین به بررسی پیامدهای هر آسیپ و آبجکت ها یا اشیاء ی که مورد آسیب قرار می گیرند خواهیم پرداخت.

      در آغاز معرفی ۱۰ آسیب پذیری امنیتی رایج وب ها با آسیب پذیری SQL Injection (ترزیق SQL) آشنا می شویم.

      SQL Injection (ترزیق SQL)

       

      آسیب پذیری های امنیتی رایج در وب ها

      آسیب پذیری های امنیتی رایج در وب ها

      توضیحات ترزیق SQL

      تزریق یک آسیب پذیری امنیتی است که به مهاجم اجازه می دهد تا با استفاده از داده های ارائه شده کاربر، دستورات SQL را تغییر دهد.

      تزریق زمانی اتفاق می افتد که ورودی کاربر به مفسر به عنوان بخشی از فرمان یا query فرستاده شود و مفسر را به اجرای دستورات ناخواسته مجبور می کند و دسترسی به داده های غیر مجاز را می دهد.

      دستور SQL که در هنگام اجرا توسط برنامه وب همچنین می تواند پایگاه داده back-end را نمایش دهد.

      پیامدهای ترزیق SQL

      • مهاجم می تواند محتوای مخرب را به حوزه های آسیب پذیر تزریق کند.
      • اطلاعات حساس مانند نام کاربری، رمز عبور و غیره را می توان از پایگاه داده خواند.
      • داده های پایگاه داده را می توان تغییر داد (Insert / Update / Delete).
      • Administration Operations را می توان بر روی پایگاه داده اجرا کرد.

      آبجکت های آسیب پذیر در ترزیق SQL

      • فیلد های ورودی
      • URL های تعامل با پایگاه داده.

      مثال برای ترزیق SQL

      • تزریق SQL در صفحه Login

      ورود به برنامه بدون داشتن اعتبار معتبر.

      نام کاربری معتبر در دسترس است و رمز عبور در دسترس نیست.

      Test URL: http://demo.testfire.net/default.aspx

      User Name: sjones

      Password: 1=1′ or pass123

      SQL query ایجاد شده و فرستاده شده به مترجم به صورت زیر است:

      ;SELECT * FROM Users WHERE User_Name = sjones AND Password = 1=1′ or pass123

      توصیه ها برای ترزیق SQL

      1. White Listing فیلد های ورودی
      2. اجتناب از نمایش پیام های خطای دقیق که برای مهاجم مفید باشد.

      Cross Site Scripting (اسکریپت نویسی فراوبگاهی )

      توضیحات Cross Site Scripting (اسکریپت نویسی فراوبگاهی )

      Cross Site Scripting به عنوان XSS نیز شناخته می شود.

      آسیب پذیری XSS اسکریپت های جاسازی شده در یک صفحه که در سمت سرویس گیرنده یعنی مرورگر کاربر اجرا می شود و نه در سمت سرور هدف قرار می دهد. این نقص می تواند زمانی رخ دهد که برنامه، داده های غیر قابل اعتماد را دریافت کند و آن را بدون مرور معتبر به مرورگر وب ارسال کند.

      مهاجمان می توانند از XSS برای اجرای اسکریپت های مخرب بر روی کاربران در این مورد مرورگرهای قربانی استفاده کنند. از آن جا که مرورگر نمی تواند بفهمد که آیا اسکریپت ها قابل اطمینان هستند یا خیر، اسکریپت اجرا خواهد شد و مهاجم می تواند کوکی های جلسه را خراب کند، وب سایت ها را خراب کند یا کاربر را به وب سایت های ناخواسته و مخرب هدایت کند.

      XSS حمله ایست که اجازه می دهد مهاجم اسکریپت ها را در مرورگر قربانی اجرا کند.

      پیامدها

      • با استفاده از این آسیب پذیری امنیتی، مهاجم می تواند اسکریپت ها را به برنامه تزریق کند، می تواند کوکی های جلسه را خراب کند، وب سایت ها را خراب کند و می تواند نرم افزارهای مخرب را روی دستگاه های قربانی اجرا کند.

      آبجکت های آسیب پذیر در Cross Site Scripting

      • فیلد های ورودی
      • URL ها

      مثال برای Cross Site Scripting

      ۱٫ <http://www.vulnerablesite.com/home?”<script>alert(“xss”)</script

      اسکریپت فوق زمانی که در مرورگر اجرا می شود، اگر یک سایت به XSS آسیب پذیر باشد، یک کادر پیام نمایش داده خواهد شد.

      اگر مهاجم می خواهد نشست کوکی را نمایش دهد یا ذخیره کند، حمله ای جدی می تواند انجام شود.

      ۲٫ <http://demo.testfire.net/search.aspx?txtSearch <iframe> <src = http://google.com width = 500 height 500></iframe

      هنگام اجرای برنامه اسکریپت فوق، مرورگر یک فریم نا معلوم را که به http://google.com اشاره دارد بارگذاری می کند.

      حمله با استفاده از یک اسکریپت مخرب در مرورگر، می تواند جدی باشد.

      توصیه ها برای Cross Site Scripting

      1. White Listing فیلد وردی
      2. کدگذاری Input Output

      دوستان عزیز مبحث معرفی ۱۰ آسیب پذیری امنیتی رایج وب ها رو این جا به پایان می رسونیم. ادامه ی معرفی ۱۰ آسیب پذیری امنیتی رایج وب ها رو در جلسات بعد خواهیم دید.

      کلام پایانی

      دوستان و همراهان عزیز آسیب پذیری های امنیتی رایج وب ها یا ۱۰ آسیب پذیری امنیتی رایج وب ها رو با بررسی مشکلات و پیامد ها و راه های جلوگیری از آن ها همراه مثال بررسی می کنیم. در این قسمت Cross Site Scripting (اسکریپت نویسی فراوبگاهی ) و SQL Injection (ترزیق SQL) پرداختیم. در حملات Cross Site Scripting، فرد مهاجم کد های جاوا اسکریپت را به عنوان ورودی ارسال کرده و وب آن را بدون تمیز کردن به کاربر باز می گرداند، بنابراین روی مرورگر کاربر اجرا می شود. در ادامه و در جلسات بعدی به مواردی دیگر از ۱۰ آسیب پذیری امنیتی رایج وب ها خواهیم پرداخت. با ادامه سری آموزش های هک قانونمند و مبحث ۱۰ آسیب پذیری امنیتی رایج در وب اپلیکیشن ها از سایت آموزشی پی وی لرن با ما همراه باشید.

      QR:  جلسه ۱۸-۰۱ : آسیب پذیری های امنیتی رایج وبسایت ها – آموزش هک قانونمند
      به اشتراک بگذارید