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



  • ۱۶
  • اردیبهشت

جلسه ۱۱ : بررسی Injection یا تزریق در تست امنیت

  • دسته‌بندی‌ها :
جلسه ۱۱ : بررسی Injection یا تزریق در تست امنیت
    • جزئیات
    • نوع محتواآموزشی

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

      بررسی Injection یا تزریق در تست امنیت

      تکنیک تزریق شامل تزریق SQL query یا یک دستور با استفاده از فیلدهای ورودی برنامه است.

      برنامه وب – تزریق (Web Application – Injection)

      یک تزریق موفق SQL می تواند داده های حساس را از پایگاه داده بخواند، اصلاح کند، همچنین می تواند داده ها را از یک پایگاه داده حذف کند. همچنین هکر را قادر می سازد که عملیات اجرایی را در پایگاه داده مانند خاموش کردن DBMS/dropping پایگاه داده ها انجام دهد.

      اجازه دهید با کمک نمودار ساده، عوامل تهدید، وکتورهای حمله، ضعف امنیتی، تأثیر فنی و تأثیرات تجاری این نقص را بهتر درک کنیم.

      بررسی عوامل تهدید کننده - بررسی Injection یا تزریق در تست امنیت

      بررسی عوامل تهدید کننده – بررسی Injection یا تزریق در تست امنیت

      مثال ها

      برنامه از untrusted data یا فهم داده در ساخت vulnerable SQL cal استفاده می کند.

      مثال : 

      Hands On

      مرحله ۱ – مطابق شکل زیر به قسمت SQL Injection برنامه بروید.

      ورود به قسمت SQL Injection- بررسی Injection یا تزریق در تست امنیت

      ورود به قسمت SQL Injection- بررسی Injection یا تزریق در تست امنیت

      مرحله ۲ – همانطور که در تمرین آورده شده است ، ما از String SQL Injection برای دور زدن احراز هویت استفاده می کنیم. استفاده از تزریق SQL برای ورود به عنوان رئیس (‘Neville’) بدون استفاده از رمز عبور صحیح. تأیید کنید که نمایه Neville قابل مشاهده است و همه عملکردها در دسترس است (از جمله Search و Create و Delete).

      مرحله ۳ – ما SQL را تزریق می کنیم تا بتوانیم با ارسال پارامتر به عنوان ‘a’ = ‘a’ یا ۱ = ۱ رمز عبور را دور بزنیم.

      تزریق SQL - بررسی Injection یا تزریق در تست امنیت

      تزریق SQL – بررسی Injection یا تزریق در تست امنیت

      مرحله ۴ – پس از بهره برداری، می توانیم به عنوان Neville که همانطور که در زیر نشان داده شده است، وارد شویم.

      جا زدن خود به عنوان شخض مدیر برای ورود - بررسی Injection یا تزریق در تست امنیت

      جا زدن خود به عنوان شخض مدیر – بررسی Injection یا تزریق در تست امنیت

      جلوگیری از تزریق SQL

      روش های زیادی برای جلوگیری از تزریق SQL وجود دارد. هنگامی که توسعه دهندگان کد را می نویسند، باید اطمینان حاصل کنند که به ترتیب متناسب با کارکتر های خاص رفتار می کنند. تکنیک های تقلب sheets/prevention وجود دارند که از OWASP جلوگیری می کنند قطعاً می توانند راهنمایی خوبی برای توسعه دهندگان باشند.
      در ادامه به برخی از روش های جلوگیری از تزریق SQL اشاره کرده ایم.

      • استفاده از Parameterized Queries
      • فرار از همه User Supplied Input
      • فعال کردن Least Privilege برای پایگاه داده و برای کاربران نهایی

      سخن پایانی

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

      QR:  جلسه ۱۱ : بررسی Injection یا تزریق در تست امنیت
      به اشتراک بگذارید