首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C语言代码,回答问题1至问题4,将解答写在答题纸的对应栏内。 【说明】 在客户服务器通信模型中,客户端需要每隔一定时间向服务器发送数据包,以确定服务器是否掉线,服务器也能以此判断客户端是否存活。这种每隔固定时间发一次的数据包也称为心跳
阅读下列说明和C语言代码,回答问题1至问题4,将解答写在答题纸的对应栏内。 【说明】 在客户服务器通信模型中,客户端需要每隔一定时间向服务器发送数据包,以确定服务器是否掉线,服务器也能以此判断客户端是否存活。这种每隔固定时间发一次的数据包也称为心跳
admin
2020-04-30
73
问题
阅读下列说明和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
信息安全工程师下午应用技术考试
软考中级
相关试题推荐
(2010上项管)某系统集成企业进行业务流程重组,在实施的过程中企业发生了多方面、多层次的变化,假定该企业的实施是成功的,则______不应是该实施所带来的变化。
(2008下项管)根据《计算机软件质量保证计划规范GB/T12504-1990》规定,______是指在软件开发周期中的一个给定阶段的产品是否达到在上一阶段确立的需求的过程。
(2006上监理)应用系统开发所需要的成本和资源估算属于可行性研究中的______研究内容。
(2012上集管)网络协议和设备驱动软件经常采用分层架构模式,其主要原因是______。
(2012下项管)一个自动化设计团队应该熟悉最新的自动装配技术,团队可通过一系列的途径得到这种知识,它可以雇佣一个专门的项目问题专家,可以请一个顾问,可以将一个现有的工程师送去参加有关机器人的讲座或者一个制造部门的人加入团队。每一种方法的相关成本必须在项目
(2011上项管)资源分析人员在对某项目进行活动资源估算分析时,发现的主要问题是:该项目依赖张工的经验和个人能力,但同时张工还在其他项目中担任重要角色。为了保证项目资源的使用不发生冲突,资源分析人员在进行资源估算时应提交______。
(2013上集管)信息系统开发是一项艰巨的工作,为实现信息系统开发在效率、质量、成本方面的要求,选择合理的开发方法起着非常重要的作用,______的主要特点是:严格区分工作阶段,每个阶段都有明确的任务和取得成果,强调系统的整体性和系统开发过程顺序,开发过程
(2013上项管)攻击者通过搭线或在电磁波辐射范围内安装截收装置等方式获得机密信息,或通过对信息流量和流向、通信频率和长度等参数的分析推导出有用信息的威胁称为______。
(2012上集管)某集成企业在进行风险定性分析时,考虑了风险的几种因素:①威胁,指风险对项目造成的危害程度;②机会,指对项目带来的收益程度;③紧迫性,对风险亟待处置的程度;④风险发生的概率。关于该公司的定性风险分析,下列说法中,______是不正确的。
在层次化网络设计方案中,通常在(18)实现网络的访问策略控制。
随机试题
A.乳头状腺癌B.滤泡状腺癌C.未分化癌D.髓样癌E.转移癌分泌大量降钙素的甲状腺癌是
女性,32岁,进行性膀胱刺激症状,经抗生素治疗不见好转,且伴有右侧腰部胀痛及午后潮热。为了解患肾功能及形态的病理改变,最有价值的检查是
肠内抗阿米巴药对肠内和组织内阿米巴滋养体均有杀灭作用
伤寒沙门菌的致病特点是
建筑钢材伸长率越大,说明钢材的()。
下列边坡支挡中属于路基边坡支挡的主要有()。
根据城镇土地使用税的有关规定,下列表述正确的有()。
关于标准和标准化,下列说法不正确的是()。
2008年,山东省全面推进素质教育,基础教育课程及考试评价制度改革顺利进行。职业教育发展良好,校企结合、工学结合加快,建立了6个省级职教集团。普通高等教育招生规模首次超过50万人,其他各类教育协调发展。全省拥有各种艺术表演团体119个,艺术表演场
采用IEEE802.11b标准将两栋楼内的局域网互连为一个逻辑网络,应使用的无线设备是()。
最新回复
(
0
)