IT评测·应用市场-qidao123.com

标题: SQL Injection | MySQL 数据库概述 [打印本页]

作者: 大连密封材料    时间: 2024-10-19 02:50
标题: SQL Injection | MySQL 数据库概述
关注这个漏洞的其他相关笔记:SQL 注入漏洞 - 学习手册-CSDN博客
  0x01:MySQL 数据库简介

MySQL 是一个流行的关系型数据库管理系统(RDBMS),它基于 SQL (Structured Query Language)举行操作。MySQL 是由瑞典 MySQL AB 公司开发的,后来被 Sun Microsystems 收购,最终称为 Oracle 公司的产物。它是一个开源项目,遵循 GNU 通用公共允许证(GPL)发布,同时也提供了商业允许。
0x0101:MySQL 数据库特点

以下是 MySQL 的一些关键特点:

0x0102:MySQL 数据库应用场景

MySQL 在多种场景下被广泛利用,包括但不限于以下几种环境:

总而言之,只要你想将大量数据找个地方举行存储,并想要随时查询和分析这些数据,MySQL 数据库都是一个不错的选择。
0x02:MySQL 数据库详解

由于本文是 SQL 注入的前导知识,所以下面只介绍在注入 MySQL 数据库时,我们必要了解的相关内容。
0x0201:MySQL 数据库层级关系


我们通常将提供数据库服务的服务器,叫做 “数据库服务器”。在一个数据库服务器中,通常存在多个数据库,每个数据库中含有多张数据表,一张数据表中又有多个字段,每个字段中存储的才是我们必要的数据。
数据库服务器的这种结构很轻易就让我们和 Excel 表格联系起来:一个 Excel 文件就是一个数据库,在一个 Excel 文件中我们又可以新建多张表,这就类似于数据表,每个表中又有:用户名、暗码、手机号 ... 如许的字段,每个字段下面又会存储对应的数据。
0x0202:MySQL 系统库

在高版本(5.0 及以上)的 MySQL 数据库中存在四个系统库,分别为:information_schema、performace_schema、mysql、和 sys,它们提供了访问数据库元数据的方式。
   元数据:关于数据库的数据,如数据库的库名,每个数据库中的表名、字段名等信息。
  

1. 系统库 - Information_schema

该系统库是信息数据库,此中保存着关于 MySQL 服务器所维护的全部其他数据库的信息。例如数据库或表的名称、列的数据类型大概访问权限、在 Web 渗出过程中有着举足轻重的地位。
1.1 SCHEMATA 表 - SCHEMA_NAME
   SCHEMATA 表中保存了已有的全部数据库的信息。
  该表中存储了 MySQL 实例中全部数据库的信息,show databases; 的结果就取自于此表:
  1. mysql> select * from information_schema.schemata;
  2.  +--------------+--------------------+----------------------------+------------------------+----------+
  3.  | CATALOG_NAME | SCHEMA_NAME        | DEFAULT_CHARACTER_SET_NAME | DEFAULT_COLLATION_NAME | SQL_PATH |
  4.  +--------------+--------------------+----------------------------+------------------------+----------+
  5.  | def          | information_schema | utf8                       | utf8_general_ci        | NULL     |
  6.  | def          | challenges         | gbk                        | gbk_chinese_ci         | NULL     |
  7.  | def          | dvwa               | utf8                       | utf8_unicode_ci        | NULL     |
  8.  | def          | mysql              | latin1                     | latin1_swedish_ci      | NULL     |
  9.  | def          | performance_schema | utf8                       | utf8_general_ci        | NULL     |
  10.  | def          | pikachu            | utf8                       | utf8_unicode_ci        | NULL     |
  11.  | def          | security           | gbk                        | gbk_chinese_ci         | NULL     |
  12.  | def          | sys                | utf8                       | utf8_general_ci        | NULL     |
  13.  +--------------+--------------------+----------------------------+------------------------+----------+
  14.  8 rows in set (0.00 sec)
复制代码
1.2 TABLES 表 - TABLE_NAME
   TABLES 表中保存了全部已有的数据表的信息。
  该表中存储了已有数据库中所创建的全部表的信息,可以通过此表,获取每个数据库下面已有的表名:
  1. mysql> select * from information_schema.tables;
  2.  +---------------+--------------------+------------------------------------------------------+-------------+--------------------+---------+------------+------------+----------------+-------------+--------------------+--------------+-----------+----------------+---------------------+---------------------+------------+-------------------+----------+--------------------+-----------------------------------------+
  3.  | TABLE_CATALOG | TABLE_SCHEMA       | TABLE_NAME                                           | TABLE_TYPE  | ENGINE             | VERSION | ROW_FORMAT | TABLE_ROWS | AVG_ROW_LENGTH | DATA_LENGTH | MAX_DATA_LENGTH    | INDEX_LENGTH | DATA_FREE | AUTO_INCREMENT | CREATE_TIME         | UPDATE_TIME         | CHECK_TIME | TABLE_COLLATION   | CHECKSUM | CREATE_OPTIONS     | TABLE_COMMENT                           |
  4.  +---------------+--------------------+------------------------------------------------------+-------------+--------------------+---------+------------+------------+----------------+-------------+--------------------+--------------+-----------+----------------+---------------------+---------------------+------------+-------------------+----------+--------------------+-----------------------------------------+
  5.  | def           | information_schema | CHARACTER_SETS                                       | SYSTEM VIEW | MEMORY             |      10 | Fixed      |       NULL |            384 |           0 |           65739264 |            0 |                 0 |           NULL | 2023-08-18 08:01:31 | NULL                | NULL       | utf8_general_ci   |     NULL | max_rows=174762    |                                         |
  6.  | def           | information_schema | COLLATIONS                                           | SYSTEM VIEW | MEMORY             |      10 | Fixed      |       NULL |            231 |           0 |           66819522 |            0 |                 0 |           NULL | 2023-08-18 08:01:31 | NULL                | NULL       | utf8_general_ci   |     NULL | max_rows=290514    |                                         |
  7.  | def           | information_schema | COLLATION_CHARACTER_SET_APPLICABILITY                | SYSTEM VIEW | MEMORY             |      10 | Fixed      |       NULL |            195 |           0 |           65431080 |            0 |                 0 |           NULL | 2023-08-18 08:01:31 | NULL                | NULL       | utf8_general_ci   |     NULL | max_rows=344148    |                                         |
  8.  | def           | information_schema | COLUMNS                                              | SYSTEM VIEW | InnoDB             |      10 | Dynamic    |       NULL |              0 |       16384 |                  0 |            0 |   8388608 |           NULL | NULL                | NULL                | NULL       | utf8_general_ci   |     NULL | max_rows=11156     |                                         |
  9.  | def           | information_schema | COLUMN_PRIVILEGES                                    | SYSTEM VIEW | MEMORY             |      10 | Fixed      |       NULL |           2565 |           0 |           67028580 |            0 |                 0 |           NULL | 2023-08-18 08:01:31 | NULL                | NULL       | utf8_general_ci   |     NULL | max_rows=26163     |                                         |
  10.  | def           | information_schema | ENGINES                                              | SYSTEM VIEW | MEMORY             |      10 | Fixed      |       NULL |            490 |           0 |           66297000 |            0 |                 0 |           NULL | 2023-08-18 08:01:31 | NULL                | NULL       | utf8_general_ci   |     NULL | max_rows=136956    |                                         |
  11.  | def           | information_schema | EVENTS                                               | SYSTEM VIEW | InnoDB             |      10 | Dynamic    |       NULL |              0 |       16384 |                  0 |            0 |   8388608 |           NULL | NULL                | NULL                | NULL       | utf8_general_ci   |     NULL | max_rows=2473      |                                         |
  12.  | def           | information_schema | FILES                                                | SYSTEM VIEW | MEMORY                   |      10 | Fixed      |       NULL |          14468 |           0 |           67088116 |            0 |                   0 |           NULL | 2023-08-18 08:01:31 | NULL                | NULL       | utf8_general_ci   |     NULL | max_rows=4638      |                                         |
  13.  | def           | information_schema | GLOBAL_STATUS                                        | SYSTEM VIEW | MEMORY             |      10 | Fixed      |       NULL |           3268 |           0 |           67026680 |            0 |                 0 |           NULL | 2023-08-18 08:01:31 | NULL                | NULL       | utf8_general_ci   |     NULL | max_rows=20535     |                                         |
  14.  | def           | information_schema | GLOBAL_VARIABLES                                     | SYSTEM VIEW | MEMORY             |      10 | Fixed      |       NULL |           3268 |           0 |           67026680 |            0 |                 0 |           NULL | 2023-08-18 08:01:31 | NULL                | NULL       | utf8_general_ci   |     NULL | max_rows=20535     |                                         |
  15.  | def           | information_schema | KEY_COLUMN_USAGE                                     | SYSTEM VIEW | MEMORY             |      10 | Fixed      |       NULL |           4637 |           0 |           67064931 |            0 |                 0 |           NULL | 2023-08-18 08:01:31 | NULL                | NULL       | utf8_general_ci   |     NULL | max_rows=14472     |                                         |
  16.  | def           | information_schema | OPTIMIZER_TRACE                                      | SYSTEM VIEW | InnoDB             |      10 | Dynamic    |       NULL |              0 |       16384 |                  0 |            0 |   8388608 |           NULL | NULL                | NULL                | NULL       | utf8_general_ci   |     NULL | max_rows=2314098   |                                         |
  17.  | def           | information_schema | PARAMETERS                                           | SYSTEM VIEW | InnoDB             |      10 | Dynamic    |       NULL |              0 |       16384 |                  0 |            0 |   8388608 |           NULL | NULL                | NULL                | NULL       | utf8_general_ci   |     NULL | max_rows=24087     |                                         |
  18.  -> 后面省略
  19.  +---------------+--------------------+------------------------------------------------------+-------------+--------------------+---------+------------+------------+----------------+-------------+--------------------+--------------+-----------+----------------+---------------------+---------------------+------------+-------------------+----------+--------------------+-----------------------------------------+
  20.  292 rows in set (0.07 sec)
复制代码
1.3 COLUMNS 表 - COLUMN_NAME
   COLUMNS 表中存储了数据库中全部表的字段信息。
  该表中提供了每个数据库中的列(字段)信息,详细描述了某张表的全部列以及每个列的信息:
  1. mysql> select * from information_schema.columns limit 0,2;
  2.  +---------------+--------------------+----------------+----------------------+------------------+----------------+-------------+-----------+--------------------------+------------------------+-------------------+---------------+--------------------+--------------------+-----------------+-------------+------------+-------+------------+----------------+-----------------------+
  3.  | TABLE_CATALOG | TABLE_SCHEMA       | TABLE_NAME     | COLUMN_NAME          | ORDINAL_POSITION | COLUMN_DEFAULT | IS_NULLABLE | DATA_TYPE | CHARACTER_MAXIMUM_LENGTH | CHARACTER_OCTET_LENGTH | NUMERIC_PRECISION | NUMERIC_SCALE | DATETIME_PRECISION | CHARACTER_SET_NAME | COLLATION_NAME  | COLUMN_TYPE | COLUMN_KEY | EXTRA | PRIVILEGES | COLUMN_COMMENT | GENERATION_EXPRESSION |
  4.  +---------------+--------------------+----------------+----------------------+------------------+----------------+-------------+-----------+--------------------------+------------------------+-------------------+---------------+--------------------+--------------------+-----------------+-------------+------------+-------+------------+----------------+-----------------------+
  5.  | def           | information_schema | CHARACTER_SETS | CHARACTER_SET_NAME   |                1 |                | NO          | varchar   |                       32 |                     96 |              NULL |          NULL |                           NULL | utf8               | utf8_general_ci | varchar(32) |            |       | select     |                |                       |
  6.  | def           | information_schema | CHARACTER_SETS | DEFAULT_COLLATE_NAME |                2 |                | NO          | varchar   |                       32 |                     96 |              NULL |          NULL |                         NULL | utf8               | utf8_general_ci | varchar(32) |            |       | select     |                |                       |
  7.  +---------------+--------------------+----------------+----------------------+------------------+----------------+-------------+-----------+--------------------------+------------------------+-------------------+---------------+--------------------+--------------------+-----------------+-------------+------------+-------+------------+----------------+-----------------------+
  8.  2 rows in set (0.07 sec)
复制代码
2. 系统库 - Performance_schema

该系统库是 MySQL 5.5 新增的一个数据库,重要用于收集和存储与数据库性能相关的统计信息和指标。它重要用于资助运维人员对数据库性能举行监控、调优和故障排查。
3. 系统库 - Mysql

该库是整个数据库体系中的核心数据库,类似于 SQL Server 中的 master 表,重要负责存储数据库的用户(账户)信息、权限设置、关键字等 MySQL 自己必要利用的控制和管理信息。该库不可以删除,如果你对 MySQL 不是很了解,请不要轻易修改这个数据库里面的信息。
   常用举例:在 mysql.user 表中修改 root 用户的暗码。
  4. 系统库 - Sys

sys 库是 MySQL 5.7 新增加的系统数据库,该库是专门为数据库管理员(DBA)设计的辅助库,旨在资助用户更轻松地分析息争决数据库性能题目。
该库基于 performance_schema,通过各种预界说的视图和函数,简化了性能数据的访问和分析过程。通过利用 sys 系统库,DBA 可以更快获得有价值的性能信息,从而更好地管理和调优 MySQL 实例的性能和行为。
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4