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

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

相关推荐
雾时之林2 分钟前
Linux--软件管理、源码包安装
linux·服务器·数据库
老纪的技术唠嗑局2 小时前
超级干货分享:中小企业使用 OceanBase 实践经验汇总
数据库
CLOUD ACE2 小时前
谷歌云代理|零售商Target 如何利用 Spanner Graph 提升零售发现体验并将数据库维护成本降低 50%
数据库·零售
AI大模型-小雄2 小时前
Codex写分页接口为什么越翻越慢?用Cursor Pagination解决重复与漏数据
大数据·数据库·elasticsearch·搜索引擎·chatgpt·后端开发·codex
少晓年3 小时前
从 MySQL 迁移到人大金仓 KingbaseES:完整指南与实践
数据库·mysql
SelectDB3 小时前
Apache Doris AI RAG 实战:从基础 RAG 到知识图谱增强的技术能力与选型
数据库
SelectDB3 小时前
电商企业 PostgreSQL 迁移 Apache Doris:80TB 分析数据统一平台技术能力与实践
数据库
SelectDB4 小时前
阶跃星辰 Agent 可观测:Apache Doris / SelectDB 的技术能力与实践
数据库
SelectDB4 小时前
ApacheDoris Iceberg V3 湖仓 DML:Apache Doris / SelectDB 的技术能力与实践
数据库
SelectDB4 小时前
ApacheDoris Python UDF:SQL 调用 Python 的技术能力、选型对比与实践
数据库