主观

阅读下列说明,回答问题 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分)

上述代码所存在的漏洞名字是什么,针对本例代码,请简要说明如何修正上述代码以修补次漏洞。

参考答案
您可能感兴趣的试题

阅读下列说明,回答问题 1 至问题 7,将解答写在答题纸的对应栏内。

【说明】

扫描技术是网络攻防的一种重要手段,在攻和防当中都有其重要意义。nmap 是一个 开放源码的网络扫描工具,可以查看网络系统中有哪些主机在运行以及哪些服务是开放 的。 namp 工具的命令选项: sS 用于实现 SYN 扫描,该扫描类型是通过观察开放端口和关闭端口对探测分组的响应来实现端口扫描的。

 请根据图 3-1 回答下列问题

【问题1】 (2分)

此次扫描的目标主机的IP地址是多少?

【问题2】(2 分)

SYN 扫描采用的传输层协议名字是什么?

【问题 3】 (2分)

SYN 的含义是什么?

【问题 4】 (4分)

目标主机开放了哪几个端口?简要说明判断依据。

【问题 5】(3分)

每次扫描有没有完成完整的三次握手?这样做的目的是什么?

【问题 6】(5分)

补全表 3-1 所示的防火墙过滤器规则的空(1) - (5),达到防火墙禁止此类扫描流量进入和处出网络 ,同时又能允许网内用户访问外部网页服务器的目的。 

    表 3-1 防火墙过滤器规则表

规则号协议源地址目的地址源端口目的端口ACK动作
1TCP*192.168.220.1/24**(4)拒绝
2TCP192.168.220.1/24*>1024(3)*允许
3(1)192.168.220.1/24*>102453*允许
4UDP*192.168.220.1/2453>1024(5)允许
5(2)*****拒绝

【问题 7】 (2 分)  

       简要说明为什么防火墙需要在迸出两个方向上对据数据包进行过滤。

¥

订单号:

遇到问题请联系在线客服

订单号:

遇到问题请联系在线客服