1. 程式人生 > >ADO.NET註入攻擊和防禦

ADO.NET註入攻擊和防禦

pda date upd user int execute 編號 數據 .net

當在添加程序中註入攻擊時在控制臺應用程序中可以這樣寫:

請輸入編號:U006

請輸入用戶名:無敵

請輸入密碼:1234

請輸入昵稱:呵呵

請輸入性別:True

請輸入生日:2000-1-1

請輸入民族:N004‘>update Users set PassWord=‘0000‘;--

添加成功!

這樣可以在添加程序中將裏面的內容的密碼都改為0000.

有攻擊就有防禦所以:

可以在裏面添加程序就可以達到防禦效果:

string nation = Console.ReadLine();
conn.Open();
cmd.CommandText = "insert into Users values(@a,@b,@c,@d,@e,@f,@g)";
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@a", ucode);
cmd.Parameters.AddWithValue("@b", username);
cmd.Parameters.AddWithValue("@c", password);
cmd.Parameters.AddWithValue("@d", nickname);
cmd.Parameters.AddWithValue("@e",sex);
cmd.Parameters.AddWithValue("@f", birthday);
cmd.Parameters.AddWithValue("@g", nation);
int count = cmd.ExecuteNonQuery();
conn.Close();

[email protected],就可以防禦了。

ADO.NET註入攻擊和防禦