تزریق SQL چیست؟

مقدمه

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

تزریق SQL چیست ؟

بیایید اول ببینیم که SQL چیست.
SQL یک زبان کوئری ساختار یافته است.
از SQL برای تعامل و دستکاری پایگاه داده استفاده می شود.

SQL دقیقاً چه کاری انجام می دهد؟

در ادامه لیستی از کارهایی که SQL انجام می دهد را آورده ایم.

  • ایجاد یک پایگاه داده جدید.
  • درج، به روز رسانی، حذف رکورد ها.
  • ساخت کوئری ها جدید.
  • ساخت views ها.
  • اجرای کوئری ها.
  • تنظیم مجوزها.

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

تزریق SQL دقیقاً چه کار می کند؟

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

هکر ها به راحتی می توانند داده ها را از پایگاه داده SQL دریافت کنند و با استفاده از SQL Injection می توانند پرونده های موجود در پایگاه داده را اضافه، اصلاح و حذف كنند.
این پایگاه داده ممکن است در میان MySQL ، SQL Server ، Oracle ، SQL Server ، و غیره غیرقانونی باشد.

اگر یک وب سایت یا یک برنامه کاربردی ضعیف طراحی شده باشد، این حملات تزریق SQL ممکن است به کل سیستم آسیب برساند.
در این مرحله است که امنیت سایبری وارد میدان می شود.

SQL Injection ( آشنایی با مبانی امنیت سایبری )

تزریق SQL چیست ؟

انواع تزریق SQL

تزریق در باند SQL (تزریق کلاسیک SQL)

در این تکنیک، هکر از همان روش برای هک کردن دیتابیس استفاده می کند و داده های مربوط به داده را از نتیجه داده دریافت می کند.

تزریق SQL مبتنی بر خطا

در این روش هکر الگوی خطای پایگاه داده را می گیرد و به آن دسترسی پیدا می کند.

تزریق SQL مبتنی بر injection

این روش تزریق را می توان نوعی از تزریق در باند SQL دانست.
در این تکنیک ، کاربر کوئری را ترکیب کرده و نتیجه را بعنوان بخشی از پاسخ HTTP دریافت می کند.

تزریق استنباطی SQL (تزریق Blind SQL)

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

تزریق خارج از باند SQL

این روش یک حمله مبتنی بر ویژگی است.
این روش خیلی روش رایجی نیست.
در این حمله هکر برای رسیدن به نتیجه نیاز به استفاده از کانال های مختلف دارد.
تکنیکهای تزریق خارج از باند SQL به توانایی سرور پایگاه داده در درخواست DNS یا HTTP برای تحویل داده به هکر بستگی دارد.

کلام آخر

ایجاد پایگاه داده یا دیتابیس مسئله مهمی است و لذا در حین ایجاد آن، ما باید برای جلوگیری از حملات هکرها کاملاً نسبت به امن ساختن آن مراقب باشد.
به عبارت بهتر “پیشگیری بهتر از درمان است”.

با پی وی لرن همراه باشید.

به اشتراک بگذارید