جلوگیری از حملات sqlinjection

جلوگیری از حملات sqlinjection

در این مقاله در ضمینه جلوگیری از حملات sqlinjection که مهمترین اصل از جلوگیری حملات sqlinjection هست را مرور میکنیم.

 

حملات SQL INJECTION

sql injection به معنای تزریق اطلاعات یا تزریق کدهای دستوری sql میباشد که با دستکاری اطلاعات این امر میسر میشود تا اطلاعات مهمی مانند ایمیل ها و نام کاربری و کلمات عبور رویت شود یا آپدیت شده و به کلمه عبور یا مقدارهای جدیدی جایگزین میشود.

اکثر سایتهایی که قابل مشاهده هستند از متد POST برای ارسال اطلاعات به دیتابیس استفاده میکنند که تا حد خیلی زیادی جلوگیری میکند از حمله هکر ها ولی به تنهایی این گزینه فقط از تزریق اطلاعات برای هکرهای ناشی جلوگیری میکند و روال کار برای کسانی که علم بالاتری دارند همچنان آسیب پذیر است.

sql injection

نقاط آسیبپذیر sql

جایگاه هایی مثل صفحات ورود , بخش جستجو , در استرینگهای url,و هر مکانی که اطلاعاتی قابل ارسال باشد کاربرد دارد مثلا زمانی که آدرس های news.php?id= را مشاهده شود با درج یه ‘ و دریافت ارور متوجه آسیبپذیری میشویم.

 

سایتهای آسیب پذیر

 

تمام مواردی که برای شما شرح داده شد قابل تست هستند مثلا اگر در آدرس یک url که با =۳ به اتمام رسیده و بعد از مساوی یک کاراکتر قرار دهیم .

درصورتی که سایت بدون ارور و مشکل لود شد به این معنا هست که جلوگیری تزریق کد درquery اعمال شده ولی زمانی که سایت ناقص لود شود و یا با ارور مواجه شود و یا جایگاه های مطالب و نشوته ها ناقض شوند یعنی آسیب پذیر است.

در عکس پایین من در یک سایت ‘ را درج میکنم و ارور sql را مشاهده میکنیم .

نمونه آسیبپذیری sql injection

تصویر سایت در حالت عادی:

جلوگیری تزریق کد درquery

 

و تصویر حالت آسیب پذیر:

 

جلوگیری تزریق کد درquery

جلوگیری تزریق کد درquery

 

جلوگیری از حملات sqlinjection

برای اینکه کاملتر این موضوع را شرح دهیم در ویدیو زیر از طریق کدهای php به یک دیتابیس محلی متصل میشویم. و یک جدول ایجاد میکنیم با محتویات آن.در سینتکس کلی mysql مقدارها را به سمت دیتابیس ارسال میکنم .

داخل آن مقدار ها کدهایی تزریق میکنیم و عملیات را با خطا مواجه میکنیم.

در مرحله بعدی توسل تابع stegment در mysqli داده ها را بصورت آبجکت به دیتابیس ارسال میکنیم و تعریف میکنیم که ورودی داده ها حتما باید از نوع string یا bool یا int باشد .

هر اطلاعات اضافه دیگری که وارد داده ها شود بصورت داده ای که تعریف کردیم در دیتابیس ذخیره میشوند و خروجی یا اروری را دریافت نمیکنیم.

نکته امنیتی:

در صورتی که از cms  های آماده استفاده میکنید حتما به یاد داشته باشید که هر افزونه ای که نصب میکنید ممکن است باگ آسیبپذیری برای شما ایجاد کند .

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

 

ویدیو آموزشی جلوگیری از حملات sqlinjection

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

نکته: استفاده از دانلود باکس فاماسرو و ویدیوهای آموزشی بصورت نیم بها میباشد .

نظرات کاربران

مطالب مرتبط
آموزش نصب آپاچی در centos7
آموزش نصب آپاچی در centos7

در این مقاله آموزشی در مورد آموزش نصب آپاچی در centos7 و نحوه نصب تصویری مقاله تهیه میکنیم و با…

خرید سرور مجازی
خرید سرور مجازی

در این مقاله در مورد خرید سرور مجازی صحبت خواهیم کرد و مزایا و معایب و کنترل یک انتخاب دقیق…

net framework
نصب دات نت فریم ورک در ویندوز ۲۰۱۶ سرور

در این مقاله با شما عزیزان به مقوله نصب دات نت فریم ورک در ویندوز ۲۰۱۶ سرور همراه هستیم که…

درباره فناوران آساک

فاما سرور از گروه شرکت های فاما نام گذاری و تشکیل شده است که در قسمت فوتر میتوانید با خدمات دیگر ما نیز آشنا بشوید و خرسندیم که در این راه و برای رسیدن به موفقیت در کنار شما خواهیم بود.

سرور مجازی ایران

سرور اختصاصی ایران

سرور مجازی آلمان

سرور مجازی ترید

سرور مجازی هلند

سرور مجازی

سرور ایران

وبینار

سرور بیگ بلو باتن

سرور مجازی فنلاند

سرور بایننس

سرور مجازی انگلیس

سرور ترید