MySQL手工注入与informantion_schema库

时间:2021-02-17 14:45:33   收藏:0   阅读:0


MySQL V5.0安装完成会默认会生成一个库(informantion_schema),里面有几十个表,保存着关于当前数据库系统所维护的其他数据库的信息,如数据库名、表、列、数据类型与访问权限等。

只可读

informantion_schema库包含多个只读表。它们实际上是视图,而不是基表,因此没有与它们关联的文件,并且您无法在它们上设置触发器。此外,没有该名称的数据库目录。

只可读意味着,可以对里面的表执行use、select读取表的内容,但不能执行insert、update、delete操作。

自动开启

V5.6之前需要手动开启,从V5.6后默认开启;

和MySQL注入有关的3个表

以下基于MySQL 5.7.26版本进行研究;

技术图片

里面虽然有很多表,但是作MySQL注入的话,先了解这3个表:

手动注入的使用案例

表介绍

表名:SCHEMATA

表名:TABLES

表名:COLUMNS

查询一个表中全部字段的过程

模拟注入的流程

# 获取当前在使用的库名
select database(); 

技术图片

# 获取当前在使用的表名
select table_name from information_schema.tables where table_schema=(
    select database()
); 

技术图片

# 获取当前使用表的全部字段名
select column_name from information_schema.columns where table_name=(
    select table_name from information_schema.tables where table_schema=(select database())
); 

技术图片

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!