SQL注入常用爆库语句整理

SQL注入常用爆库语句整理
知闲SQL注入常用爆库语句整理
省流概要
-- 查看表名(示例结果:student, user, passwd) |
核心数据库:information_schema
information_schema 是 MySQL 内置的系统数据库,存储了整个 MySQL 实例的元数据信息,包括所有数据库名、表名、列名、数据类型等关键信息,是 SQL 注入爆库的核心依赖。
其中最常用的两个表:
1. tables 表(存储所有表信息)
| 重要列名 | 说明 |
|---|---|
| table_name | 表的名称 |
| table_schema | 表所属的数据库名称 |
查询示例(查看 my_data 数据库下的所有表):
select table_schema, table_name from information_schema.tables where table_schema='my_data'; |
查询结果:
| TABLE_SCHEMA | TABLE_NAME |
|---|---|
| my_data | course |
| my_data | SC |
| my_data | student |
| my_data | teacher |
2. columns 表(存储所有列信息)
| 重要列名 | 说明 |
|---|---|
| column_name | 列的名称 |
| table_name | 列所属的表名称 |
| table_schema | 列所属的数据库名称 |
| data_type | 列的数据类型 |
查询示例(查看 my_data 数据库下所有表的列信息):
select column_name, table_name, table_schema, data_type from information_schema.columns where table_schema='my_data'; |
查询结果:
| COLUMN_NAME | TABLE_NAME | TABLE_SCHEMA | DATA_TYPE |
|---|---|---|---|
| cid | course | my_data | varchar |
| cname | course | my_data | varchar |
| tid | course | my_data | varchar |
| sid | SC | my_data | varchar |
| cid | SC | my_data | varchar |
| score | SC | my_data | decimal |
| sid | student | my_data | varchar |
| sname | student | my_data | varchar |
| sage | student | my_data | datetime |
| ssex | student | my_data | varchar |
| tid | teacher | my_data | varchar |
| tname | teacher | my_data | varchar |
爆库基本流程
1. 爆当前数据库名和版本
通过内置函数获取关键环境信息,为后续爆库铺路:
select database(), version(); |
database():返回当前正在使用的数据库名version():返回 MySQL 数据库版本号
查询示例结果:
| database() | version() |
|---|---|
| information_schema | 8.0.22 |
2. 爆表名
从 information_schema.tables 表中查询目标数据库下的所有表名,两种常用写法:
-- 写法1:直接使用当前数据库(推荐,无需手动输入数据库名) |
查询示例结果:
| TABLE_NAME |
|---|
| course |
| SC |
| student |
| teacher |
3. 爆列名
从 information_schema.columns 表中查询目标表的所有列名(以 student 表为例):
select column_name from information_schema.columns where table_schema=database() and table_name='student'; |
- 注意:
table_name的值必须用单引号'括起来 - 条件说明:
table_schema=database()限定当前数据库,table_name='student'限定目标表
查询示例结果:
| COLUMN_NAME |
|---|
| sid |
| sname |
| sage |
| ssex |
4. 查看表中具体数据
已知表名和列名后,直接查询数据(以 student 表的 sname 列为例):
select sname from student; |
查询示例结果:
| sname |
|---|
| 赵钱孙李 |
| 周吴郑王 |
| 雷电风云 |
| 梅兰竹菊 |
| 王铁柱 |
5. 关键函数:group_concat()
问题:网页通常只展示查询结果的第一行,无法获取全部数据。
解决:使用 group_concat() 函数将所有结果拼接成一个字符串(用逗号分隔),一次性获取完整数据。
常用示例:
-- 拼接所有表名 |
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果


