哪位大侠知道sql参数化查询可以被注入攻击吗?比如command.Parameters.Add("@card",SqlDbType.Int).Value
发布网友
发布时间:2022-04-07 17:58
我来回答
共3个回答
热心网友
时间:2022-04-07 19:27
参数化的形式不会被注入攻击。
以前一些不合格的程序员,会将值和 sql 语句直接用字符串加法连接成一个长字符串,这样,值当中的一些符号和前后 sql 语句就会组合成新的含义,也就是注入攻击。
例如,检查一个用户是否存在:
"select * from users where user='" + user + "'"
如果用户输入 user 为 1' or '1'='1,那么整个 sql 语句就是:
select * from users where user='1' or '1'='1'
这个和原作者的意思是不一样的。如果组合入一些删除或修改语句,或者操作关键表的语句,就达到了攻击的目的。
热心网友
时间:2022-04-07 20:45
又不是字符串拼接,肯定不会被注入攻击
热心网友
时间:2022-04-07 22:20
不会。