当前在email表 security库 查到user表
1、第一步,知道对方goods表有几列(email 2 列 good 三列,查的时候列必须得一样才可以查,所以创建个临时表,select 123 )
但是你无法知道对方goods表有多少列
用order by 升降序排列
但是数据库有传参机制(1 order by 1 desc)
第二步如何走出限制(走出双引号)
加单引号,但是多一个单引号,需要注释掉或者再加个单引号(‘1’ order by 1 desc ’)
注释方法:1、--+ 2、# 3、--(空格)
传参是在url地址栏里,# (不自行编码)
所以需要手动编码 # 是%23
--+ 和 --空格 为啥一样呢(都是注释的用途)
根据官方文档 说明空格被编码成+
Id = ' 1 ' order by 1 #'
第二步 连表查询 (id = -1 )(是1的话只会显示第一行)
现在咱们就可以查询users 表了(但是我们不知道对方user表是什么)
第三步 查询对方管理表
首先看一下所有库,看哪一个库存管理员表几率会更大一些
这个库里有一个表 会记录所有库的名称
当前库查到之后,接下来查表 (tables _NAME _SCHEMA)(这两个字段 记录 库中的表 对应关系)
Select table_schema from tables;
现在查到了库名,表名
存储的所有表名,需要过滤
当前是在sercuity
查到之后,在sql靶场显示只会显示第一个 要显示user表
第四步,如何显示user表
可以使用limit 进行 一个一个查直到查到user为止(少表可以)
Group_concat 将数组 转成一列
Uagents (使用的是哪个浏览器) referers (从哪个网址来)
我们就可以查user里面的列
这个表是记录列的
这样就查到了
0x3a 是 :
结束