نویسنده: fema co
18 می 2021
0 262
جلوگیری از حملات 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

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

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

اشتراک گذاری

مقالات مرتبط این مطلب پیشنهاد می شود

خدمات فاما سرور

  • سرور مجازی

    سرور مجازی

    سرور مجازی یکی از سرویس های پر استفاده و مقرون بصرفه برای کسب و کارهای کوچک و خدمات سایر در ضمینه IT و شبکه میباشد که توان پشتیبانی از 128 هسته و 512 گیگ رم را دارد.

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

    سرور اختصاصی

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

  • بیگ بلوباتن

    بیگ بلوباتن

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

  • هاست لینوکس

    هاست لینوکس

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

  • هاست ویندوز

    هاست ویندوز

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

  • ثبت دامنه

    ثبت دامنه

    ثبت دامنه های بین المللی , دامنه ir و دامنه های با پسوند های مختلف در فاماسرور پشتیبانی میشوند.