前言Hello各位好久不见离上次发布博客已经过去很长一段时间之前那几章 C 语言没更完不是逃了是想明白先打哪了。C 语言管的是内存怎么存MySQL 管的是数据怎么流。搞网络安全归根结底是搞数据的生杀大权。​ 注入、提权、拖库哪一个不是冲着数据库去的C 语言我迟早要啃那是挖二进制漏洞的根但现阶段我得先把手伸进 MySQL 里——去摸清楚权限怎么验、日志怎么留、漏洞怎么打。这不是绕开难点这是直奔核心。C 语言是内功MySQL 是七寸。先从捏住这个七寸开始。从今天开始开启网络安全的学习之路。一、数据库的概念1.数据-Data1描述事物的符号记录称为数据。它不仅仅是我们常说的数字还包括文本、图片乃至日志文件。2.数据库-DataBase简称DB1数据库--它是以一定的组织方式储存的相互有关的数据集合2两大特性1. 数据结构化数据不再是孤立的记录而是被整合为一个有机整体。从安全角度看这种“集成”制造了一个高价值靶标。一旦防御失守攻击者获取的将不是零散的信息而是完整的业务逻辑与用户资产。同时数据的集中也为安全人员的关联分析提供了可能。2. 数据共享性多用户并发访问是现代应用的常态。然而共享必然伴随着对外开放这正是 SQL 注入、权限绕过等攻击向量的入口。安全机制的核心任务就是在“保障共享效率”与“实施访问控制”之间寻找平衡。3.数据库管理系统--DBMS1数据库管理系统--DataBase Management System是数据库资源有效组织、管理和存取的系统软件 。例如MySQL、Oracle数据库等2数据库的主要功能数据库四大功能定义画好数据的“房子”操纵进出数据的“大门”控制看守大门的“保安”维护灾后重建的“预案”4.数据库用户--User1数据库管理员-DBA2应用开发人员--程序员3终端用户--User5.数据库系统--DBS结构图二、关系型数据库1.实体-联系图--ER2.E-R图两个或多个实体之间的关系3.关系数据库的实施过程1将实体转化为数据库的表2属性转化为数据库表中的列3联系--表与表之间的关系蓝色矩形实体Student / Course橙色菱形联系Enroll 选课绿色椭圆普通属性红色椭圆主键[PK]StuID、CourseID橙色椭圆敏感数据[S]Password、Email基数标注N : M多对多关系三、非关系数据库非关系型数据库NoSQL是不依赖二维表结构、弱化 SQL 语法以键值、文档、列族或图等方式存储数据的数据库系统。​它不是为了替代关系型数据库而是为了解决高并发、大数据量、灵活结构场景下的存储痛点。我们后面会使用MySQL数据库管理系统四、MySQL数据库的安装下载网址https://dev.mysql.com/downloads/mysql/ 选择安装版按照步骤即可解压缩版需要手动配置比较麻烦。五、数据库的使用基础的MySQL命令1、登录mysql -u root -p2、查看数据库SHOW DATABASES;3、进入一个数据库USE mysql;4、查看表SHOW TABLES;5、 看表长啥样字段DESC user;6、查看数据SELECT * FROM user;例select*from class;7、当前在哪儿SELECT DATABASE();8、退出EXIT;9、建表drop table if exists class; create table class ( sname char(3) not null primary key, ssex char(1) check(ssex男 or ssex女) not null, score int not null );详细建表方法后面会说10、往表中填写内容insert into 表列 values xy z 例insert into score(name,sage,grade) values(小明,18,670);11、创建数据库create database 数据库名称 default character set utf8;