2020.12.1域8错题分析
以下哪一项提供最有效的会话劫持防御?
TLS
复杂会话cookie
SSL
频繁过期Cookie
```解析:
题目问的是最有效防止会话劫持的方式,在这里中我们可以直接排除SSL
SSL有一个缺陷就是被贵宾犬漏洞攻击,所以我们都不要选
复杂会话的cookie没有频繁更换的cookie更优,所以我们可以排除BC
cookie不比得tls更安全,因为我们只是能保护缩短攻击者使用cookie的繁琐性,攻击者可在短时间脚本操作
但是TLS目前来说很安全,因为这种加密技术现在不被破解,并且唯一的攻击方式就是中间人,但是中间人需要的技术难度很大,一般不可能。
Faith正在查看系统上的/ etc / passwd文件,这个文件用shadowed密码配置过。当她检查文件中的一行(交互式登录权限用户的行),她应该在密码字段中看到什么?
明文密码
散列密码
x
*
```解析:
这一题是我对于linux习题的password文件和shadow文件不了解。
首先password是存储用户的信息,shadow文件时存储用户的密码散列信息。
在password中看密码时显示XXXX屏蔽掉的,这是显示不能在这里看,要去shadow文件看
*在习题中代表所有的意思,是一种语言的标识符,常在命令中使用。
明文密码不可能被直接显示。
我们看到这里显示的是一些权限,或者时登陆状态的信息,没有存储密码
看到shadow文件都是密码的散列加密
以下哪一项不是对SQL注入攻击的有效控制?
逃逸
客户端输入验证
参数化
限制数据库权限
```解析:
这题我看到逃逸,直接想到了虚拟机的逃逸漏洞。
A选项应该是翻译问题,sql注入我百度没查到相关的逃逸知识,应该是避开的翻译。
客户端做输入验证是没有效果的,因为客户端的输入验证都可以被绕过,比如burp,如果在客户端进行输入验证,那么很容易被攻击者上传木马到web服务器上。
参数化是一种根据用户输入进行转义的过程,好像是最有效防止sql注入的方式
限制数据库权限也有效防止sql注入,比如我们只允许对应的用户进行select语句,那么这个用户就不能进行del删除语言或者是修改某些文件和查看未授权的信息。
Gary正在设计一个依赖于使用聚合函数的数据库驱动的应用程序。以下哪个数据库并发问题可能与聚合函数一起发生,并且也应该是Gary最关心的问题之一?
丢失更新
不正确的摘要
SQL注入
脏读
```解析:
这题是因为课本上没提及不正确的摘要
脏读和丢失更新,不正确摘要都是并发性造成的问题。
丢失更新:当两个不同的进程更新数据库的时候,如果A已经提交了更新,但是B因为同时与A进行读取,所以不会读取到A更新的结果,仍然以一开始读取到的数据进行计算,那么这个时候就产生了丢失更新。
脏读:当两个进程中,进程A读取了某一个事物,但是没提交,但是这个事物被B读取到了,A之后进行回滚,那么B就是脏读。
不正确摘要:当一个事务使用聚合函数汇总数据的时候,比如使用avg,count函数进行数据统计,但此时事务B进行了数据修改,那么就产生了不正确的摘要,统计的数据不对,因为统计的数值不是修改后的数据。
并发性我们可以根据采取锁定的方式进行,授权用户更改数据,但同时拒绝其它用户查看或更改数据元素。
59.罗杰正在对他的公司开发的税务准备应用程序进行软件测试。最终用户将通过Web访问应用程序,但Roger正在后端进行测试,在Web服务器上评估源代码。罗杰正在进行什么类型的测试?
A:
白盒
正确答案
B:
灰盒
回答错误
C:
蓝盒
D:
黑盒
```解析:
这题题目没有明确说信息只给了一部分,那么只可能是黑盒或者白盒
因为题目说的是评估源代码,那么就是针对源代码进行一个完整性大概性的了解,那么这题选择白盒是最好的。
白盒:全知识层面 黑盒:零知识层面 灰盒:部分层面知识
84.Charles正在开发一个对人类安全有直接影响的关键任务应用程序。时间和成本没有软件正常运行那么重要。根据这些需求,他应该选择下列哪一种软件开发方法?
A:
敏捷
B:
DevOps
回答错误
C:
螺旋
D:
瀑布
正确答案
```解析:
这题错,说明我没熟悉软件开发的一些模型。
首先DevOps是变更管理的一种方法,用于避免开发过程中创建代码,测试和部署到生产缓解中的长时间延迟。通常与敏捷开发紧密配合,大幅缩短开发,测hi和部署软件所需事件。
从题目中我们可以得出,最重要的是软件运行正常,那么我们可以排除A。
瀑布模型分为七个步骤:
1.系统需求 2.软件需求 3.初步涉及 4.详细涉及 5.编码及调试 6.测试 7.运行与维护
瀑布模型:一个阶段完成后才能进入下一个阶段,允许开发者回滚到之前一个状态,从而纠正后续阶段发现的错误。也叫反馈环特征。考虑的是返回先前阶段纠正系统错误的必要性情况下,建立软件开发过程的模型的第一次全面尝试。缺点:只允许回退一个阶段,没有对开发后期发现错误进行处理做出规定。
螺旋模型:螺旋的每次回路都是新系统原型的开发P1,P2,P3表示,通过不断的每一个P1阶段套用瀑布模型的过程开发出成熟的系统。缺点:当需要改进的时候,只允许开发人员回到计划编制阶段。螺旋也叫模型的模型。
101.什么根本的安全问题导致了以下问题?
•跨站脚本攻击
•SQL注入
•缓冲区溢出
•跨站点请求伪造
A:
缺乏API安全性
B:
错误处理不当
C:
不正确或缺少输入验证
正确答案
D:
源代码设计问题
回答错误
```解析:
首先分析,这些问题的原因都是因为缺少验证输入产生的,这是直接原因,但是如果是根本原因我觉得是源代码的设计问题。
102.什么样的应用程序开发方法使用这里所示的周期?
A:
瀑布
B:
螺旋
C:
敏捷
回答错误
D:
RAD
正确答案
```解析:
这题是没接触过,如果排错的话可能做得出,但是我不缺点敏捷有没有模型,不敢选择不太懂的东西。
敏捷:是一种不僵化的软件开发模式,喜欢采用替代的,强调客户需求的和快速开发的新功能,并以迭代方式满足这些需求。
RAD是瀑布模式的替代,太过详细的计划往往输给快速试错的开发方式。
RAD步骤:
需求分析
用户和项目团队一起确定未来系统达到的目标,重点放在实现的业务目标,对于需求严谨性没有太多要求,在原型设计阶段快速调整业务目标和需求能力是关键
用户设计
开发人员构建模型,演示一部分,通过演示给用户得到反馈,根据反馈继续修改原型
开发代码
确定了需要完成的软件,不能偷工减料,关注品质,可伸缩,可维护性
上线
验收测试,部署,用户培训。
requirements planning需求计划 user design用户设计 construction开发 construction验收
104.Susan为其组织的数据提供了一个公共的RESTful API,但希望将其仅限于可信的合作伙伴。她打算使用API密钥。你还会给苏珊什么建议来限制潜在的滥用服务?
A:
限制请求率
正确答案
B:
强制仅使用HTTP请求
C:
由于带宽限制而避免使用令牌
D:
拉黑HTTP请求方式,如GET、POST和PUT
```回答错误
解析:
这题是我不知道RESTful API是什么东西。
RESTful API:用URL定位资源,使用GET,POST,PUT,DELETE来进行增删改查操作。RESTful API就是一套用来规范多种形式的前端和后台进行交互方式。RESTful API是基于HTTP协议的。
RESTful API是无状态的,也就是说只要获取到对应资源的URL,那么就可以直接调用。面向资源是REST最明显的特征,对于同一个资源的一组不同的操作。
我们了解上面那些就行,那么BD是选项正确的,RESTful API使用令牌来确定对象。C也是正确的。