首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C语言代码,回答问题1至问题4,将解答写在答题纸的对应栏内。 【说明】 在客户服务器通信模型中,客户端需要每隔一定时间向服务器发送数据包,以确定服务器是否掉线,服务器也能以此判断客户端是否存活。这种每隔固定时间发一次的数据包也称为心跳
阅读下列说明和C语言代码,回答问题1至问题4,将解答写在答题纸的对应栏内。 【说明】 在客户服务器通信模型中,客户端需要每隔一定时间向服务器发送数据包,以确定服务器是否掉线,服务器也能以此判断客户端是否存活。这种每隔固定时间发一次的数据包也称为心跳
admin
2020-04-30
50
问题
阅读下列说明和C语言代码,回答问题1至问题4,将解答写在答题纸的对应栏内。
【说明】
在客户服务器通信模型中,客户端需要每隔一定时间向服务器发送数据包,以确定服务器是否掉线,服务器也能以此判断客户端是否存活。这种每隔固定时间发一次的数据包也称为心跳包。心跳包的内容没有什么特别的规定,一般都是很小的包。
某系统采用的请求和应答两种类型的心跳包格式如图4—1所示。
心跳包类型占1个宁节,主要是请求和响应两种类型:心跳包数据长度字段占2个字节,表示后续数据或者负载的长度。
接收端收到该心跳包后的处理函数是process—heartbeat(),其中参数P指向心跳包的报文数据,S是对应客户端的socket网络通信套接字。
void process_heartbeat(unsigned char *P,SOCKET s)
{
unsigned short hbtype;
unsigned int payload;
hbtype= *p++; //心跳包类型
n2s(p,payload); //心跳包数据长度
pl=P; //pl指向心跳包数据
if(hbtype==HB_REQUEST){
unsigned char *buffer, *bp;
buffer=malloc(1 + 2 + payload);
bp=buffer; //bp指向刚分配的内存
*bp++=HB RESPONSE; //填充1 byte的心跳包类型
s2n(payload,bp); //填充2 bytes的数据长度
memcpy(bp,pl,payload);
/*将构造好的心跳响应包通过socket s返回给客户端*/
r=wrlte_bytes(s, buffer, 3 +payload);
}
}
(1)上述接收代码存在什么样的安全漏洞?
(2)该漏洞的危害是什么?
选项
答案
存在溢出安全漏洞。 接收端处理代码在组装响应包时,心跳包数据长度字段(payload)采用的是客户端发送的请求包中使用的长度字段,由于心跳包数据长度字段完全由客户端控制,当payload大于实际心跳包数据的长度时,将导致越界访问接收端内存,从而泄露内存信息。 造成的危害:在正常的情况下,response报文中的data就是request报文中的data数据,但是在异常情况下,payload的长度远大于实际数据的长度,这样就会发生内存的越界访问,但这种越界访问并不会直接导致程序异常,(因为这里直接meffcpy后,服务器端并没有使用copy后的数据,而只是简单的进行了回复报文的填充,如果服务端使用了copy的数据也许就可能发现问题)这里使用了memcpy函数,该函数会直接根据长度把内存中数据复制给另一个变量。这样就给恶意的程序留下了后门,当恶意程序给data的长度变量赋值为65535时,就可以把内存中64KB的内存数据通过Response报文发送给客户端,这样客户端程序就可以获取到一些敏感数据泄露。
解析
分配的butier是根据数据包给出的长度字段来分配的,并在memcpy函数实现内存数据拷贝,因此有可能越界读取额外的内存数据,造成信息泄露。
转载请注明原文地址:https://kaotiyun.com/show/fuTZ777K
本试题收录于:
信息安全工程师下午应用技术考试题库软考中级分类
0
信息安全工程师下午应用技术考试
软考中级
相关试题推荐
(2009上项管)______属于组织过程资产。
(2011上项管)大型项目的计划管理过程有其自身的特点。围绕大型项目计划管理过程,下列说法中不正确的是______。
(2005上软评)下列关于软件开发的叙述中,与提高软件可移植性相关的是______。
(2006上监理)应用系统开发所需要的成本和资源估算属于可行性研究中的______研究内容。
(2010上项管)近年来,电子商务在我国得到了快速发展,很多网站能够使企业通过互联网直接向消费者销售产品和提供服务。从电子商务类型来说,这种模式属于______模式。
(2007上监理)利用数据统计方法控制质量的过程有:①进行统计分析;②判断质量问题;③收集整理质量数据;④拟订改进质量的措施;⑤分析影响质量的因素。其步骤是______。
(2012上项管)一家公司需要确定使用为期5年的一种设备的更换策略。已知各年购买设备的价格和各年龄设备的维修价格如表1和表2所示:最优的设备更换策略中,总费用是______。
(2012下项管)假设A和B之间要进行加密通信,则正确的非对称加密流程是______。①A和B都要产生一对用于加密和解密的加密密钥和解密密钥;②A将公钥传给B,将私钥自己保存,B将公钥传送给A,将私钥自己保存;③A发送消息给B
(2012上项管)根据《软件文档管理指南GB/T16680-1996》规定,文档策略是由上级(资深)管理者准备并支持的,对下级开发单位或开发人员提供指导。支持有效文档策略的基本条件中不包括______。
(2011上集管)在某次针对数据库的信息安全风险评估中,发现其中对财务核心数据的逻辑访问密码长期不变。基于以上现象,下列说法正确的是______。
随机试题
在铣床上直接加工精度在IT9以下的孔采用___________加工。
事业部制的优点。
下列关于失血性休克的叙述,错误的是()
红细胞比容是指红细胞
合同之债的法律适用同时涉及其他方面的法律适用.综合涉及意思自治原则。根据我国有关法律的规定.关于涉外民事关系的法律适用,下列哪个领域采用当事人意思自治原则?()
下列关于工程项目财务效益的说法,错误的是()。
通过对体能、知识、技能、能力、个性行为特征与倾向等的使用,可以创造更大的价值,这是人力资源的()。
学生具有向师性的特点,教师的言行是学生学习和模仿的榜样,其言论、行为、为人处事的态度,对学生具有潜移默化的影响.这体现了教师职业的()。
如图所示,甲、乙两个大小相同的实心金属球放置在光滑水平面上,甲球以水平向右的速度碰撞静止的乙球。已知甲球质量大于乙球,则有关碰撞后的情形。下列说法正确的是()。
下列程序的输出结果是______。#include<stdio.h>fun(){staticinta=0;a+=3;printf("%d",a);}main(){intcc;for(C
最新回复
(
0
)