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

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

来源:信管网

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

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

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

【说明】

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

420e2e452c5342a77f9a015b0d0f5c73.png

【问题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

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

4f2a88a5e98a7fc2ee073625096e31c6.png

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值