SQL Injection | MySQL 数据库概述

关注这个漏洞的其他相关笔记:SQL 注入漏洞 - 学习手册-CSDN博客

0x01:MySQL 数据库简介

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

0x0101:MySQL 数据库特点

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

  • 开源性: MySQL 是开源的,这意味着你可以免费下载和使用它,甚至可以修改源代码以满足需求。

  • 跨平台: MySQL 可以在多种操作系统上运行,包括 Linux、Windows、MacOS 等。

  • 高性能: MySQL 以其高性能和可靠性而闻名,适用于处理大量数据和高并发请求。

  • 安全性: MySQL 提供了强大的数据加密和访问控制功能,以保护数据不被未授权访问。

  • 灵活性: MySQL 支持多种数据类型,包括数值、日期和时间、字符串等,并且可以存储大型对象如图片和视频。

  • 可扩展性: MySQL 具有良好的可扩展性,可以通过主从复制、分片和分区等技术来实现对数据的扩展,从而提高系统的高可用性和高性能。

  • 支持多种变成语言: MySQL 支持多种编程语言进行开发,如 C、C++、Java、Python 等,这使得开发者可以在不同的平台上使用 MySQL 进行开发。

0x0102:MySQL 数据库应用场景

MySQL 在多种场景下被广泛使用,包括但不限于以下几种情况:

  • Web 应用: MySQL 是许多 Web 应用的首选数据库系统,特别是于 PHP、Python、Java 等后端技术结合使用。许多流行的 Web 框架和 CMS(内容管理系统),如 WordPress、Drupal 等,都支持 MySQL 作为其后端数据库。

  • 电子商务: 在电子商务网站中,MySQL 用于存储用户信息、产品信息、订单详情等关键数据。由于 MySQL 具有高性能和可扩展性,因此它可以轻松处理大量并发请求和交易数据。

  • 企业应用: 许多企业使用 MySQL 来构建和管理其内部系统,如 ERP(企业资源计划)、CRM(客户关系管理)和 BI(商业智能)系统等。这些系统需要存储、处理和查询大量数据,而 MySQL 提供了可靠的性能和安全性。

  • 数据分析: 虽然 MySQL 不是一个专门的数据仓库或大数据分析平台,但它仍然可以用于存储和分析结构化数据。许多组织使用 MySQL 作为其数据仓库的一部分,并使用 SQL 查询来提取和分析数据。

  1. 移动应用: 随着移动应用的普及,越来越多的开发者选择使用 MySQL 作为其后端数据库。通过 REST API 或其他技术,移动应用可以与 MySQL 数据库进行交互,实现用户认证、数据存储和检索等功能。

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

0x02:MySQL 数据库详解

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

0x0201:MySQL 数据库层级关系

我们通常将提供数据库服务的服务器,叫做 “数据库服务器”。在一个数据库服务器中,通常存在多个数据库,每个数据库中含有多张数据表,一张数据表中又有多个字段,每个字段中存储的才是我们需要的数据。

数据库服务器的这种结构很容易就让我们和 Excel 表格联系起来:一个 Excel 文件就是一个数据库,在一个 Excel 文件中我们又可以新建多张表,这就类似于数据表,每个表中又有:用户名、密码、手机号 ... 这样的字段,每个字段下面又会存储对应的数据。

0x0202:MySQL 系统库

在高版本(5.0 及以上)的 MySQL 数据库中存在四个系统库,分别为:information_schemaperformace_schemamysql、和 sys,它们提供了访问数据库元数据的方式。

元数据:关于数据库的数据,如数据库的库名,每个数据库中的表名、字段名等信息。

1. 系统库 - Information_schema

该系统库是信息数据库,其中保存着关于 MySQL 服务器所维护的所有其他数据库的信息。例如数据库或表的名称、列的数据类型或者访问权限、在 Web 渗透过程中有着举足轻重的地位。

1.1 SCHEMATA 表 - SCHEMA_NAME

SCHEMATA 表中保存了已有的所有数据库的信息。

该表中存储了 MySQL 实例中所有数据库的信息,show databases; 的结果就取自于此表:

mysql> select * from information_schema.schemata;+--------------+--------------------+----------------------------+------------------------+----------+| CATALOG_NAME | SCHEMA_NAME        | DEFAULT_CHARACTER_SET_NAME | DEFAULT_COLLATION_NAME | SQL_PATH |+--------------+--------------------+----------------------------+------------------------+----------+| def          | information_schema | utf8                       | utf8_general_ci        | NULL     || def          | challenges         | gbk                        | gbk_chinese_ci         | NULL     || def          | dvwa               | utf8                       | utf8_unicode_ci        | NULL     || def          | mysql              | latin1                     | latin1_swedish_ci      | NULL     || def          | performance_schema | utf8                       | utf8_general_ci        | NULL     || def          | pikachu            | utf8                       | utf8_unicode_ci        | NULL     || def          | security           | gbk                        | gbk_chinese_ci         | NULL     || def          | sys                | utf8                       | utf8_general_ci        | NULL     |+--------------+--------------------+----------------------------+------------------------+----------+8 rows in set (0.00 sec)
1.2 TABLES 表 - TABLE_NAME

TABLES 表中保存了所有已有的数据表的信息。

该表中存储了已有数据库中所创建的所有表的信息,可以通过此表,获取每个数据库下面已有的表名:

mysql> select * from information_schema.tables;+---------------+--------------------+------------------------------------------------------+-------------+--------------------+---------+------------+------------+----------------+-------------+--------------------+--------------+-----------+----------------+---------------------+---------------------+------------+-------------------+----------+--------------------+-----------------------------------------+| 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                           |+---------------+--------------------+------------------------------------------------------+-------------+--------------------+---------+------------+------------+----------------+-------------+--------------------+--------------+-----------+----------------+---------------------+---------------------+------------+-------------------+----------+--------------------+-----------------------------------------+| 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    |                                         || 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    |                                         || 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    |                                         || 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     |                                         || 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     |                                         || 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    |                                         || 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      |                                         || 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      |                                         || 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     |                                         || 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     |                                         || 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     |                                         || 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   |                                         || 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     |                                         |-> 后面省略+---------------+--------------------+------------------------------------------------------+-------------+--------------------+---------+------------+------------+----------------+-------------+--------------------+--------------+-----------+----------------+---------------------+---------------------+------------+-------------------+----------+--------------------+-----------------------------------------+292 rows in set (0.07 sec)
1.3 COLUMNS 表 - COLUMN_NAME

COLUMNS 表中存储了数据库中所有表的字段信息。

该表中提供了每个数据库中的列(字段)信息,详细描述了某张表的所有列以及每个列的信息:

mysql> select * from information_schema.columns limit 0,2;+---------------+--------------------+----------------+----------------------+------------------+----------------+-------------+-----------+--------------------------+------------------------+-------------------+---------------+--------------------+--------------------+-----------------+-------------+------------+-------+------------+----------------+-----------------------+| 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 |+---------------+--------------------+----------------+----------------------+------------------+----------------+-------------+-----------+--------------------------+------------------------+-------------------+---------------+--------------------+--------------------+-----------------+-------------+------------+-------+------------+----------------+-----------------------+| def           | information_schema | CHARACTER_SETS | CHARACTER_SET_NAME   |                1 |                | NO          | varchar   |                       32 |                     96 |              NULL |          NULL |                           NULL | utf8               | utf8_general_ci | varchar(32) |            |       | select     |                |                       || def           | information_schema | CHARACTER_SETS | DEFAULT_COLLATE_NAME |                2 |                | NO          | varchar   |                       32 |                     96 |              NULL |          NULL |                         NULL | utf8               | utf8_general_ci | varchar(32) |            |       | select     |                |                       |+---------------+--------------------+----------------+----------------------+------------------+----------------+-------------+-----------+--------------------------+------------------------+-------------------+---------------+--------------------+--------------------+-----------------+-------------+------------+-------+------------+----------------+-----------------------+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 实例的性能和行为。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/445006.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python库matplotlib之六

Python库matplotlib之六 动画FuncAnimation构造器成员函数应用例子 动画 Matplotlib基于其绘图功能,还提供了一个使用动画模块,生成动画的接口。动画是一系列帧,其中每个帧对应于图形上的一个图。 Matplotlib使用两个类来实现动画&#xff…

Backend - MySQL Server、HeidiSQL

目录 一、MySQL Server (一)官网下载 (二)安装与配置 二、HeidiSQL软件 (一)安装 1. 官网下载 2. 打开 3. 使用 (1)打开服务 (2)新增数据库 ​&#xff…

python networkx 计算路径A*

import matplotlib.pyplot as plt # 导入 Matplotlib 工具包 import networkx as nx # 导入 NetworkX 工具包 from typing import List# 初始化空的无向图 graph nx.Graph() # 向图中添加多条赋权边: (node1,node2,weight) graph.add_weighted_edges_from([(1, 2, 50),(1, 3…

集合框架05:List接口使用、List实现类、ArrayList使用

视频链接:13.11 ArrayList使用_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1zD4y1Q7Fw?p11&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 1.List接口使用代码举例 package com.yundait.Demo01;import java.util.ArrayList; import java.util.List;pu…

dowhy中反驳实验怎么做?

首先,我们打开最新的dowhy版本网站。 https://www.pywhy.org/dowhy/v0.11.1/index.html 我们主要看标题栏的User Guide和Examples就可以了,如果在User Guide 里找不到使用方法,就去Examples里找例子,里面的数据读取修改为自己的数…

Copilot Coaching新功能铸就Word更强

Copilot 的意思是副驾驶。 现在,您的副驾驶教练来了:Copilot Coaching Copilot Coaching 是 Word 中的一项新 Copilot 功能,可在您查看内容时为您提供支持,以实现语法和拼写之外的改进 - 帮助您澄清想法,并为您提供有…

前端反馈弹框组件封装

一、需求背景 需要针对某个功能进行用户调查反馈&#xff0c;设计一个弹框&#xff0c;进行后端入表记录&#xff0c;以便后期进行数据分析。 二、实现UI 三、代码留存 以vue为例 <template><div class"advice-container"><van-dialogv-model"…

【父子线程传值TransmittableThreadLocal使用踩坑-及相关知识拓展】

文章目录 一.业务背景二.TransmittableThreadLocal是什么&#xff1f;三.问题复现1.定义注解DigitalAngel2.定义切面3.TransmittableThreadLocal相关4.线程池配置信息5.Controller6.Service7.测试结果8.问题分析9 解决办法及代码改造10.最终测试&#xff1a; 四.与 ThreadLocal…

02复写零

复写零 我们先进行异地复写&#xff1a;代码如下 public class Test {public static void main(String[] args) {int []array {1,0,2,3,0,4};duplicateZeros(array);}public static void duplicateZeros(int[] arr) {int [] elemnew int[arr.length];for(int cur0,dest0;des…

QD1-P17 HTML 下拉框标签(select、option)

本节学习 HTML 常用标签&#xff1a;select和option ‍ 本节视频 www.bilibili.com/video/BV1n64y1U7oj?p17 ‍ 知识点1&#xff1a;select标签用法 演示 ​​ HTML <select name"city"><option>北京</option><option>上海</opti…

新版Win32高级编程教程-学习笔记01:应用程序分类

互联网行业 算法研发工程师 目录 新版Win32高级编程教程-学习笔记01&#xff1a;应用程序分类 控制台程序 强烈注意 窗口程序 启动项 程序入口函数 库程序 静态库 动态库程序 几种应用程序的区别 控制台程序 本身没有窗口&#xff0c;其中的doc窗口&#xff0c;是管…

【通信协议讲解】单片机基础重点通信协议解析与总结(IIC,CAN,MODBUS...)

目录 一.IIC总线 基础特性&#xff1a; 配置特性&#xff1a; 时序特性&#xff1a; 二.SPI总线 基础特性&#xff1a; 配置特性&#xff1a; 时序特性&#xff1a; 三.串口通信 基础特性&#xff1a; 配置特性&#xff1a; 时序特性&#xff1a; 四.CAN总线 基础特性…

三款GIS工具多角度对比:免费的倾斜摄影OSGB/3Dtiles编辑转换发布平台

GIS数据处理工具在现代技术与应用中扮演着至关重要的角色&#xff0c;它们不仅是连接原始地理信息与可分析、可视化数据的桥梁&#xff0c;更是推动地理信息系统&#xff08;GIS&#xff09;在各个行业领域深入发展与应用不可或缺的关键工具。选择一款合适的工具直接关系到数据…

HttpURLConnection学习

介绍 HttpURLConnection类是位于java.net包下继承了URLConnection类的一个抽象类&#xff0c;每个 HttpURLConnection 实例都用于发出单个请求。 URL HttpURLConnection的使用需要依赖URL类&#xff0c;URL类位于java.net包下&#xff0c;有很多种构造方法。 HttpURLConnect…

AI引起用人格局变动,个人如何应对这一趋势

大家好&#xff0c;我是Shelly&#xff0c;一个专注于输出AI工具和科技前沿内容的AI应用教练&#xff0c;体验过300款以上的AI应用工具。关注科技及大模型领域对社会的影响10年。关注我一起驾驭AI工具&#xff0c;拥抱AI时代的到来。 人工智能的发展带来的就业结构变革&#xf…

论文笔记:D-vlog 用于抑郁症检测的多模态数据集

整理了AAAI2022 D-vlog: Multimodal Vlog Dataset for Depression Detection 论文的阅读笔记 背景方法特征提取模型 实验数据集主实验不同模态的性能性别的影响 背景 以往关于抑郁症检测的工作大多集中在实验室环境下对抑郁症个体的检测&#xff0c;难以在实践中推广。本文提出…

图解C#高级教程(五):枚举器和迭代器

本章主要介绍 C# 当中枚举器、可枚举类型以及迭代器相关的知识。 文章目录 1. 枚举器和可枚举类型2. IEnumerator 和 IEnumerable 接口2.1 IEnumerator 接口2.2 IEnumerable 接口 3. 泛型枚举接口4. 迭代器4.1 使用迭代器创建枚举器4.2 使用迭代器创建可枚举类4.3 迭代器作为属…

消峰限流有哪几种方式?

消峰限流的方式 业务视角 验证码回答问题环节 技术视角 消息队列异步化用户请求 限流&#xff0c;对流量进行层层过滤 nginx 层限流&#xff0c; 一是控制速率 limit_req 漏桶算法 limit_req_zone $binary_remote_addr zonemylimit:10m rate2r/s; server { location / { lim…

leetcode链表(三)-反转链表

题目 . - 力扣&#xff08;LeetCode&#xff09; 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 思路 首先定义一个cur指针&#xff0c;指向头结点&#xff0c;再定义一个pre指针&#xff0c;初始化为None。 然后就要开始反转了&…

其他浏览器可以联网,但edge不能联网

问题描述&#xff1a; 今早edge无法上网&#xff0c;检测网络连接正常&#xff0c;而且其他chrome&#xff0c;Firefox和360浏览器都可以上网。 解决方案&#xff1a; 注意&#xff1a;为防止是代理问题&#xff0c;可以在扩展中禁用后再试试 如果没有代理或者禁用代理也不…