专业信息安全工程师网站|培训机构|服务商(2021信息安全工程师学习QQ群:327677606,客服QQ:800184589)

软题库 培训课程
当前位置:信管网 >> 信息安全工程师 >> 案例分析 >> 文章内容
2021年下半年信息安全工程师《案例分析》真题模拟试题(8)
来源:信管网 2021年10月30日 【所有评论 分享到微信
  • 试题一:阅读下列说明,回答问题 1 至问题 4 ,将解答写在答题纸的对 应栏内。
    【说明】
    基于 Windows32 位系统分析下列代码,回答相关问题 。
    void Challenge(char *str)
    {
    char temp[9]={0};
    strncpy(temp,str,8);
    printf("temp=%s\n",temp);
    if(strcmp(temp"Please!@")==0){
    printf("KEY: ****");
    }
    }
    int main(int argc,char *argv[ ])
    {
    Char buf2[16]
    Int check=1;
    Char buf[8]
    Strcpy (buf2, "give me key! !");
    strcpy(buf,argv[1]);
    if(check==65) {
    Challenge(buf);
    }
    else {
    printf("Check is not 65 (%d) \n Program terminated!!\n",check);
    }
    Return 0;
    }
    【问题 1】(3 分)
    main 函数内的三个本地变量所在的内存区域称为什么?它的两个最基本操作是什么?
    【问题 2】(3分)
    画出buf,check,buf2 三个变量在内存的布局图。

    【问题 3】(2分)
    应该给程序提供什么样的命令行参数值(通过argv变量传递)才能使程序执行流程进入判断语句 If(check=65)....然后调用challenge( )函数。
    【问题4】(4分)
    上述代码所存在的漏洞名字是什么,针对本例代码,请简要说明如何修正上述代码以修补次漏洞。

    查看答案

    参考答案:

    参考解析:www.cnitpm.com/st/327636549.html

    信管网考友试题答案分享:

    信管网北京市电信考友:
    1、缓存区,出栈和入栈 2、buf 8,2格 check 65 buf2 16 3、argv=65 4、缓存溢出

    信管网jackdong:
    1、堆栈,push(压栈)或者pop(弹栈)操作。 2、buf8字节 check4字节 buf2 16字节。 3、覆盖超过buf数组个字节,也就是输入参数,例如:********a,注意大小端。前面8个任意的非零字符都可以,后跟一个大写a字符,因为a字符的ascⅱ码值等于65。 4、缓存溢出或者栈溢出 对输入参数的长度进行检查。

    信管网jackdong:
    1、堆栈,push(压栈)或者pop(弹栈)操作。 2、buf8字节 check4字节 buf2 16字节。 3、覆盖超过buf数组个字节,也就是输入参数,例如:********a,注意大小端。前面8个任意的非零字符都可以,后跟一个大写a字符,因为a字符的ascⅱ码值等于65。 4、缓存溢出或者栈溢出 对输入参数的长度进行检查。

    信管网chenyuntao:
    问题1:堆栈。入栈和出栈。<br>问题2:从低地址到高地址,buf占两行,check占1行,buf2占4行。<br>问题3:输入的字符串长度大于8个,且第9个字符为大写字母a。<br>问题4:缓冲区溢出漏洞。加入检查输入字符串长度的代码,使其不超过8个,可以修补此漏洞。

    信管网cnitpm28151895373:
    1.堆栈,push和pop<br>2. buff2<br>    check<br>    buf<br>3前8个字符为任意值,第九个字符为阿斯克码为65值的字符即为a。<br>4.缓冲区溢出<br>使用授权的工具开发正确的程序。禁用不安全的函数,使用输入验证。静态分析验证指针的完整性

  • 试题二:阅读下列说明,回答问题 1 至问题 5,将解答写在答题纸的对 应栏内。
    【说明】
    DES 是一种分组密码,己知 DES 加密算法的某个 S 盒如表 4-1 所示。

    【问题1】 (4分)
    请补全该 S 盒,填补其中的空(1) - (4),将解答写在答题纸的对应栏内。
    【问题 2】 (2分)
    如果该 S 盒的输入为 110011,请计算其二进制输出。
    【问题3】(6分)
    DES加密的初始置换表如下:

    置换时,从左上角的第一个元素开始,表示输入的明文的第58位置换成输出的第1位,输入明文的第50位置换成输出的第2位,从左至右,从上往下,依次类推。
    DES加密时,对输入的64位明文首先进行初始置换操作。
    若置换输入的明文M=0123456789ABCDEF(16进制),请计算其输出(16进制表示)。
    【问题4】(2分)
    如果有简化的DES版本,其明文输入为8比特,初始置换表IP如下:
    IP:2 6 3 1 4 8 5 7
    请给出其逆初始置换表。
    【问题5】(2分)
    DES加密算法存在一些弱点和不足,主要有密钥太短和存在弱密钥。请问,弱密钥的定义是什么?

    查看答案

    参考答案:

    参考解析:www.cnitpm.com/st/3276125797.html

    信管网考友试题答案分享:

    信管网cnitpm177319310:
    问题1 (1)10 (2)6 (3)1 (4)11 问题2 0100 问题5 弱密钥,密钥太短,并且可能存在密钥相同,

    信管网cnitpm50331607771:
    一、10 6 1 11 二、0100 三、 四 4 1 3 5 7 2 8 6 五、弱密钥分成两个部分 全1或者全0,这样的每次加密的密钥都相同 对初始秘钥k ,若通过密钥生成算法生成的圈(子)密钥都相同,则成k为弱密钥 半弱密钥,有些种子密钥只能生成两个不同的子密钥,这种种子密钥称为半弱密钥,半弱密钥会将明文加密成相同的密文,

    信管网cnitpm50331607771:
    一、10 6 1 11 二、0100 三、 四 4 1 3 5 7 2 8 6 五、弱密钥分成两个部分 全1或者全0,这样的密钥加密的结果都相同

    信管网jackdong:
    1、10 6 1 11 2、0100 3、cc00ccfff0aaf0aa 4、41357286 5、

    信管网cnitpm28151895373:
    1.10,6,1,11<br>2.0100<br>3.m=0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111<br>    ip=1100 1100 0000 0000 1100 1100 1111 1111 1111          <br>0000 1010 1010 1111 0000 1010 1010<br>      =cc00ccfff0aaf0aa<br>4.-ip=41357286<br>5.存在一个密钥k,由这个密钥k所产生的子密钥相同,就称这个密钥是弱密钥。

扫码关注公众号

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

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

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

相关内容

发表评论  查看完整评论  

推荐文章