在java中的链接数据库中什么是SQL的注入漏洞?请简单介绍下。
1个回答
展开全部
比如正常的SQL语句是这个:
sql = select * from users where username=' + username + ' and passwd=' + password + ';
用户输入帐户和密码后应该是这个:select * from users where username='张三' and passwd='123456';
那么注入的是用户登录时用户名还是张三,但是密码用了789456' or '1'='1,注意这个密码本来是不正确的,在数据库里是找不到的,但是用了这个<789456' or '1'='1>密码后下面
原来正常的SQL语句就变成:select * from users where username='张三' and passwd='789456' or 1='1'; 了,这个结果无论密码是不是真的,因为后面有个or 1="1",返回的值都是true的,
运用or 1="1"这个是true的结果把密码蒙骗过关了
记住这个注入的意思就是在用户登录的输入框写入SQL语句以达到欺骗的作用
sql = select * from users where username=' + username + ' and passwd=' + password + ';
用户输入帐户和密码后应该是这个:select * from users where username='张三' and passwd='123456';
那么注入的是用户登录时用户名还是张三,但是密码用了789456' or '1'='1,注意这个密码本来是不正确的,在数据库里是找不到的,但是用了这个<789456' or '1'='1>密码后下面
原来正常的SQL语句就变成:select * from users where username='张三' and passwd='789456' or 1='1'; 了,这个结果无论密码是不是真的,因为后面有个or 1="1",返回的值都是true的,
运用or 1="1"这个是true的结果把密码蒙骗过关了
记住这个注入的意思就是在用户登录的输入框写入SQL语句以达到欺骗的作用
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询