SQL Injection چیست ؟
SQL Injection یا تزریق اس کیو ال ( sql یا زبان ساخت یافته پرس و جو) یکی از راه هایی است که هکر ها از آن برای نفوذ به سیستم ها و سایت ها برای سرقت اطلاعات مهم و یا بدست آوردن رمزهای ورود به سیستم از آن استفاده می کنند.
برای اولین بار در سال 1998 رین فارست پاپی (Rain Forest Puppy) در مقاله ای به معرفی این روش هک پرداخت و در آن به تفضیل در مورد چگونگی استفاده از تزریق SQL برای لطمه زدن و تخریب یک وب سایت محبوب توضیح داده است
این روش به این گونه است که هکر با استفاده فیلدهای ورودی نرم افزار تحت وب (به عنوان مثال ورود اطلاعات کاربری برای لاگین در سایت و ...) یا دسکتاپ، با دانشی که از این زبان (SQL) دارد با وارد کردن کوئری مورد نظر و با حدس نام جداول و ستون های دیتابیس که معمولا از اسامی مشخصی استفاده می کنند، اطلاعات مورد نظر خود را بدست می آورد.
به عنوان مثال برای ورود کاربران به یک سایت یا برنامه از آنها نام کاربری و رمز عبور خواسته می شود.
اگر کدی که توسط برنامه بر روی سرور برای بررسی صحت اطلاعات ورودی کاربر همانند کد زیر باشد می توان با ترفندی (SQL Injection) بدون داشتن نام کاربری و رمز عبور به سایت مورد نظر ورود یا لاگین کرد.
آنگاه با وارد کردن ورودی های زیر بدون داشتن نام کاربری و رمز عبور به سایت مورد نظر ورود پیدا کرد. زیرا بعد از وارد کردن این ورودی ها، کد جستجویی که در بالا آمده به شکل زیر در خواهد آمد که همیشه نتیجه درست را برمی گرداند و به کاربر اجازه ورود میدهد.
البته باید این نکته را هم اشاره کرد که در مقابل راه هایی نیز برای جلوگیری از تزریق اس کیو ال وجود دارد.
سایر مقالات مربوط به برنامه نویسی