HTB 笔记 | SQL 注入基础:轻松有趣指南 | P1

你好呀,小蜜蜂!🐝 让我们把数据库这个看似复杂的世界拆解成你也能轻松理解的内容。想象一下,数据库就像是一个巨大的蜂巢,里面储存着所有的数据。根据蜂巢的组织方式(整齐或混乱),我们可以把它分成两种类型:关系型数据库非关系型数据库

1. 关系型数据库(整齐的蜂巢)

关系型数据库就像一个超级整洁的文件柜,每样东西都有自己的位置,并且每个抽屉之间都以逻辑的方式连接在一起。这些数据库使用 SQL(结构化查询语言)------也就是你用来和数据库"对话"的语言。

  • 表格:可以把这些表格想象成电子表格。每个表格存储特定的信息。例如:

    • 一个表格可以存储客户信息(姓名、地址等)。
    • 另一个表格可以存储产品信息(价格、库存等)。
    • 第三个表格可以记录订单(谁买了什么)。
  • :可以把键想象成身份证。每个表格中的每一行都会有一个唯一的键(比如客户 ID 或产品 ID)。这些键帮助表格互相连接。例如:

    • "用户"表可能有一个 id 列。
    • "帖子"表可能有一个 user_id 列,与"用户"表的 id 对应。

这种连接被称为 模式(Schema),它让一切都变得非常高效。你不需要一遍又一遍地重复相同的信息------只需要把点连起来!

  • 为什么用它? 关系型数据库非常适合处理结构化数据(如客户记录或产品库存)。常见的例子包括 MySQLPostgreSQLSQL Server
2. 非关系型数据库(混乱的蜂巢)

现在,想象一个不关心整齐行和列的数据库。这就是 非关系型数据库(也叫 NoSQL)。它不用表格来存储数据,而是以灵活的格式存储,比如 JSON 或 XML。这就像是把所有蜂蜜罐子扔进一个大桶里,而不是整齐地摆放。

  • 存储模型:NoSQL 数据库有不同的"口味":

    • 键值对 :就像字典({'key': 'value'})。
    • 文档型:以 JSON 或 XML 格式存储数据。
    • 宽列型:适合存储大量相似的数据。
    • 图形型:适合映射关系(如社交网络)。
  • 为什么用它? NoSQL 对于非结构化或杂乱的数据(如社交媒体帖子或传感器数据)非常有用。一个常见的例子是 MongoDB

SQL vs. NoSQL
  • SQL:结构化、可预测,并用键来连接表格。
  • NoSQL:灵活、混乱,并以多种格式存储数据。
为什么你应该关心?

如果有人试图攻击数据库,他们可能会使用 SQL 注入 (针对关系型数据库)或 NoSQL 注入(针对非关系型数据库)。别担心,我们稍后再详细讲。现在只需记住:

  • SQL 注入:狡猾的黑客试图欺骗你的数据库泄露秘密。
  • NoSQL 注入:黑客利用 NoSQL 的灵活结构进行攻击。

小贴士:把关系型数据库想象成有编号书架的图书馆(键),而非关系型数据库则是一堆书被扔进房间。两者都能工作,但一个更容易找到东西!📚

相关推荐
林九生12 分钟前
【SQLSERVER】Ubuntu 连接远程 SQL Server(MSSQL)
数据库·ubuntu·sqlserver
Wnq1007213 分钟前
巡检机器人数据处理技术的创新与实践
网络·数据库·人工智能·机器人·巡检机器人
后院那片海20 分钟前
MySQL数据库操作
数据库·mysql
python算法(魔法师版)1 小时前
数据库故障排查指南:从连接问题和性能优化
服务器·网络·数据库·性能优化
vortex51 小时前
新手上路之 NoSQL 数据库学习
数据库·学习·nosql
杨云龙UP1 小时前
SQL Server 中的 GO 及其与其他数据库的对比
数据库·sql·mysql·oracle·sqlserver
Linux运维技术栈2 小时前
MySQL 8.0 单节点部署与一主两从架构搭建实战
数据库·mysql·架构
又逢乱世2 小时前
Ubuntu 安装 HAProxy
服务器·网络·数据库
xyzcto3 小时前
使用python脚本连接SQL Server数据库导出表结构
数据库·python·sqlserver
Zhen (Evan) Wang3 小时前
T-SQL在SQL Server中判断表、字段、索引、视图、触发器、Synonym等是否存在
数据库·sql·sqlserver