A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吴清华 中级黑马   /  2012-7-29 10:01  /  1445 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

什么叫SQL注入漏洞攻击?

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

2 个回复

倒序浏览
概念不会说··
举个例子
加入sql语句为"select * from tb_usertable where name='"+用户名文本框的值+"'and password='"+密码框的值+"'"
那么用户名随意写 密码填写1'or'1'='1
这样最后的sql语句拼起来是select * from tb_usertable where name='"+nihao+"'and password='1'or'1'='1' 后半句有个永远成立的1=1
这样……就绕过了··08年琢磨破网吧数据库给自己充钱时百度搜到的··那时候关键词好像是“网站后台万能密码”{:soso_e143:}

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
楼上讲得非常正确,为了防止SQL注入攻击
可以这样写:
cmd.CommandText = "select count(*) from T_user where name = @N and password = @P";
cmd.Parameters.Add(new SqlParameter("N",name));
cmd.Parameters.Add(new SqlParameter("P",password));
详情你可以看看杨中科的SQL视频,里面讲得非常清楚

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马