SQL注入漏洞攻击

来源:互联网 发布:考古 知乎 编辑:程序博客网 时间:2024/04/28 08:56

SQL注入漏洞攻击
登陆判断:select count(*) from Login where UserName=… and Password=…,将参数拼到SQL语句中。
构造恶意的Password:1‘ or ’1‘=’1
Int result=cmd.ExecuteScalar();
If(result>0)
{
Response.Redirect(“Welcome.aspx”);
}
Else
{
Response.Write(“ 登陆失败”) ;
}
 防范SQL 注入漏洞攻击的方法,不使用SQL 语句拼接,通过参数赋值

SQL语句使用@UserName表示“此处用参数代替”,向SqlCommand的Parameters中添加参数。
Cmd.CommandText=“select count(*) from Login where UserName=@Uname and Password=@P”;
Cmd.Parameters.Add(New SqlParameter(“Uname”,this.txtUname.Text));
Cmd.Parameters.Add(New SqlParameter(“P”,this.txtPwd.Text));
参数在SQL Server内部不是简单的字符串替换。SQL Server直接用添加的值进行数据比较,因此不会有注入漏洞攻击。

原创粉丝点击