1、知道用户名但是不知道密码
password: ' or 1=1 --
2、利用地址栏进行攻击
知道数据库中的id字段
?id=3;delete from tbname(会删除数据库里面的所有用户)
采取措施:
假设知道id是int的
可以这样写:
int id=0;
if(int.TryParse(Request.QueryString["id"],out id))
{
var strSql="select * from user where id="+id;
}
防御sql注入攻击:
1、在设计应用程序时,完全使用参数化查询来说十几数据访问功能。
2、在组合sql字符串时,先针对所传入的参数作字符取代(将单引号字符取代为连续2个单引号字符)
3、使用其他更安全带的方式连接sql数据库。例如已经修正过的sql注入问题的数据库链接组件,例如asp.ent的sqldatasource对象或是linq to sql。
4、使用sql防注入系统。
sql injection
最新推荐文章于 2024-07-13 19:43:54 发布