某一本地口令验证函数(c语言环境,x86_32指令集)包含如下关键代码:某用户的口令保存在字符数组origpassw

来源:信管网

2017年04月16日 【所有评论】

隐形人(cnitpm.com) 14:57:54

阅读下列说明和代码,回答问题1和问题2,将解答卸载答题纸的对应栏内。

【说明】

某一本地口令验证函数(C语言环境,X86_32指令集)包含如下关键代码:某用户的口令保存在字符数组origPassword中,用户输入的口令保存在字符数组userPassword中,如果两个数组中的内容相同则允许进入系统。

【问题1】(4分)

用户在调用gets()函数时输入什么样式的字符串,可以在不知道原始口令“Secret”的情况下绕过该口令验证函数的限制?

【问题2】(4分)

上述代码存在什么类型的安全隐患?请给出消除该安全隐患的思路。

七酚(cnitpm.com) 14:59:11

这个是信息安全工程师的考试题吗

2017-03-27

隐形人(cnitpm.com) 15:00:03

是的

七酚(cnitpm.com) 15:00:24

还考代码啊

七酚(cnitpm.com) 15:00:55

突然发现难度好大

七酚(cnitpm.com) 15:01:11

这个看着是在破译登录密码规则

隐形人(cnitpm.com) 15:01:16

是想考缓冲区溢出这个知识点的

隐形人(cnitpm.com) 15:01:29

但是给的答案我看不明白

55654424(cnitpm.com) 15:02:47

看代码崩溃崩溃

15:11:51 5.⒋з⒉︱加入本群。

15:12:57碧海蓝天加入本群。

JOKER(cnitpm.com) 15:16:43

那个就是C语言里的字符串比较啊

隐形人(cnitpm.com) 15:17:13

是的,但是第一小问的答案没看懂

JOKER(cnitpm.com) 15:19:00

应该是指gets()函数不安全,容易造成缓冲区溢出

隐形人(cnitpm.com) 15:20:09

是的,但是第一问的答案说输入24个字符就能绕过密码,顺利通过,我理解不了

松 竹 梅(cnitpm.com) 15:22:47

应该是某些特殊字符

冬日暖阳(cnitpm.com) 15:23:20

覆盖

隐形人(cnitpm.com) 15:23:59

我编译了一下,答案是对的

松 竹 梅(cnitpm.com) 15:25:40

光禄勋(cnitpm.com) 15:26:45

get应该是读到读到换行符或EOF时停止,没上限

光禄勋(cnitpm.com) 15:27:03

你编译的时候没警告么?

光禄勋(cnitpm.com) 15:27:26

the `gets' function is dangerous and should not be used.

JOKER(cnitpm.com) 15:28:05

visual studio会提示使用gets_s(cnitpm.com)

光禄勋(cnitpm.com) 15:29:15

我现在没想通,输入24个字符,应该是覆盖了什么东西,到底覆盖了啥?

xuan(cnitpm.com) 15:33:30

大概就是~gets这个口令溢出~就是我输入一个24个字符的密码~头12个和后12个一样~然后系统由于溢出~把后12个判断为系统预留的密码了~这样前后对应就能进入了~

JOKER(cnitpm.com) 15:34:47

应该是这样的

光禄勋(cnitpm.com) 15:35:13

妹的,突然间没信心了

隐形人(cnitpm.com) 15:38:56

应该是的,这是异常的情况,编译出来也确实是这么个结果

温馨提示:因考试政策、内容不断变化与调整,信管网网站提供的以上信息仅供参考,如有异议,请以权威部门公布的内容为准!

信管网致力于为广大信管从业人员、爱好者、大学生提供专业、高质量的课程和服务,解决其考试证书、技能提升和就业的需求。

信管网软考课程由信管网依托10年专业软考教研倾力打造,官方教材参编作者和资深讲师坐镇,通过深研历年考试出题规律与最新大纲,深挖核心知识与高频考点,为学员考试保驾护航。面授、直播&录播,多种班型灵活学习,满足不同学员考证需求,降低课程学习难度,使学习效果事半功倍。

C语言口令,某一本地口令验证函数(c语言环境,x86_32指令集)包含如下关键代码:某用户的口令保存在字符数组origpassw...相关推荐

  1. C语言编程>第二十二周 ④ 从键盘输入一组小写字母,保存在字符数组str中,请补充fun函数,该函数的功能是:把字符数组str中字符下标为偶数的小写字母转换成对应的大写字母,结果仍保存在原数组

    例题:从键盘输入一组小写字母,保存在字符数组str中,请补充fun函数,该函数的功能是:把字符数组str中字符下标为偶数的小写字母转换成对应的大写字母,结果仍保存在原数组中. 例如,输入 " ...

  2. 【C语言程序】将字符串“Where there is a will,there is away.”保存到字符数组中,然后将其翻译成中文“有志者事竟成。”

    题出自----------------------------------零基础学C语言 #include<stdio.h> int main() {char str1[50]=" ...

  3. c语言中怎么调用自己定义的函数,c语言中怎么调用自己定义的函数?

    一,函数调用的一般形式为: 函数名(实参列表); 实参可以是常数.变量.表达式等,多个实参用逗号,分隔. 在C语言中,函数调用的方式有多种,例如: 在函数调用中还应该注意的一个问题是求值顺序的问题.所 ...

  4. c语言求三个数最值非函数,C语言编程:从键盘任意输入三个数,编写求其最大值、最小值的函数,用指针作函数参数实现。...

    www.shufadashi.com防采集. C语言编程:从键盘任意输入三个数,编写求其最大值.最小值的函数,用指针作函数参数实现.. #includevoid maxfunction(int*);v ...

  5. c语言if判断正确却不进函数,C语言初学者,为什么满足if条件却不进入,求大老解惑...

    这是一个玩三子棋的代码 #include int main() { const int s=3; int j[s][s]; int X,O; int i,b; int r=-1;//-1平,0 O赢, ...

  6. 关于C语言标识符作用域的说法 正确的是,C语言程序设计-中国大学mooc-汤文兵

    1. 有变量定义: int *p,q; 表示定义了______ A.指针变量p和整型变量q B.两个指针变量p和q C.两个整型变量p和q D.这样定义有语法错 答案:A 2. 设变量定义为" ...

  7. perm函数c语言_理解C语言(三) 字符串处理函数

    1 字符串基础 字符串是一种重要的数据类型,有零个或多个字符组成的有限串行. 定义子串: 串中任意个连续的字符组成的子序列,并规定空串是任意串的子串,任意串也是其自身的子串,如字符串"ade ...

  8. C语言从青铜到王者——数组详解总结【一维数组、二维数组、字符数组、数组实例】

    所谓数组,是指将那些具有相同类型的.数量有限的若干个变量通过有序的方法组织起来的一种便于使用的形式.数组属于一种构造类型,其中的变量被称为数组的元素.数组元素的类型可以是基本数据类型,也可以是特殊类型 ...

  9. php和c语言的字符数组中,字符数组和字符串的区别,C语言字符数组和字符串区别详解...

    C 语言中并不存在字符串这个数据类型,而是使用字符数组来保存字符串.那么,字符数组就一定是字符串吗? 对于这个问题,大多教科书中的回答是"是".其实不然,字符数组和字符串是完全不相 ...

最新文章

  1. NSwagStudio for Swagger Api
  2. MySQL的安装过程
  3. POJ 3614-Sunscreen
  4. unity人物旋转移动代码_游戏诞生之日02 - 美术篇 快速制作人物动画
  5. 压力测试时候Linux系统参数的调优
  6. 03-drawcommands工程分析详解
  7. .Net Core中使用ref和Spanamp;lt;Tamp;gt;提高程序性能
  8. 按键 粘贴上一个命令_合并单元格、选择性粘贴的快捷键都是啥?今天一次告诉你……...
  9. 计算机控制系统视频关守平,国家级精品课《计算机控制系统》课程建设研讨会顺利召开...
  10. SpringBoot2.1.5(45)--- Spring Boot的核心模块
  11. 参与社团活动的意义_大学参加社团活动有意义吗?
  12. .Net 获取IP 地址和计算机名(本地网)
  13. 移动端Vue3框架demo
  14. 计算机的排版方法,计算机编辑排版系统及其方法
  15. 【网络流量识别技术之初级入门篇】
  16. 【CCNA3】思科基本命令汇总+网线线序
  17. 百度推广怎么调整计算机优先,百度推广oCPC的优化技巧是什么?oCPC常见问题汇总...
  18. Windows安装Dolby Vision 杜比视界插件
  19. linux关机了硬盘灯仍然亮着,win10关机硬盘灯还一直亮的原因和解决方法
  20. 计算小分子之间的RMSD

热门文章

  1. 【Elasticsearch】 es 排查问题 explain 使用 内容解释
  2. 90-30-020-源码-任务调度-Kylin任务调度
  3. 【Spring】Spring autowire-candidate解决注入的时候有多个符合的bena
  4. 【Kafka】Kafka SCRAM认证 ERROR [ZooKeeperClient] Auth failed
  5. Spark报错: IOException: Bad connect ack with firstBadlink as xxx:500010
  6. PyCharm下解决Unresolved Reference问题
  7. Flink的Socket案例
  8. Java8 中通过 Stream 对列表进行去重的几种方法
  9. 锁到底是一种怎样的存在?
  10. JavaWeb JDBC初步连接和JDBC连接规范化