黑马程序员技术交流社区
标题:
sql server 漏洞问题
[打印本页]
作者:
许全通
时间:
2012-1-4 10:40
标题:
sql server 漏洞问题
本帖最后由 许全通 于 2012-1-6 11:43 编辑
数据库好像有一个漏洞问题,今天实训,做一登陆界面,老师给我检测,直接在用户名里输入了'or ...... 记不清了,请问这能解决吗?
作者:
许全通
时间:
2012-1-4 11:04
老师输入的是:' or 2=2
作者:
陆亚
时间:
2012-1-4 12:23
这叫SQL注入式攻击,拼字符串的形式实现字符串的where字句恒成立,进而实现登录,使用参数化查询可以避免
作者:
井路静
时间:
2012-1-4 14:28
这叫SQL 注入漏洞攻击。当使用字符串拼接的形式进行数据库查询时,如
comm.CommandText="select * from T_USERS where UserName='"+username+"'and Password='"+password+"‘“;
当用户输入正确的用户名Admin,密码为1' or '1'='1时,以上SQL语句会被自动拼接为:
select * from T_USERS
where (UserName ='Admin') and (Password ='1') or ('1'='1')
即只要用户名正确,这语句就恒成立,所以就能登录成功。
若要避免SQL注入漏洞攻击,就应该使用参数化查询。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2