试题详情

试题内容

阅读下列说明和C语言代码,回答问题1至问题4,将解答写在答题纸的对应栏内。
【说明】
在客户服务器通信模型中,客户端需要每隔一定时间向服务器发送数据包,以确定服务器是否掉线,服务器也能以此判断客户端是否存活,这种每隔固定时间发一次的数据包也称为心跳包。心跳包的内容没有什么特别的规定,一般都是很小的包。
某系统采用的请求和应答两种类型的心跳包格式如图4-1所示。

心跳包类型占1个字节,主要是请求和响应两种类型;
心跳包数据长度字段占2个字节,表示后续数据或者负载的长度。
接收端收到该心跳包后的处理函数是process_heartbeat(),其中参数p指向心跳包的报文数据,s是对应客户端的socket网络通信套接字。

【问题1】(4分)
(1)心跳包数据长度字段的最大取值是多少?
(2)心跳包中的数据长度字段给出的长度值是否必须和后续的数据字段的实际长度一致?
【问题2】(5分)
(1)上述接收代码存在什么样的安全漏洞?
(2)该漏洞的危害是什么?
【问题3】(2分)
模糊测试(Fuzzing)是一种非常重要的信息系统安全测评方法,它是一种基于缺陷注入的自动化测试技术。请问模糊测试属于黑盒测试还是白盒测试?其测试结果是否存在误报?
【问题4】(4分)
模糊测试技术能否测试出上述代码存在的安全漏洞?为什么?

查看答案

软题库参考答案:暂时没有答案(仅供参考)

软题库解析:正在加载....

你可能感兴趣的试题

1题:试题一(共14分)
阅读下列说明,回答问题1至问题6,将解答填入答题纸的对应栏内。
【说明】
Linux系统通常将用户名相关信息存放在/etc/passwd文件中,假如有/etc/passwd文件的部分内容如下,请回答相关问题。
security@ubuntu:~$cat/etc/passwd
userl:x:0:0:user:/home/user1:/bin/bash
user2:x:1000:1000:ubuntu64:/home/user2:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
【问题1】(2分)
口令字文件/etc/passwd是否允许任何用户访问?
2题:

阅读下列说明,回答问题1至问题4,将解答填入答题纸的
完整内容请通过题库练习系统作答
2题:

阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
密码学的基本目标是在有攻击者存在的环境下,保证通信双方(A和B)之间能够使用不安全的通信信道实现安全通信。密码技术能够实现信息的保密性、完整性、可用性和不可否认性等安全目标。一种实用的保密通信模型往往涉及对称加密、公钥密码、Hash函数、数字签名等多种密码技术。
在以下描述中,M表示消息,H表示Hash函数,E表示加密算法,D表示解密算法,K表示密钥,SKA表示A的私钥,PKA表示A的公钥,SKB表示B的私钥,PKB表示B的公钥,||表示连接操作。
【问题1】(6分)
用户AB双方采用的保密通信的基本过程如图2-1所示。

请问图2-1所设计的保密通信模型能实现信息的哪些安全日标?图2-1中的用户A侧的H和E能否互换
2题:2.阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应
完整内容请通过题库练习系统作答
1题:1.阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应
完整内容请通过题库练习系统作答
6题:阅读下列说明,回答问题 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