تفاوت بین XSS و SQL Injection

فهرست مطالب:

تفاوت بین XSS و SQL Injection
تفاوت بین XSS و SQL Injection

تصویری: تفاوت بین XSS و SQL Injection

تصویری: تفاوت بین XSS و SQL Injection
تصویری: API Penetration Test - SQL Injection Demo 2024, نوامبر
Anonim

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

هر سازمانی وب سایت هایی را نگهداری می کند که به بهبود کسب و کار و سودآوری کمک می کند. یک برنامه وب شامل سمت مشتری و سمت سرور است. سمت مشتری شامل رابط های کاربری برای تعامل با برنامه است.سمت سرور شامل پایگاه داده است. معمولاً تهدیداتی وجود دارد که بر عملکرد صحیح برنامه تأثیر می گذارد. دو مورد از آنها XSS و تزریق SQL هستند.

XSS چیست؟

XSS مخفف Cross Site Scripting است و یکی از رایج ترین حملات وب سایت است. می تواند آن وب سایت خاص و همچنین کاربران آن وب سایت را تحت تأثیر قرار دهد. رایج ترین زبان برای نوشتن کدهای مخرب برای حمله XSS، جاوا اسکریپت است. XSS می‌تواند کوکی‌های کاربر را بدزدد، تنظیمات کاربر را تغییر دهد، بارگیری‌های مختلف بدافزار و بسیاری موارد دیگر را نمایش دهد.

تفاوت کلیدی بین XSS و SQL Injection
تفاوت کلیدی بین XSS و SQL Injection

شکل 01: XSS

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

SQL Injection چیست؟

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

تفاوت بین XSS و SQL Injection
تفاوت بین XSS و SQL Injection

شکل 02: تزریق SQL

علاوه بر این، چند نمونه از تزریق SQL به شرح زیر است؛

ممکن است موقعیتی برای جستجوی کاربر از طریق userid وجود داشته باشد. اگر روش اعتبار سنجی ورودی وجود نداشته باشد، کاربر می تواند ورودی اشتباهی را وارد کند. اگر کاربر ID را به صورت 100 یا 1=1 وارد کند، یک دستور SQL به صورت زیر ایجاد می کند.

انتخاباز کاربرانی که userid=100 یا 1=1;

این دستور SQL می تواند همه کاربران پایگاه داده را برگرداند زیرا 1=1 همیشه درست است. اگر این یک هکر بود و اگر پایگاه داده حاوی داده های محرمانه مانند رمزهای عبور بود، می تواند به نام های کاربری و رمز عبور دسترسی پیدا کند. این یک مثال برای SQL Injection است.

تفاوت بین XSS و SQL Injection چیست؟

XSS نوعی آسیب‌پذیری امنیتی رایانه در برنامه‌های کاربردی وب است که مهاجمان را قادر می‌سازد تا اسکریپت‌های سمت کلاینت را به صفحات وب که توسط سایر کاربران مشاهده می‌شوند تزریق کنند. تزریق SQL یک تکنیک تزریق کد است که به برنامه‌های مبتنی بر داده حمله می‌کند که عبارات SQL را در یک ورودی ثبت شده برای اجرا درج می‌کنند.

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

تفاوت بین XSS و SQL Injection در شکل جدولی
تفاوت بین XSS و SQL Injection در شکل جدولی

خلاصه - XSS در مقابل تزریق SQL

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

توصیه شده: