در اکثر برنامههای تحت وب از پایگاههایداده برای ذخیرهکردن اطلاعاتی مانند نامکاربری و رمز کاربران و مدیران و دیگر اطلاعات مهم سایت استفاده میشود و ارتباط آنها با کاربر از طریق query هایی است که برنامه از کاربر دریافت کرده و به پایگاه داده ارسال میکند.
Sqlinjection به خاطر اشتباه برنامهنویس و کنترلنکردن ورودیها به پایگاه داده رخ میدهد. در صورتی که ورودیهاقبل از ورود به پایگاه داده کنترل و فیلتر نشوند؛ مهاجم میتواند بهجای وارد کردن ورودی های استاندارد دستورات sql را وارد کند.
این دستورات با وارد شدن به پایگاه داده اجرا می شوند و مهاجم می تواند به تمام یا بخشی از اطلاعات مهم آن ها از جمله رمز مدیر دسترسی پیدا کند.
در "جنگو" با استفاده از تکنیک ormخطر این باگ تقریباً به صفر میرسد زیرا دیتابیس با پایتون کنترل میشود و هیچگاه دستورات sql مستقیم وارد پایگاه داده نمیشوند.