جلسه 11: معرفی تکنیک تزریق یا Injection در تست امنیت
![جلسه 11: معرفی تکنیک تزریق یا Injection در تست امنیت](https://jetamooz.com/wp-content/uploads/2021/04/Injection-in-security-testing.jpg)
جلسه 11: معرفی تکنیک تزریق یا Injection در تست امنیت
نگهداری امن و محرمانه اطلاعات مشتریان از اولویت بالایی در تمامی سازمان ها و شرکت ها برخوردار است. متأسفانه، روزانه آسیب پذیری های جدیدی کشف شده و همگامی نگهداشت امن سازمان در برابر آن ها، تقریباً به امری محال تبدیل شده است. این آسیب پذیری ها در تار و پود زیرساخت IT قرار گرفته و گاهاً به مدت بسیار طولانی کشف نشده باقی می مانند. اگرچه راه های بسیاری برای امن سازی سیستم ها و اپلیکیشن ها در برابر آسیب پذیری ها وجود دارد، اما تنها راه کسب اطمینان واقعی از آن، تست امنیتی بستر IT سازمان به منظور یافتن این حفره های امنیتی است.
داده ها و اطلاعات کاربران و البته وبسایت ها ممکن است به سرقت برده شوند؛ مورد سوء استفاده گرفته و یا در فضای عمومی و بدون خواست صاحبان آن عرضه شوند. تست امنیت Security Testing امروزه مبحث داغ امنیت است تا آسودگی خیال افراد را در بستر اینترنت فراهم کند. راهکار “تست امنیتی” امکان تکرار حملات بر روی سیستم ها، دستگاه ها و اپلیکیشن ها را به منظور آشکارسازی زنجیره ای از مسیرهای باز و آسیب پذیر بر روی سیستم ها و داده های حساس و حیاتی سازمان، فراهم می آورد.
خلاصه جلسه قبل:
در جلسه قبل با موضوع هک شدن و هک کردن برنامه های وب آشنا شدیم؛ و تکنیک های OWASP، برنامه Hands On، پروکسی وب و پیکربندی مجموعه Burp Suite را نیز شناختیم. در این جلسه قرار است به بررسی Injection یا تزریق در تست امنیت بپردازیم.
بررسی Injection یا تزریق در تست امنیت
تکنیک تزریق شامل تزریق SQL query یا یک دستور با استفاده از فیلدهای ورودی برنامه است.
تکنیک تزریق برنامه وب (Web Application – Injection)
یک تزریق موفق SQL می تواند داده های حساس را از پایگاه داده بخواند، اصلاح کند، همچنین می تواند داده ها را از یک پایگاه داده حذف کند. همچنین هکر را قادر می سازد که عملیات اجرایی را در پایگاه داده مانند خاموش کردن DBMS/dropping پایگاه داده ها انجام دهد. اجازه دهید با کمک نمودار ساده، عوامل تهدید، وکتورهای حمله، ضعف امنیتی، تأثیر فنی و تأثیرات تجاری این نقص را بهتر درک کنیم.
![بررسی عوامل تهدید کننده](https://jetamooz.com/wp-content/uploads/2021/04/Injection-in-security-testing-1.png)
مثال ها:
برنامه از untrusted data یا فهم داده در ساخت vulnerable SQL cal استفاده می کند.
String query = "SELECT * FROM EMP WHERE EMPID = '" + request.getParameter("id") + "'";
Hands On
مرحله 1) مطابق شکل زیر به قسمت SQL Injection برنامه بروید.
![ورود به قسمت SQL Injection](https://jetamooz.com/wp-content/uploads/2021/04/Injection-in-security-testing-2.jpg)
مرحله 2) همانطور که در تمرین آورده شده است ، ما از String SQL Injection برای دور زدن احراز هویت استفاده می کنیم. استفاده از تزریق SQL برای ورود به عنوان رئیس (‘Neville’) بدون استفاده از رمز عبور صحیح. تأیید کنید که نمایه Neville قابل مشاهده است و همه عملکردها در دسترس است (از جمله Search و Create و Delete).
مرحله 3) ما SQL را تزریق می کنیم تا بتوانیم با ارسال پارامتر به عنوان ‘a’ = ‘a’ یا ۱ = ۱ رمز عبور را دور بزنیم.
![تزریق SQL](https://jetamooz.com/wp-content/uploads/2021/04/Injection-in-security-testing-3.jpg)
مرحله 4) پس از بهره برداری، می توانیم به عنوان Neville که همانطور که در زیر نشان داده شده است، وارد شویم.
![جا زدن خود به عنوان شخض مدیر](https://jetamooz.com/wp-content/uploads/2021/04/Injection-in-security-testing-4.jpg)
جلوگیری از تزریق SQL
روش های زیادی برای جلوگیری از تزریق SQL وجود دارد. هنگامی که توسعه دهندگان کد را می نویسند، باید اطمینان حاصل کنند که به ترتیب متناسب با کارکتر های خاص رفتار می کنند. تکنیک های تقلب sheets/prevention وجود دارند که از OWASP جلوگیری می کنند قطعاً می توانند راهنمایی خوبی برای توسعه دهندگان باشند.
در ادامه به برخی از روش های جلوگیری از تزریق SQL اشاره کرده ایم.
- استفاده از Parameterized Queries
- فرار از همه User Supplied Input
- فعال کردن Least Privilege برای پایگاه داده و برای کاربران نهایی
سخن پایانی
در این جلسه به بررسی Injection یا تزریق در تست امنیت پرداختیم؛ از جمله تزریق هایی که می تواند امنیت پایگاه داده شما را تهدید کند، تزریق SQL است. یک تزریق موفق SQL می تواند داده های حساس را از پایگاه داده بخواند، اصلاح کند، همچنین می تواند داده ها را از یک پایگاه داده حذف کند. در این جلسه به بررسی تزریق SQL پرداخته و راه های مقابله با آن را نیز معرفی کردیم. در جلسه آینده می خواهیم به آزمایش تأیید هویت شکسته در تست امنیت بپردازیم. لطفا نظرات خود در رابطه با این مقاله را با ما به اشتراک بگذارید.
شاد و پیروز باشید.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.