علی سالم پناه

علی سالم پناه

متخصص شبکه و امنیت شبکه

پست الکترونیکی: spambots

ما در جهانی زندگی می کنیم که افراد زیادی وجود دارند که خواهان آسیب رساندن به منابع حساس و حیاتی موجود در شبکه را دارند. امروزه اینترنت بخش ضروری و مهم زندگی ما و همچنین سازمان ها را تشکیل می دهد که این عامل باعث شده هکر ها نیز اینترنت را به عنوان بهترین هدف برای پیاده سازی هدف های سوء خود انتخاب کنند و به این منابع مهم موجود در دنیای اینترنت متصل شوند و آن را آلوده به ویروس، تروجان و سایر بد افزاره های مخرب کنند. بنابراین شما باید از برنامه های امنیتی پیشرفته ای برای محافظت از سیستم های خود در برابر این بد افزار ها استفاده کنید. محصولات امنیتی Kaspersky یکی از بهترین راه حل های می باشد که می توان با انواع و اقسام ویروس ها و حملات هکرها در دنیای اینترنت مقابله کرد زیرا که این محصولات علیرغم هزینه پایین آن امنیت بالای را برای شما به ارمغان می آورد. در زیر به 8 دلیل اشاره شده است که ما را مجاب می کند از محصولات Kaspersky Security برای ایمن کردن شبکه خود استفاده کنیم که به شرح زیر می باشند :

حملات SQL Injection و نحوه صورت گرفتن این حملات

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

SQL Injection معمولا هنگامی رخ میدهد که شما از کاربر برای ورود به صفحه شخصی وبی کاربر نام کاربری و رمز عبور را حساب کاربری را در خواست کند که در این حمله هکر در صفحه ورودی برخی کد های SQL را وارد می کند کد های در پایگاه داده اجرا می شود.

به مثال زیر دقت کنید که یک عبارت Select را با اضافه کردن یک متغییر (txt Userid) به یک رشته انتخاب ایجاد می کند متغییر از ورودی کاربر (GetRequeststring) گرفته شده است.

sql injection

تزریق کد همیشه درست "1=1"

به مثال بلا دوبار نگاه کنید هدف اصلی کد ایجاد یک بیانیه ای SQL برای انتخاب یک کاربر با یک شناسه داده شده است حال اگر هیچ چیزی برای جلوگیری از کاربر در صورت وارد کردن اطلاعات اشتباه تنظیم نشده یاشد کاربر می تواند اطلاعات ورودی هوشمند دستوری وارد کند مانند :

 

که در نتیجه این ورودی به شکل SQL Statement به صورت زیر خواهد بود :

دستور SQL بالا معتبر است و تمام ردیف ها از جدول User باز می کند زیرا کد شرط OR 1=1  همیشه True  میباشد. SQL Statement اشاره شده در بالا همانند دستور زیر است.

که یک هکر ممکن است این توانایی را کسب کند به تمام حساب های کاربری و کلمه عبور آنها دسترسی یابد.

تزریق کد همیشه درست "="

در اینجا مثالی از ورودی یک کاربر به صفحه شخصی به یک  وب سایت می باشد

sql injection

درنتیجه :

هکر به راحتی می تواند حساب کاربری و رمز آنها را تنها با وارد کردن “or””=” در محل نام کاربری و یا رمز عبور به شکل زیر :

sql injection

این ورودی ها را سرور دریافت و آن را به شکل فرم دستوری SQL معتبر تبدیل می کند.

 فرم دستوری بالا کاملا معتبر می باشد که باعث می شود تمام ردیف های جدول User برگردانده شود زیرا که “Or”=” همیشه درست است.

SQL Injection بر اساس SQL Statement ها :

برای حفاظت از وب سایت در برابر حملات SQL Injection شما می توانید از پارامترهای SQL استفاده کنید. پارامترهای SQL عبارتند از مقادیری که به صورت کنترل شده به یک SQL Query در زمان اجرا اضافه می شود هستند.

توجه داشته باشد که پارامترها در SQL با نشان @  نشان داده شده اند. موتور SQL هر پارامتر را بررسی می کند تا اطمینان حاصل شود که ستون آن درست است و به معنای واقعی و نه به عنوان بخشی از SQL اجرا می شود. در زیر مثال دیگری آورده شده است :

مثال ها :

مثال های زیر نشان میدهد که چگونه در برخی از زبان های رایج پارامتری را ایجاد کنید.

INSERT INTO STATEMENT IN ASP.NET:

INSERT INTO STATEMENT IN ASP.NET:

صفحه2 از9

مهندسین شبکه افزار سایان

  • اهواز - خیابان وهابی خ 19 شرقی پلاک 20
  • 061-33386011-13
  • 061-33374556
  • spambots

پیشنهادات خود را با ما در میان بگذارید

  ایمیل ارسال نشد   ایمیل با موفقیت ارسال شد