用户在调用gets()函数时输入什么样式的字符串,可以在不知道原始口令“Secret”的情况下绕过该口令验证函数的限制?
暂无
阅读下列说明和代码,回答问题1和问题2,将解答写在答题纸的对应栏内。
【说明】
某一本地口令验证函数(C语言环境,X86_32指令集)包含如下关键代码;某用户的口令保存在字符数组origPassword中,用户输入的口令保存在字符数组userPassword中,如果两个数组中的内容相同则允许进入系统。
[...]
Char origPassword[12]=“Secret”;
Char userPassword[12];
[...]
gets(userPassword); /* 读取用户输入的口令*/
[...]
If(strncmp(origPassword,userPassword,12)!=0)
{
printf(“Password,doesn’t match!\n”);
exit(-1);
}
[...]
/* 口令认证通过时允许用户访问*/
[...]
用户在调用gets()函数时输入什么样式的字符串,可以在不知道原始口令“Secret”的情况下绕过该口令验证函数的限制?
上述代码存在什么类型的安全隐患?请给出消除该安全隐患的思路。