Mysql中的information_schema数据库

一、Mysql常见面试题

1.在渗透测试工程师的岗位影片中,经常被问道一道关于Mysql数据库的问题。
问:在Mysql5.0以上和Mysql5.0以下的版本中最大的区别是什么?
答:在Mysql5.0以上的版本中加入了一个information_schema这个系统表,这个系统表中包含了该数据库的所有数据库名、表名、列表,可以通过SQL注入来拿到用户的账号和口令,而Mysql5.0以下的只能暴力跑表名;5.0 以下是多用户单操作,5.0 以上是多用户多操作。

二、information_schema介绍

1.查看数据库
show databases;
(查看数据库)
Mysql中的information_schema数据库_第1张图片

2.查看information_schema表
show tables;
(查看information_schema这个数据库的表)
Mysql中的information_schema数据库_第2张图片
其中最重要的是schemata、tables、columns这三个数据库

3.查询所有数据库
select * from information_schema.schema;
(查询information_schema库中的schemata表的所有内容)
Mysql中的information_schema数据库_第3张图片

4.查询所有的表名
select table_schema,table_name from information_schema.tables;
(查询information_schema库中的tables表的table_schema和table_name列)
Mysql中的information_schema数据库_第4张图片

5.查询所有的列名
select table_schema,table_name,column_name from information_schema.columns;
(查询information_schema库中的columns列中的table_schema和table_name和column_name列)
Mysql中的information_schema数据库_第5张图片

总结:在Mysql5.0以上的数据库中可以使用information_schema数据库来查看该数据的所有库、表、列名等信息,这对数据库爆库十分有帮助,因此我们在渗透测试阶段需要对Mysql数据库的版本多进行留意,利用information_schema这个数据库获取到我们需要的信息。对于大多数Mysql数据库来说,一般都是通过SQL注入,通过information_schema拿到数据库管理员的账号和密码,然后登录到数据库后台,进行下一步的操作。

你可能感兴趣的:(数据库)