WEB渗透测试工程师系统班250303期 第11节课作业
一、 什么是数据库?为什么使用数据库? 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。它是一个长期存储在计算机内、有组织的、可共享的、统一管理的大量数据的集合。
数据库的主要特点包括: 结构化存储:数据按照特定的数据模型组织 集中管理:由数据库管理系统(DBMS)统一管理 数据共享:多用户可同时访问 减少冗余:通过规范化设计减少数据重复 数据独立性:数据与程序相互独立
为什么使用数据库?
在Web应用和渗透测试环境中,数据库的使用至关重要,原因包括:
1. 高效数据管理 :比文件系统更高效地存储和检索大量结构化数据 2. 数据持久化 :Web应用需要长期保存用户数据、配置信息等 3. 并发访问支持 :多个用户可以同时访问和修改数据而不产生冲突 4. 数据安全 :提供用户权限管理、数据加密等安全机制 5. 数据完整性 :通过约束、触发器等机制保证数据的准确性和一致性 6. 标准化接口 :提供标准化的数据访问接口(如SQL)
在Web渗透测试中,数据库通常是主要攻击目标,因为: 存储着敏感信息(用户凭证、个人信息等) SQL注入是最常见的高危漏洞之一 数据库权限提升可能导致整个系统沦陷 数据库配置不当会带来严重安全风险
常见的Web应用数据库包括MySQL、PostgreSQL、Microsoft SQL Server、Oracle和NoSQL数据库如MongoDB等。 二、 实操题。用命令的方式新建一个学生信息表。数据库名为xuesheng。表名为xuesheng_user。表中的字段为 id ,username , phone , address ,age。其中id类型为int设置为主键,自增,不能为空的约束条件,username、address为字符串设置不能为空的约束条件。Phone设置为int设置不能为空的约束条件。Age设置为int 不能为空的条件。(命令截图) 三、 基于上面的数据库,新增一个int类型chengji的字段设置不能为空的约束条件。然后在表中插入以下数据 Username = 张三 phone = 13888888888 address= 福建 age = 18 chengji = 0
|