一、SQL注入概述
1、SQL注入原理
用户登录的基本 SQL 语句:
select * from users where username = '用户输入的用户名' and password='用户输入的密码'
用户输入的内容是可控的,例如我们可以在用户名中输入' or 1=1 --空格
select * from users where username = '' or 1=1 --空格 'and password = '用户输入的密码'
此时我们输入的第一个单引号将 username 的单引号闭合,相当于输入了一个空用户,or 表示左右两边只要有一边条件判断成立则该语句返回结果为真,其中 1=1 永远为真,所以当前 SQL 语句无论怎么执行结果永远为真,--空格表示注释,注释后面所有代码不再执行。
我们可以看到上面我们闭合的方法是没有输入用户名的,所以并不能成功登录
select * from use