هي واحدة من المخاطر الشهيرة في تطبيقات قواعد البيانات، سواء كانت تطبيقات النوافذ أو تطبيقات الويب، حيث يقوم المهاجمون بوضع مدخلات في نماذج الإدخال، تتحول هذه المدخلات فيما بعد إلى أوامر ضارة بقاعدة البيانات الخاصة بالبرنامج، وسبب هذه المشكلة هي عدم إنتباه المبرمج/المطور (بأي لغة تقبل تضمين عبارات sql)، لما يمكن أن يفعله المهاجم، نوضح ذلك في لغة الفيجول بيسك مع الـ ado.net، بمثال:
Dim strcheck As String = "select *from tblteacher where tchr_pswd='" & txt_userpass.Text & "' and teachername='" & txt_userid.Text & "'"
con.Open()
Dim cmd2 As New OleDbCommand(strcheck, con)
Dim x As String
x = cmd2.ExecuteScalar()
con.Close()
If x Then
MsgBox("كلمة السر صحيحة
…………………….
………………..
