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 的灵活结构进行攻击。

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

相关推荐
Ricky_Theseus7 分钟前
SQL Server 的五种约束类型
数据库·sql·oracle
zjshuster8 分钟前
数据库分库分表的方法论与实操
数据库·adb
一只努力的微服务15 分钟前
【Calcite 系列】深入理解 Calcite 的 AggregateValuesRule
大数据·数据库·calcite·优化规则
IT邦德27 分钟前
Oracle向量数据库实战
数据库·oracle
2401_8735449241 分钟前
使用Python处理计算机图形学(PIL/Pillow)
jvm·数据库·python
路由侠内网穿透43 分钟前
本地部署开源工作空间工具 AFFiNE 并实现外部访问
运维·服务器·数据库·物联网·开源
njidf1 小时前
自动化机器学习(AutoML)库TPOT使用指南
jvm·数据库·python
F1FJJ1 小时前
什么是 Shield CLI?视频讲解:一条命令,可浏览器远程访问一切内部服务(RDP/VNC/SSH/数据库等)
运维·网络·数据库·网络协议·ssh
星辰_mya1 小时前
InnoDB的“身体结构”:页、Buffer Pool与Redo Log的底层奥秘
数据库·mysql·spring·面试·系统架构
F1FJJ2 小时前
Shield CLI 命令全解析:15 个命令覆盖所有远程访问场景
网络·数据库·网络协议·容器·开源软件