防查询语句注入漏洞攻击

当开发应用程序时,尤其是有关数据库信息的查询,查询语句中可能会有拼接字符串注入漏洞,这便会导致用户资料泄露。那么该如何防范此类漏洞的出现。

可以为查询语句设置参数,方法实例如下面所示:

Using(Sqlconnection cn = new sqlconnection(“连接字符串”))

{

cn.open();

using(sqlcommand cmd = cn.creatcommand())

{

cmd.commandtext=”select * from T_table where name=’”+textbox.text+”’”;

(此时如果在文本框中输入1’ or ‘1’=’1)就可以获取数据库信息。会造成信息的泄露。解决办法就是引入参数。方法如下。

cmd.commandtext=”select * from T_table where name=@Name”;

cmd.Parameters.Add (new sqlParameter ("@Name", textbox.text))};

这样查询数据就会从数据库查询比对,不会再出现注入漏洞攻击的情况。

}

}

posted @ 2013-09-24 23:13  梦想的火把永不熄灭  阅读(1187)  评论(14编辑  收藏  举报