粉丝386获赞3981

那边说些不是嫉妒话,不是每个孩子都能放出感动,所以 向前看了,至少你的心不会洒掉。 如果你是零零后,大概也成熟了吧,该去想 社会。那边说些不是鸡的话,不是 向前看了,至少你的心不会洒掉, 如果你是零零后,大概也成熟了吧,该去想想。

各位小伙伴们你们好,我是你们的波波老师。上期视频给大家分享了 maiserco 数据部的一个安装过程,那许多小伙伴们肯定会有疑惑,对于数据库安装好之后如何对进行操作呢?本期视频波波老师就给大家介绍一款工具收购样 cico 将是图形化管理 maicyco 数据库的一个工具,我们通过 cico 将可以从世界的任何角落来管理和维护远端的 maicecico 数据库。那接下来波波老师就给大家讲解一下 cico 将的一个安装过程。 首先小伙伴们可以看到我桌面是有一个 masico 安装的一个文件夹,我们双击文件夹进去,可以看到是有一个四个一样的一个压缩包,首先波波老师在这里需要把它进行一下解压, 那波波老师在这里呢把它解压到我们的一盘,首先呢我可以先建一个文件,然后直接就是色勾酱以他建一个文件,然后点击确定 好,那这个的话是已经解压完成,那我们可以看一下我们的一盘里面的一个文件啊,一盘的一盘里的的话目前是已经有 解压完成了,我们双击进去这个文件,那看到是有这些的一个文件,还有一些文档,那目前 我们可以看到的是有一个四扣样,一个海豚的一个图标的,一个只可执行的一个硬硬程序,那这个的话就是我们的一个安装的 和执行的文件,我们双击进去啊,可以看到是需要有一个名称和证书密要,名称的话在这里可以随机起,我们可以随机敲,然后证书密要的话,我们是需要连一个 文本文档的,那在这里我们可以看到是有一个 k 的点 txt 的一个文本文档,我们双击进去这个文档,那可以看到是有一连串的一个数字和字符,对吧?这个的话就是我们的一个密要, ctrl c, 然后点击我们的这个证书秘要昂臭妃布置成功了,那这样的话是已经。我们点击一下注册,那目前已经提示,感谢您注册 social 样,我们点击确定, 那目前是已经到这个界面,我们点击新建,修改为 maxico, 点击确定,因为我们这个的话之前是已经。嗯,修,在安装 maxx 的时候的话是有入团用户是已经修改为密码一二三四五六,那我们直接输入密码一二三四五六就可以了。点击连接 啊他您提示您已变更连接细节,您要储存变更吗?点击确定 定式,那目前的话我们可以看到是已经安装成功了,这个就是我们的一个色扣一样的一个工具, 那我们可以进行一个创建 crater database, 创建一个数据库 craata crater eata database basb 表说在这里我创建一个窝窝的数据库, 一定要是英文状态下的。好,我们选中 chris database, 如果,然后点击执行啊,目前的话是已经成功了, 那我们可以点击一下, 点击一下刷新,那目前我们是已经看到波波的数据库是已经创建成功,那这个的话就是我们就是安装 以及对收数据库收购价,这个是工具啊,进行操作的一个过程,包括创建 cuisittippocriticbus 波波,对吧?创建一个波波的一个数据库,那这个的话就是我们的简单的一个运用。 那当然呢,大家可以看到我们安装好之后的话,是没有一个图形是没有一个快捷方式的,对不对? 那我们也可以回到我们刚才的一个一盘里面,然后呢选中他右键 创建一个快捷方式,然后这样的话是创建快捷方式之后呢,我们把这个快捷方式,快捷方式拖到我们的桌面 关闭,那以后的话我们再进入我们的一个色口样这个工具的话,就直接点击我们这个快捷方式就可以了。那以上的话就是我们对色口样这个工具的一个安装的一个过程啊,大家的话可以。

各位小伙伴们你们好,我是你们的波波老师。上期视频给大家分享了 maiserco 数据部的一个安装过程,那许多小伙伴们肯定会有疑惑,对于数据库安装好之后如何对进行操作呢?本期视频波波老师就给大家介绍一款工具收购样, cico 样是图形化管理 maisico 数据库的一个工具,我们通过 cico 酱可以从世界的任何角落来管理和维护远端的 maicicico 数据库。那接下来波波老师就给大家讲解一下 cico 酱的一个安装过程。 首先小伙伴们可以看到我桌面是有一个 masico 安装的一个文件夹,我们双击文件夹进去,可以看到是有一个四个一样的一个压缩包,首先波波老师在这里需要把它进行一下解压, 那波波老师在这里呢把它解压到我们的一盘,首先呢我可以先建一个文件,然后直接就是色勾酱以他建一个文件,然后点击确定 好,那这个的话是已经解压完成,那我们可以看一下我们的一盘里面的一个文件啊,一盘的一盘里的的话目前是已经有 解压完成了,我们双击进去这个文件,那看到是有这些的一个文件,还有一些文档,那目前 我们可以看到的是有一个四勾样,一个海豚的一个图标的一个只可执行的一个硬硬程序,那这个的话就是我们的一个安装的 和执行的文件,我们双击进去啊,可以看到是需要有一个名称和证书密要,名称的话在这里可以随机起,我们可以随机敲,然后证书密要的话,我们是需要连一个 文本文档的,那在这里我们可以看到是有一个 k 的点 txt 的一个文本文档,我们双击进去这个文档,那可以看到是有一连串的一个数字和字符,对吧?这个的话就是我们的一个密要 ctrl c, 然后点击我们的这个证书秘要昂臭妃布置成功了,那这样的话是已经。我们点击一下注册,那目前已经提示,感谢您注册 soco 样,我们点击确定, 那目前是已经到这个界面,我们点击新建修改为 maxico, 点击确定,因为我们这个的话之前是已经。嗯,修,在安装 maxx 的时候的话是有入团用户是已经修改为密码一二三四五六,那我们直接输入密码一二三四五六就可以了。点击连接 啊,他您提示您已变更连接细节,您要储存变更吗?点击确定 定式,那目前的话我们可以看到是已经安装成功了,这个就是我们的一个色扣一样的一个工具, 那我们可以进行一个创建 crater database, 创建一个数据库 craata ctata database basb 表说在这里我创建一个窝窝的数据库, 一定要是英文状态下的。好,我们选中 chris database 波波,然后点击执行。啊,目前的话是已经成功了, 那我们可以点击一下, 点击一下刷新,那目前我们是已经看到波波的数据库是已经创建成功,那这个的话就是我们就是安装 以及对收数据库收购价,这个是工具啊,进行操作的一个过程,包括创建 ctrltypocrosbytebase 波波,对吧?创建一个波波的一个数据库,那这个的话就是我们的简单的一个运用, 那当然呢,大家可以看到我们安装好之后的话,是没有一个图形是没有一个快捷方式的,对不对? 那我们也可以回到我们刚才的一个一盘里面,然后呢选中他右键 创建一个快捷方式,然后这样的话是创建快捷方式之后呢,我们把这个快捷方式,快捷方式拖到我们的桌面 关闭,那以后的话我们再进入我们的一个色口样这个工具的话,就直接点击我们这个快捷方式就可以了。那以上的话就是我们对色口样这个工具的一个安装的一个过程啊,大家的话可以。

大家好,我们这节课的话来讲一下我们 c 口样一十三这个版本的一个中文版的一个安装教程。那么在这里的话,我们首先说一下这个 c 口样我们十三这个版本他这个资料啊,安装包在哪里?我们可以百度搜一下我们的一个体育课学习网, 搜完之后呢,我们找到这一个网站,找到之后我们打开,打开之后在我们的开发工具里面,工具分享工具分享里面呢有一个数据库啊,这里有个数据库,我们点一下, 点完之后呢,我们可以往下翻,往下翻,那放在这里的话,我们可以看到这里有个 ccon 一十三中文版,我们直接可以点这个获取分享,然后去把它下载下来,下载下来之后呢可以得到一个压缩包 啊,呃,最近有点咳嗽啊,大家见谅一下啊。好,我们得了一个压缩包之后我们进行解压,解压完成之后我们可以得到我们的一个文件夹,那么在这个文件夹里面呢,其实就有啊这个 c 口样一十三,但是这里的话只提供了六十四位的啊,只只提供的六十四位的, 因为现在的电脑的话也基本上都是这四位的啊。好的,那我们直接啊可以安装,但是我们建议的话呢是可以把我们的一个啊杀毒软件,比如我们三六零啊,我们的一个火龙啊,把这些杀毒软件给他退出掉。 好,退出完成之后呢,我们可以点右键,以管理员的一个身份运行。好,那在这的话他说请选择一个 语言,那么语言的话呢,我们肯定是默认就是我们 chinese 啊,或者说你要用英文啊,英格里也是也是可以的,或者说我们那个交配逆子啊。好的,那这里的话我们默认就是选择我们这个 chinese 啊,中文我们点。 ok, 点完之后他说欢迎使用这个样,我们是一十三这个版本。好,那我们直接点下一步,点完之后我们点这个,我接受取个协议,然后我们再点下一步。好,那这里的话他列出了 你所需要的一个安装组建,那么这一块的话,因为 c 个样,他就是专门管理我们卖 c 口数据库的,所以他所占用的一个空间啊,是比较小的,他所占用的空间我们可以看到他也就呃一十八点九兆比较小。那这一块的话我们就直接默认给 留上就可以了。好,我们点下一步,点完之后呢,我们选择我们要安装的一个路径,那么这里的话就默认放在 c 盘,如果大家要啊放其他的一个地方,你可以点这个浏览,然后去放到其他的一个地方。好的,那我直接点安装。 ok, 那他这个速度呢是比较快的,因为他这个软件啊比较小,那我们再点下一步,点完之后他这里直接可以点完成, 点完完成之后我们可以发现啊,在桌面上呢,其实已经有这个小海豚的一个图标了啊,就是我们这个 c 口压。那我们可以看到我们刚刚点了一个,完成之后呢,它其实是帮我们启动我们这个 c 口压啊, 我们可以在任务,任务这个任务栏里面啊,可以看到这里是不是有个小海豚,那这个小海豚我们可以点一下,哎,他就弹出来了,他说请选择你的一个 ui 语言啊,就是用户的一个界面的一个语言,那么语言的话,我们肯定是选择我们解体中文啊,选择解体中文。 好,那这个时候的话我们可以点一下确定,点完确定之后呢,他就直接啊弹出来了啊,直接弹出来,那在这里,在这里的话,我们可以把它先关掉啊,先把它全关掉。好,我们把它放大一下。 好,那这个时候的话,我们其实可以点一下这个文件,文件里面呢有一个新链接啊,点一下新链接,那新链接里面呢有一个新界,我们点一下新界啊,点完新界之后,他要你输入我们的一个新的克雷克省的一个名称,也就说 我们这个链接的名称我们随便取都可以啊,我们可以比我写一个新的链接,然后点确定。 点完确定之后呢,他这里要你填 myceo 的一个 house 啊,就是我们的一个 myceo 的一个主机的一个地址 啊,主机的地址的话,如果你 myceo 的一个呃, myceo 安装在我们这个本台电脑上呢,你就直接默认不动就可以了,因为 logo house 的就是代表我们这台电脑。 好,关于我卖 c 口的一个安装教程的话,我们可以在开发工具里面给我去分享工具,分享里面呢有一个数据库啊,点一下数据库, 点完数据库之后,你可以看到这里有五点六、五点七、八点零,那如果说你想安装哪个版本,比如你想安装 mac 五点七的,那么 你可以点一下这个获取分享。点完之后在这里面的话是有个安装教程的,你点一下就可以看他的一个安装教程,当然对应的一个视频教程,在学习自在每个视频教程,然后在这里啊有个 mac 口的一个视频教程,你可以去看一下。 好的,然后这里的话我就填一下啊,填一下我的 ip 地址,因为我没有装在那台电脑上,所以我这里的话,呃,就是换了一个,我要写那台电脑的一个 ip 地址。 好,那用户名的话,你们默认可能是肉头,我这里的话是叫朋克啊,我自己去新进来一个,然后密码的话呢?呃,就是贴我自己的密码,你们就贴你们自己的密码。 ok, 贴完之后端个号的话默认就是三三零六啊, 除非你的买 c 口啊,你自己去改动了,不然的话他默认的短口号就是三三零六。好的,那这在这里的话,我们可以点一下测试链接。 好,他说链接成功了,我们链接成功之后,那个买 c 口的一个版本呢,是无底气啊。也就说他安装的一个买 c 口的话是安装的这个 啊,数据库里面啊,他是安装的这个。好的,我们点确定。那如果说你出现了一些错误,比如说密码输错了啊,密码输错,密码输错了,我们可以点一下啊, 我故意输错一下,给你们看一下他会爆什么错误。哎,如果你出现错误,号码幺零四五,然后趴死我的啊,看到这 这个错误码是幺零四五,并且看到帕斯沃的,那么就是你的一个密码输错了啊,密码输错了。好的,那你把密码输正确就可以了。那如果说你这里啊 ip 地址填错了,那你那你点一下测试页去看一下啊, 也就说当我们买 cc 服务没有启动的时候,他去这功这个 cc 量去链接的时候呢,他是会爆错的, 那么报错的时间呢?是比较久的,因为他有一个缺损的一个时间,也就是说等待我们买 cico seven 他的一个服务的一个启动的一个时间。好,那在这个时候可以看到他说无法连接到我们买 cico 的一个服务, 就就是在这台电脑上无法连接啊,无法连接的话,那肯定就是你买 cc 服务没有启动,或者说你买 cc 根本 就没有安装啊,那你就按我们刚刚所说的那个视频教程去安装一下。好,那我这里的话就填正确,我们点链接就可以了。 好,他说您已改变链接细节啊,什么什么什么什么,你直接点试就可以了。 好,点,完成之后呢,我们可以看到左边的话,就是我们啊所有的一个数据库了啊,所有的数据库都在这里, 然后这里的话有个查询啊,查询那个窗口,那在这里的话就可以写写我们的一个买 cico 的一个代码了,那比如说写一个手,我们这个 database database。 好,那我们写完我们的一个 mac 和命令之后呢,我们可以点一下这个播放按钮,或者说你直接按 f 九啊, f 九那 快捷方式就可以进行一个执行的啊,我们点一下执行完成之后,在这里的话是有个结果的一个展示的,我们可以看到他锁裂出来了,我们那个呆呆贝斯呢?有这么多哎,总共有二十六个 啊,当然这个命令的话呢,他的意思就是代表着显示啊,显示我们这个 mycicle 里面的所有的一个数据库的一个名称,他都显示出来了,看到没? 好,关于我这些命令的话呢,你就需要自己去学习了,那么学习的话,我们在学习字上每个视频教程,视频教程里面呢,有买 c 口啊,你们自己去看一下就可以了。 好的,那我们这个,呃,这个样,一十三这个版本啊,已经成功安装了,并且呢它是一个中文版啊,它是个中文版。 ok 啊,那我们这节课的话就先到这里,如果你们有什么问题可以联系下我们的一个客服。那么客服的话呢?是在我们关于我们啊这个里面去找一下我们客服,他会远程帮你解决。 ok, 我们这节课就先到这里,我们下节课再见。

我们来看一下第四张数据库安全性,那么这一张的考点比较少,主要是两个,第一个授与权限,第二个收回权限,那么这一张他考察的题型主要是以这一个选择题为主。 我们首先来看一下这一个授与权限,那为什么会出现这一个授与权限这样的功能?比如说我们在查询这一个期末成绩的时候,那么作为学生来说, 他是不是只有这一个查询的权限,而没有这一个修改的权限,那么对于这一个老师来说,他就是具有这一个插入数据的权限和这个修改数据的权限,同时呢他也可以去进行一个查询啊, 那为什么会出现这样的呢?如果说你不对这个权限做一个授语的话,那么对于老师和学生来说,他们都有这一个插入修改和查询数据的条件,那么这个的话就不是那么的好,那学生的成绩就可以造假,对吧? 所以说我们就会出现这个权限的授语,那这里的话,他其实是给学生一个查询的权限,然后给老师一个所有的权限。 首先我们来看一下这一个权限的授语,同样的我们还是给了大家一个这一个 模板,那到时候大家直接照着这个模板来写就可以了。第一个 correct 啊, correct 叫做这一个授语授语这一个权限 on, 对 什么授语呢?你可以对这一个 table, 也就是这个表,你可以对这个表授语权限,同时你也可以对这一个数据库授语权限。 如果你是对这个表授与权限的话,那么你后面跟的是这个表明,如果你是对这个数据库授与权限的话,那你后面的话就跟的是这个数据库名啊,然后兔啊,也就是给用户 授与权限,那么这里的话,我们写的是用户一,用户二啊,后面还有很多,那就是说你可以同时对这个用户一和这个用户二授与权限。如果说你后面 想对所有的人授于权限的话,那你直接加上这一个 public 啊,也就是这一个公共啊,对所有人授于权限。好,那么这句话 with great option 啊,那么这句话就是说表示获得了这个权限的用户还可以将这个权限再付给其他人啊。假设我们这里有一个用户 a, 那么现在我给这个用户 a 的是查询的权限 select 啊,如果说我加上了这一个 with correct option 啊,如果我加上这一句话的话,那也就是说我可以再把这一个权限啊查询的权限再赋给 b 啊。如果说我没有加这一句话的话,那么就我们的这个权限它是不可以再赋给 b 的 啊,这是这个意思。 好,那么我们首先来看到例题一,那例题一它说的是把这一个查询 student 表和这一个修改学生学号的权限赋给这一个用户四啊,那这里的话它是赋予权限,所以说就是这一个 grant 啊。授予权限, 那么受理的是查询这一个权限啊,所以说我们这里的话写的是这个 select 查询,然后呢,他还要给到一个权限是这个修改学生的学号,所以说是这个 update 修改。那修改的是什么?修改的是学号,所以说我们在这个 update 后面跟的是这个学号啊, 我们是对什么授予权限?我们是对这一个表授予权限,所以说是这个 table, 那 table 后面跟的是这个表明,也就是这个 student, 我 们是要对谁赋予权限呢?我们是要对这个用户四,所以说 to u 四啊, to u 四,也就是对这个用户 u 四赋予这一个权限,那么这个是例题一。例题一还是比较简单的,我们来看一下例题二。 例题二,它说把这个表 s c 的 这一个插入权限授于给这个用户 u 五,并且呢, 它可以再将这个权限再赋于给其他用户。我们来看一下,首先是这个 correct 授于权限,授于什么权限?授于这一个 insert, 也就是这一个插入的这个权限。 然后呢,我们是对这一个表授予权限 on table 啊,对这个表 s c, 表这个成绩表授予权限,我们是对谁授予权限?是对这个用户 u 五,所以说是这个 to u 五,现在他说这个权限他还可以再将这个权限赋予给其他人。我,所以说我们还要再加上这一个 with great option 啊,他说的就是 把这个权限可以再付给其他人啊,这是授予权限。好,我们再来看到这个收回权限, 好,那么为什么会有这一个收回权限呢?比如说我现在对这个老师给了他一个插入修改和查询这一个成绩的权限,但是现在这个老师离职了,所以说我要考虑把他的权限收回权限,我们用的是这个 rework 啊, rework, rework 表示的是收回收回权限啊。同样的,如果你是对这个表收回权限,那么我们后面跟的是表明,如果你是对这个数据库收回权限,所以说我们后面跟的就是这个数据库名啊, for 啊 for, 注意我们刚刚授予权限是 to, 现在收回权限是 for 啊,然后呢?从这个用户里面收回权限啊,我们后面跟的是这个用户一,用户二啊,还有很多个用户,如果说 你需要对所有的用户收回权限,那么我们同样的是采用这个 public 啊,那么我们来看到这一个单词,那这个单词它说的是第一个, 他表示的是一个限制啊,他说的是收回语句中指定的这个用户权限,哎,就说你这个语句里面指定的是哪个用户,那么加上这个单词之后,我就会把这一个指定的这个权限收回来。 好,然后呢?第二个单词他说的是表示除了收回指定的用户权限,还要收回该用户赋予其他用户的权限。比如说我们现在这里有一个用户 a, 那 么我对他 赋予了一个查询的权限,然后呢,这个 a 他 又把这个查询的权限付给了 b, 如果说我加上这一个单词之后,那么我收回权限的是 我要把这个 a 的 权限这个收回回来,同时我还要把这个 b 的 这个权限收回回来,那收回之后这个 a 和 b 就 没有这个查询的权限了。 好,我们来看一下例题,例题它说把用户 u 四修改学生学号的这个权限收回,那么我们这里的话是收回权限,首先呢是 rework, 表示的是收回,收回什么权限?收回这一个修改学生学号的权限,所以说是 update 修改,然后呢?修改学号,所以说是这个 s n o 啊,然后,昂,我们现在是对这一个表做一个收回权限,所以说后面跟的是这个 table, 对 哪个表呢?是对这个学生表 student 收回权限,从这一个用户 u 四里面收回权限,所以说是这个 from u 四啊,那么这个还是比较简单的,直接跟着这个模板去套就好了。 好,我们来看到这一个例题二,那这个例题二它说的是收回所有用户对表 s c 的 这一个查询权限。 好 rework 啊,收回权限,收回什么权限?收回这一个 select 查询的权限, 我们是对这个表收回权限,所以说是 on table s c 啊,对这个 s c 表做一个收回权限。 from 啊,我们现在是要对所有的用户啊,所有的用户,所以说我们后面跟的是 public, public。 那 么我解释一下,这里为什么不加上这个单词,那这个单词它说的是 把这一个赋予的权限还可以再赋予给其他人的那个权限也收回,那么为什么不把这一句加上呢啊? 我们题目没有说要把赋予的这个权限再赋予给别人的这个权限要收回,我们题目没有说啊,没有说你就不要加,你就不要给自己加细啊,如果说你写了的话就一定是错的啊,但是 你没写就是对的,因为我们题目没有明确的说,如果说题目明确的说了,那么你就要写上去, 那么我们来看到本次课程的小结,如果说你是要对这一个用户授予权限,那么我们用的是这个 collect, 如果说你要对这个用户收回权限,那么我们用的是这个 rework。 同样的,对于这一个 with great op, 你 要看清题目,如果题目没有明确地指出这一个权限可以再付给其他人,那么你就不要把这句话写上去,写上就是错的。 同样的,对于收回权限,如果题目没有明确的说要把赋予的那个权限再赋予给其他人的那个权限也要收回的话,那你也不要把那个单词加上,加上也是错误的。 那么这里的话,我们给大家留了一些课后的习题,大家可以先去做一下,然后再去对一下答案。首先第一题的话,它是 选择题,然后呢,他是说的是这个对这个用户授与权限,第二个题也是选择题,他说的是对这个用户收回权限。那么对于这个第二题的话,大家最好是去画一个图啊,因为直接看这个文字的话不太好理解。

一分钟带你了解 c 口注入无密码登录!室友大半夜的不知道在看什么,问他也不说,只知道傻笑,想知道他到底干嘛,却不知道密码咋办? 彦祖们看过来,今天教你无密码直接登录!郑重声明,视频所有操作都基于本地靶场,不存在实际攻击,严禁用于非法入侵。 首先,文件夹上方输入 c、 m、 d, 打开调试框,读取根目录。第二,输入这串代码,看看目标网站是否存在 c 框注入的漏洞,出现这些就说明这网站有漏 洞。接着输入这个代码,进入它的数据库,这些就是数据库里的东西。最后输入这个代码,回车就可以进去查看该网站的账号 id 和密码了,其原理就是黑客在输入框写入数据库命令发送给数据库执行,你学会了吗?

这个网站是我们要攻击的一个目标,但是我不知道这个网站的账号和密码怎么办?这个时候呢,我们可以输入一个万能密码,点击登录就可以登录成功了, 这究竟是怎么做到的?我们今天要去讲解,内容是卡点挖漏洞,实战之手把手教你挖掘收口,输入漏洞。 特别提醒大家,接下来所有操作都在拔草环境中进行,绝对符合网络安全法规定,大家实操也必须在拔草环境或授权环境下操作,未经授权攻击他人网站是违法行为。我们先讲解实战,然后再去讲解原理。在实战的第一步中,我们的目标机与操作机,大家需要明白, 给大家准备中的这一个目标机是在左手边的这一个,然后操作机就是我们的卡点 linux, 卡点 linux 的 目的是作为操作机去攻击我们的目标机,所以说我的目标机提前已经把把伞搭建好了,大家只需要拿到我的这个目标机,一旦开机之后就可以访问了,那怎么访问呢?大家可以直接 ip config, 这就是我们目标机的 ip。 拿过来我们再切回到操作机,我们打开这个 b p, 我们在里面点一个代理的时候,可以打开一个浏览器,把那个粘过来,我们就回收,这里面显示了 hello world, 就 代表我们已经可以访问到这里的目标机的靶场环境了。 再切回到操作机,那么我们只需要在后面加一个网站,这样的话就访问到了我们的这一个目标靶场。 我们进入第二步,在访问的过程中使用万能密码去探索,注意这个是网络安全的真实面试题,之前就有面试官问过我,请你说一下万能密码是怎么玩的?我们现在就在讲我们的万能密码, 我打开我们这个操作机,在操作机这里面我确实是不知道账号和密码的,那怎么办?我们可以这样写,这样写,然后呢?我们的密码也这样写,这样的话就是我们的万能密码的形式,关于这个万能密码的原理,我们后面会专门讲解的。 好,那我就登录成功了,也就是根据第二步使用忘恩密码直接走到了第三步,我们拿到了我们登录的成果,我们不知道用户名和密码的情况下,也得知了,也进入了这个登录的首页, 有需要操作机与目标机的小伙伴们,只需要私信我发送目标机与操作机即可。接着后我们进入这个原理片的一个环节,为什么会存在社口出入的这种漏洞呢? 大家需要明白。首先我们在这个环节中,我们用这个 app 也好,电脑应用也好,浏览器也好等等,它是不是可以访问到这个服务器?这个服务器有可能是用 java 写的,有可能是 ppt 写的,有可能是构员写的,都有可能,因为它会访问到数据库, 数据库的话有很多种类型,我这就不是电脑那么这样一种服务器架构,其实无论是腾讯系、阿里系、京东系等等,全球所有网站的服务器大概就是这样设计的。 哎,这个时候我们在网站的这个这个环节中,我们输入框里面输入的东西不是正常内容,而是会输入这些受苦语句怎么办呢?这样的话就可以骗过数据库,最终可以达到骗数据库的执行,达到偷数据、删除数据、创改数据等等。 哎,我刚才所讲的这个环节中,这里面不是有个浏览器吗?这个浏览器就相当于我们在前面讲了这个环节的浏览器,这个是一样的, 大家可以去思考,以后无论是挖漏洞、打互网、各种比赛,或者是从事安全工作等等,是不是会有这样的场景,一定会有这种登录框或者是注册框,以这种形式就一定会跟数据库打交道。 如果说他跟数据库打交道,那么是不是又得从这个登录框?注册框这种输入框是可以访问到服务器,服务器再访问到数据库,那我们是不是在传递的时候不会传递一些正常数据,而是说访问一些这种受苦数据,是不是可以欺骗到他这个数据库了? 紧接着我们来看一下牲口猪肉能够带来哪些危害,包括之前的这个淘宝账号被盗,还有这个酒店预定数据库被黑客入侵等等,这种事件都是由牲口猪肉所带来的这种危害。当然还有很多很多很多事件,我们这里面这个 ppt 列不上来了,所以说这里面的话只列了这两个, 因为你要明白这种软件和我们的这个软件是一样的,我们往这个软件里面只录了一种收口语句,或者是说恶意的收口语句,那么就能干嘛?就能去绕过服务器再到达这个数据库,那么这样的话就可以欺骗这个数据库,来做各种控制数据库响应的事情,所以说才会有这件事件的诞生, 我们开始对这一个原理的分析,这个图想表达意思就是说我们想解释清楚这两句话是什么样的原理。过程 在看我们的 app 的 时候,你会发现一个点,这里面的东西,我们可能说现在还看不懂,是因为我们还没开始专门的讲解。回进来为什么说我们传出这两个玩意,它就能够把我们这个信息给推送进去呢?这是为什么呢?是不是?好?我们在这个疑惑就开始来去讲解,我要把它给它放小一点,我们这里的话是什么是用户名输入的, 哎,这里面是密码输入的,也就是把这个给它发到这里来,密码输入的也这个是用户名输入的,发到这里来 这个关系大家都是非常清楚的。 然后紧接着我们对于这个攻击者的猜测来一步一步的分析。 首先我们需要明白它这个执行过程中在数据库里面长什么样子, 还记得前面吗?因为最终这个语句也好,这个语句也好,他会一定会到达我们的数据库,也就是他一定会从我们的这个输入框浏览器开始,一直会到达我们的服务器,再到达我们的数据库,是一个这样的过程。那我们想知道在数据库大概是长什么样子,在这里面 数据库里面是什么样的方式呈现的,这个是我们想知道的。所以说我们回到这里来,我们会有个猜测,首先这边的话是数据库的语法,我们写一下, 当然这是表明,然后这边就是用户等于账号,也就是等于我们的这个账号,而密码是等于这个密码, 这个是我们数据库大概的猜测,那么我们可以衍生出这一步,那么既然我们现在知道是这种情况的话,可能它会变成这个样子,就是说这里面传的是我们账号的输入框,然后这边传的是密码的输入框, 那么是以什么样的条件来个代表他是登陆成功呢? 那么这边会有一个公式回正来,也就是在这里面的时候,只要说在这里面他满足一个真,那么这个是真,那么就代表他是登陆成功。 注意所有的网站,无论是京东系、淘宝系、阿里系,全球所有网站他都是这样设计的,在数据库这方面, 只要条件都为真,它就代表你登录成功。说回来这个是真,这个也需要是真,也就是传的这个是真的,这个也是真的,就代表登录成功。那什么情况下是登录失败呢?如果说假设这个是假, 这个也是假,这是登录失败。如果说这个是假,这个是真,也登录失败。如果说这个是真, 这个是假,他也登录失败。就是必须要用户名与密码两个都为真,才算登录成功。那如何做到这个效果呢?那么可以这样来玩这三条登录失败的我们不看,想登录成功的话可以这样做, 只要说我们写的语句是这个样子的,它就能够代表成功。这样写这个其实是表达了真的意思,咱们这个 a、 b、 c、 d、 e、 f、 g 可以 不写,就长这个样子。就这一节它其实是表达了一个真的意思, 然后这里的这个密码也可以放到这里来,然后呢这个也可以不写,也可以写,随便你过来。这句话它也表达了一个真的意思, 这个是真,那么这一条也是真,那么就代表登录成功了。也就是这句话其实是表达了等于真, 这句话是表达了等于真, 但什么时候让它等于假呢?等于假的话可以这样写,我们看一下。好,一等于二吗?那肯定是错的吧?一怎么可能等于二呢?那它就是假。 一等于九吗?那肯定是错的吧?一怎么可能等于九呢?这是错的。那么一等于一吗?肯定等于一啊,是真的,那么这就表达了真的含义。说这句话我们现在要把它给传递到这里去, 然后这句话我们把它给传递到这里去,那么所最终达到的效果就相当于这里面其实它的本质传了一个真,那么这里面的话也是表达了一个真, 那么既然是这里是真,这里是真的话,就代表登录成功。所以说我们再回到这里来,你会发现一个点,就是这里面表达的一个形式,账号的输入框与密码的输入框对应起来,只要表达的用户名与真密码也真的话,就代表登录成功。这是全球所有网站的整个逻辑,是这样走的。 那之前还有面试官问你为什么是这样写的?那时候你会觉得很奇怪,因为他想问你的点就是说,为什么前面没有开始号,后面也没有一个结束号,这是为什么呢?为什么长这么奇怪呢?为什么又长这个样子呢? 好,你看前面有一个开始号呀,后面又没有结束号呀,注意了,为什么长这样子?为什么长这样子?是因为他从这里面拷贝出来我当前所选中的这个,他怎么拷贝这个区域啊?你看我剪切掉看到了吗?我再恢复 看到区别了吗?所以说你会导致说前面有一个开始号,后面写了些东西,把它给挡住了, 因为我前面讲了吗?这里面可以写东西,这是可以写东西的,也可以不写东西的,这样他们是等价的,这个效果和这个效果和这个效果商者是等价的。那我说这样写嘞就变成这个样子了吗?那我来个空格嘞,也是等价的效果, 看区别了吗?所以说就会解释清楚为什么是这种奇奇怪怪的符号,为什么这里面有结束?是因为从这里面拷贝出来的, 我把它给剪切掉,剪切好看没有?这还留下什么?留下一个开头和结尾,到时在拷贝出来之后,我们放到这里来,是不是长这个样子了?好,这就是之前一些面试题的细节问题,我们给大家解释了一下, 我们来总结一下,我们一共有三步核心,第一步,我们去激活网络靶场。第二步,我们访问的过程中并使用万能密码去探测。第三步,验证注入好之后的成果,进行一个登录。

这段代码呢,可能天天在写,以一个负循环,循环里查一下数据库没毛病吧?我告诉你,这玩意儿可能让你当众射死。我第一份工作就因为这个,一秒钟发了两千条 c 库,数据库直接挂了。 技术总监当着全组人骂了我二十分钟,什么代码这么狠?就是一个查用户订单的接口,先查出用户列表,然后 for 循环,每个用户在循环里查这个用户的订单代码跑起来没问题,功能正常,我还挺得意,结果上线当天就炸了, dba 跑过来问我,你这接口怎么回事儿? 一秒钟两千条 c 库连接持都被你耗光了?技术总监把我交到会议室,问我知不知道什么叫 n 加一查询。 我当时一脸懵,心想我写的明明是一加 n 啊,先查一次用户,再查 n 次订单,怎么就叫 n 加一了?后来才知道,这就是经典的 n 加一查询问题,新手必踩的坑,面试必问的题。什么叫 n 加一? 你先执行一条 c 口,查出 n 条数据,然后对着 n 条数据,每一条都在执行一条 c 口,总共就是一加 n 条 c 口, n 是 十,你就发十一条, n 是 一千,你就发一千零一条。数据量小,看不出来数据量一大,数据库连接池直接被耗光,整个系统跟着挂。怎么解决?第一,用 john 把两张表关联起来,一条 c 库搞定。但 john 也不能乱用,表太多,数据量太大反而更慢。第二,用 in 查询, 先把所有用户 id 收集起来,然后一条 c 库加 in 条键,一次性查出所有订单,最后在内存里组装 c 库,只有两条,性能好很多。第三, my bodice 可以 用批量查询。 my bodice plus 有 selected batch ids, 一 次性搞定。第四,上缓存,数据不常变的话,先查缓存,没有再查库。 核心原则就一条,能用一条 c 库解决的绝对不要用 n 条。我后来养成习惯,写完代码一定打开 c 库日记,看一眼 这接口到底发了多少条 c 库,循环里有 c 库,立马改掉。现在很多公司代码审查,看到否循环里有数据库操作直接打回,不用解释。所以记住否循环里面别写 c 库, 这是写的教训。我是程序员 mike, 十年 java 老兵,当年那顿骂记了十年。今天分享给你,希望你别踩同样的坑,关注我,少走弯路。

说实话,刚开始写 c shop 的 时候,我天真的以为用了 anti framework 就 万事大吉了。 o r m 嘛,对象关系硬核,听起来就很安全的样子,结果呢,还是被注入攻击搞得焦头烂额。 记得有次做一个用户查询功能,需求很简单,根据用户输入的关键词搜索商品。我当时想,反正用的是 e f, 应该没问题吧?嗯,这代码一看就有问题。 但当时的我傻乎乎地觉得,既然是通过 e f 执行的,肯定比直接用 c q connection 安全多了。当你在日记里看到这样的请求,妈呀,完整的用户表都被人拿走了。 这时候我才意识到, o r m 并不是万能的防护罩。很多开发者都觉得,只要用了 o r m 框架,就不用担心 c q 注入了。 但实际上, l i n q 查询相对安全,原声 c q 查询依然危险,动态构建的查询风险很高。看看这些常见的危险操作,参数化确实是个好东西,但也要用对地方表明列明,这些结构性元素是无法参数化的。 这个限制让很多人栽跟头。那些年踩过的具体坑,产品经理说要加个动态排序功能,用户可以选择按价格、销量、评分排序。我当时这样实现, 结果攻击者直接传入,嗯,产品表没了。正确的做法应该是白名单验证,有个报表功能,需要根据用户选择的条件动态生成查询。我一开始这样写,这代码看起来挺整洁的, 但每个拼接点都是潜在的注入风险。后来我改成这样,用 link q 表达式构建查询,既灵活又安全。经历了这么多坑之后,我总结了几个实用的防护策略,能用 link 就 用 l i n q, 这是最简单也是最有效的方法。必须用原声 coco 时的正确姿势, 有时候 l n q 确实满足不了复杂的查询需求,这时候要这样做,输入验证是必须的。不管用什么技术,输入验证都不能少。最小权限原则,数据库用户权限也要控制好。代码审查清单团队代码审查时,我们会特别关注这些点, 是否有自旋拼接构建 sql 用户输入是否经过验证?是否使用了参数化查询,动态构建的查询是否安全?数据库用户权限是否最小化? sql 注入这个老问题即使到了 o 二 m 时代也没有完全解决,关键是要保持警惕,不能因为用了高级工具就掉以轻心。我现在的原则很简单,能不用原声 sql 就 不用。必须用的时候一定要参数化, 任何用户输入都要验证。虽然听起来有点啰嗦,但安全这种事情,宁可麻烦一点,也不要出问题,毕竟数据泄露的代价太高了,与其事后补救,不如事前防范,你说呢?