首页
学习
活动
专区
圈层
工具
发布

《第13节》系统安全

/

Meeting summary report

我们来看2023年数据库工程师中级考试第一部分第13题,这道题考察的知识点是系统安全

01

题目内容

好!我们来看一下第13题,这道题考察的知识点呢啊就是系统的安全,题干说啊Windows的操作系统呢啊如果在多次无效登录啊,就是你试探性的去登录啊,账号密码输错了之后呢你的账号会被锁定,这样可以防止什么呀,防止什么攻击呢,很明显的这是一道送分题啊,这个要是做不对的话那你平时就不要用电脑了啊,a选项是木马,木马是什么啊,是一种什么恶意程序啊,就是潜伏在你的系统里面呢不希望被你发现,然后偷偷的向外啊传输你的电脑里面的一些私密的信息啊,很明显跟咱们这个是没有任何关系的,b暴力攻击啊,暴力攻击就是黑客拿了一本字典啊密码字典不停的试探不停的试探,黑客很有耐心呐啊他在这里试探了啊啊 100年啊,假设他试探了100年终于把你的啊这个账号给试出来了,好!所以我们为了防止被他试探,我们是不是要做一个防范的机制啊,比如说啊登录啊10次啊账号失败之后呢就把你的账号锁定了,锁定了之后的话你就短时间内没有办法继续尝试了,是不是可以防范暴力攻击啊,暴力攻击可不管三七二十一啊,他就是把可能的方式啊以穷举的方式呢啊来一一试探,如果说你不做这个防范的话啊那你没有办法啊去防止这个暴力攻击的,cIP地址欺骗啊就是假冒别人的IP啊,a假冒的b啊然后呢去获得他的一些权限啊,好!这个很明显跟这也没有关系,好!最后一个格式化字符串攻击啊这个大家可能不怎么熟悉啊我们就等会说一下。

02

解题思路

01

格式化字符串攻击

好!我们来简单的看一下啊什么叫格式化字符串攻击呢,大家呢上大学的时候啊都学过c语言的啊,没有学过的多多少少也会有印象啊,其他的语言里面呢都有一些输出函数,比如我就以我们的c语言为例吧,它里面就有很多种啊printf函数啊,这个f呢是format啊格式化的输出啊啊,其他的还有各种各样的啊就不多说了,好!我们就以这个最常见的啊格式化输出的这个函数为例,它就有这样的啊一个结构啊printf,第一个参数呢是表示你格式化的啊输入的字符串,那个里面的话啊他要接收的啊那个输出的内容呢,他就用那个百分号加上一个字母啊,第一个参数呢就是格式化的字符串的,后面的参数呢数据是不定的,究竟后面应该有多少个参数呢就取决于你第一个啊格式化字符串里面啊指定的这样一些符号、说明就有几个,比如我们这个例子里面呢他就有姓名和年龄啊,我们后面的话姓名年龄都是为空的,所以我们后面的参数1和参数2呢就对应着啊第一个参数啊和第二个啊这个参数,所以说啊我们这里呢就是这样一种语法结构了,好!那么我们简单的看一下啊这个啊百分号加上一个啊字母到底是什么意思呢,比如说我们这个百分号加d啊表示十进制啊,加s啊就是字符串啊string啊这用的最多了,加x表示16进制啊,加c呢表示字符啊这个char,p呢啊是指针啊point啊point,这个n呢啊这个也是常用的攻击的啊这个所以我就写上去了,好!那么攻击的原理就是什么样的呢,就是咱们这个函数啊到底有什么缺陷呢会导致呢会别人啊用它来进行格式化的字符串攻击啊。

我们都知道啊这个函数呢是接受外部的啊这个输入的,你输入了什么呢我就对应的给你输出什么,如果说啊用户的一些输入啊他是恶意的,那么就会导致啊我们接受的一些啊不应该接受的啊外部输入、导致了存在安全风险,它的原理是怎么样的呢,就这个啊printf这个函数啊它在执行的时候呢,先进行啊第一个格式化字符串的解析,解析的时候呢它是从咱们这个栈里面啊,栈这个数据结构前面也说了啊像个碗一样的是吧从里面挨个挨个取,好!这个栈呢好就说把我们这个函数的参数啊,就是这样啊往里面放啊,好!他在执行的时候呢就是挨个取啊,我们来看一下获取参数啊,他从里面拿到的这个参数之后啊和这个符号的啊这个说明进行匹配,匹配完了之后就输出结果,如果他啊匹配的时候有问题啊就会导致什么呢,程序崩溃,栈里面的数据啊内存里面的数据泄露啊,或者说某一个内存地址里面的啊地址的内存被泄露了,或者是数据被覆盖啊,这都是有可能的,这也是黑客啊比较常用的攻击方式啊,我们要进行这个格式化字符串的攻击有一个前置的条件,就是里面要求的参数啊跟我们实际提出的这个参数啊要是不匹配的才能够引发这个攻击啊,这个怎么理解呢,比如说我们这里啊接受两个啊后面的参数啊,比如说姓名和年龄假设你后面再输了一个参数啊,这是你构造出来的这样一个参数,也是为了引发啊这个函数发生错误的这么一个参数,我们看啊它的原理啊,首先呢我们输入的这个参数呢这个格式化字符串呢是不是这样的啊,我们再接着啊那个参数的时候呢就拿到了小明,然后这个符号说明呢就把这个小明读取之后呢对他进行了替换,这个符号呢也对18啊进行了替换,前面不是说嘛后面还跟了一个啊未知的这样一个x的这样一个参数啊,这个x的参数呢是要读取16进制地址的啊,那么我们在这里呢就读取了一个地址,大家看啊这前面没并没有第三个参数啊这是你啊构造出来的,那么他啊像那个栈里面去取的时候啊他就会取得这个18啊附近的这一些地址啊,因为他读地址的嘛这个时候就把这个地址给读出来了,大家想这个地址啊是不是不应该被读出来的呀,但是我现在却又被读出来了这就是什么呀,格式化的字符串攻击啊,多的咱们都不了解了啊因为咱们这只是说一个基本的知识让你有一个啊印象啊不需要学的太深了,咱们也不是说专门是搞信息安全的这门考试啊,所以你只要搞清楚,这个格式化字符串攻击呢就是说啊这个参数啊和这个实际匹配的提供的参数啊不匹配,导致了我读取了啊不应该读取的啊覆盖了不应该覆盖的啊,或者说啊因为啊溢出啊把程序给搞崩溃了啊这样一种情况叫做格式化的字符串攻击。

03

题目答案

好!我们再来看这道题,大家考试的时候注意一下那么这道题你就会做了吧,正确答案就是B选项:暴力攻击

文字丨手敲

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OSh6PxZGJI39vDLFjY0d61oQ0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。
领券