你的个人信息是如何被盗走的?MySQL脱库,脱库的原理,怎么脱库,脱库的步骤,一库三表六字段(1)

二、默认数据库

=========================================================================

首先,我们先来认识一下MySQL的「默认数据库」,如下图:

在这里插入图片描述

MySQL初始安装时,会携带一些默认的数据库,这些数据库用来存储MySQL的相关信息:

  1. information_schema:保存具体数据库的信息,比如MySQL有哪些数据库,库里有哪些表,表里有哪些字段。

  2. mysql:保存数据库的权限信息,比如哪个用户可以访问哪个表。

  3. performance_schema:保存数据库的性能参数。

  4. sys:数据源自performance_schema,目的在于降低数据库的复杂度。

对我们来说,比较重要的有两个数据库:information_schema、mysql。

三、一库三表六字段

===========================================================================

这里给大家普及一个非常重要的概念:「一库三表六字段」。

顾名思义,就是一个数据库、三个表、六个字段。

「一库」是指 information_schema 库,这个库是脱库的核心库。

为什么叫它核心库呢?因为它里面有三个非常重要的表。

「三表」是指 information_schema 库里的三个表:

  1. schemata 表:存放所有数据库信息

  2. tables 表:存放所有表信息

  3. columns 表:存放所有字段信息

「六字段」是指 三表中的六个关键字段:

  1. schemata表的 schema_name 字段:存放具体的数据库名

  2. tables表的 table_name 字段:存放具体的表名

  3. tables表的 table_schema 字段:存放表所在的数据库

  4. columns表的 column_name 字段:存放具体的字段名

  5. columns表的 table_name 字段:存放字段所在的表名

  6. columns表的 table_schema 字段:存放字段所在的数据库名

为了方便记忆,我们把它整理成脑图:

在这里插入图片描述

这是个概念性的东西,建议大家牢牢记住,接下来我们来讲解一下脱库的具体步骤。

四、脱库步骤

========================================================================

脱库总共分三步:

  1. 爆库

  2. 爆表

  3. 爆字段

1)爆库


回到文章开头的问题,我们想要查询校花的个人信息,首先得知道这些个人信息存放在哪个数据库吧。

如果我们知道了网站中所有的数据库名字的话,能不能根据库名来判断哪个数据库是存放个人信息的呢?

这个爆破MySQL所有数据库名字的操作,就叫「爆库」。

information_schema 库的 schemata 表的 schema_name 字段存放了所有数据库的名字,我们查询这个表,就能拿到所有库名:

select schema_name from information_schema.schemata;

从下图的查询结果中可以看到,我们查到了所有的库名,其中有个叫 user 的数据库,初步判断这个库用来保存用户信息。

在这里插入图片描述

2)爆表


确定数据库以后,我们肯定要知道这个库里面有哪些表。

获取数据库中所有表名的操作,就叫「爆表」。

information_schema 库的 tables 表的 table_name 和 table_schema 字段分别保存表名和表所在的库名,我们查询这个表,就能拿到数据库中的所有表名:

select table_name from information_schema.tables where table_schema = ‘user’;

如图,我们拿到了 user 库中的所有表名。

在这里插入图片描述

3)爆字段


实际上,拿到表名后,我们就可以查询表中的数据了,但实际注入中,由于一些原因,比如联合查询只能查询固定个数的字段,这时候我们就需要知道表中有哪些字段。

information_schema 库的 columns 表的 column_name、table_name、table_schema 字段分别保存字段名、字段所在表名、字段所在的库名,查询这个表,我们就能拿到表中的所有字段名:

select column_name from information_schema.columns where table_name = ‘student’ and table_schema = ‘user’;

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

文章中涉及到的知识点我都已经整理成了资料,录制了视频供大家下载学习,诚意满满,希望可以帮助在这个行业发展的朋友,在论坛博客等地方少花些时间找资料,把有限的时间,真正花在学习上,所以我把这些资料,分享出来。相信对于已经工作和遇到技术瓶颈的朋友们,在这份资料中一定都有你需要的内容。

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
友,在论坛博客等地方少花些时间找资料,把有限的时间,真正花在学习上,所以我把这些资料,分享出来。相信对于已经工作和遇到技术瓶颈的朋友们,在这份资料中一定都有你需要的内容。**

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值