در بسیاری از موارد دیده میشود که هکر به عنوان بازدیدکننده به سایت وارد میشود و در هنگام پر کردن فیلدهای فرم ثبت نام به جای درج اطلاعات فردی، کوئری مورد نظر خود را توسط حملات SQL Injection اجرا میکند. در این حالت ایمیل ادمین به ایمیل دلخواه تغییر میکند و تمام دسترسیها در اختیار هکر قرار میگیرد. در این مقاله به معرفی حملات SQL Injection میپردازیم
معرفی SQL Injection :
در اغلب برنامه های کاربردی تحت وب از بانکهای اطلاعاتی یا پایگاه داده استفاده می شود. این برنامه ها داده های ورودی کاربر را به یک query تبدیل کرده و به بانک اطلاعاتی ارسال میکند.
SQL Injection به معنی تزریق کد SQL است که یک روش قدیمی برای حمله به سایت هایی است که از بانک های اطلاعاتی و فرم ها استفاده می کنند.
نحوه عملکرد:
روش این حمله به این صورت است که هکر در فرم های سایت، در فیلدی که باید اطلاعات خود را وارد کند، کد های مخرب SQL را وارد می کند و چون اين کد ها در زمان اجرا تفسير می شوند سيستم به جای اجرا کردن کد SQL اصلی، کد مورد نظر هکر را اجرا می کند.
به طور مثال در فیلد username چیزی به غیر از نام کاربری وارد شود مثلا hi’ or 1=1′
نوع اطلاعات ورودی در SQL Injection به نوع سرویس هاستینگ و دیتابیس بستگی دارد و هر دیتابیسی به یک سری کاراکترهای خاص حساس است. مثلا Mysql در هاست لینوکس و هاست cPanel کاراکتر ‘ و چند کاراکتر دیگر حساس است…
پیشنهاد سیتی سایت: روشهای جدید هک از طریق ایمیل و راه های جلوگیری از آن SQL Injection
روش های مقابله :
– بهترین راه مقابله با حملات SQL Injection چک کردن ورودی ها قبل ارسال آنها به پایگاه داده به عنوان یک Query است. میتوانید ورودی فرم ها را به کمک روشهای مختلف چک کنید که حاوی کارکترهای غیرمجاز نباشند.
– یا یک روش دیگر برای جلوگیری از حملات SQL Injection ایجاد چند کاربر با دسترسی های مختلف به دیتابیس است .
– پیامهای خطایی که ایجاد میکنید با دقت بیشتری انتخاب کنید.مثلاً خطای ‘ نام کاربری نمیتواند شامل اعداد باشد’ را که توسط پایگاه داده برگردانده میشود در نظر بگیرید. همین اطلاعات کم می تواند به مهاجم این کمک را بکند که در قسمت نام کاربری اعداد را وارد نکند.
– امنیت پایگاه داده هاست وردپرسی خود را ارتقاء دهید.
تدوین و گردآوری: سورانی