SQL注入备忘录-information_schema

介绍

INFORMATION_SCHEMA 是 MySQL 提供的一个特殊数据库,用于存储关于数据库系统、表、列等元数据的信息。可以使用 INFORMATION_SCHEMA 中的各种表来查询数据库、表、列等信息。

查询所有数据库名称

SELECT SCHEMA_NAME
FROM INFORMATION_SCHEMA.SCHEMATA;

2024-05-01T17:59:40.png

查询某个库下的表名

要获取特定数据库中的所有表的名称,可以查询 INFORMATION_SCHEMA.TABLES 表,并按 TABLE_SCHEMA 过滤:
例如查询security库的表

SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'SECURITY';

2024-05-01T18:00:57.png

查询列名

要获取特定表中的所有列的名称及其相关信息,可以查询 INFORMATION_SCHEMA.COLUMNS 表,并按 TABLE_SCHEMA 和 TABLE_NAME 过滤:

SELECT COLUMN_NAME, DATA_TYPE, COLUMN_TYPE, IS_NULLABLE, COLUMN_KEY
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'your_database_name' AND TABLE_NAME = 'your_table_name';
SELECT COLUMN_NAME, DATA_TYPE, COLUMN_TYPE, IS_NULLABLE, COLUMN_KEY
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'SECURITY' AND TABLE_NAME = 'users';

2024-05-01T18:03:55.png

发表新评论