首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C语言代码,回答问题1至问题4,将解答写在答题纸的对应栏内。 【说明】 在客户服务器通信模型中,客户端需要每隔一定时间向服务器发送数据包,以确定服务器是否掉线,服务器也能以此判断客户端是否存活。这种每隔固定时间发一次的数据包也称为心跳
阅读下列说明和C语言代码,回答问题1至问题4,将解答写在答题纸的对应栏内。 【说明】 在客户服务器通信模型中,客户端需要每隔一定时间向服务器发送数据包,以确定服务器是否掉线,服务器也能以此判断客户端是否存活。这种每隔固定时间发一次的数据包也称为心跳
admin
2020-04-30
59
问题
阅读下列说明和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
信息安全工程师下午应用技术考试
软考中级
相关试题推荐
(2007下软设)UML中有多种类型的图,其中,______(1)对系统的使用方式进行分类,______(2)显示了类及其相互关系,______(3)显示人或对象的活动,其方式类似于流程图,通信图显示在某种情况下对象之间发送的消息,______(4)与通信
(2009下项管)一般而言,项目的范围确定后,项目的三个基本目标是______。
(2010上项管)大型项目可能包括一些超出单个项目范围的工作。项目范围是否完成以在______中规定的任务是否完成作为衡量标志。①项目管理计划;②项目范围说明书;③WBS;④产品验收标准;⑤更新的项目文档;⑥WBS字典
(2012上项管)外包模式是近些年来非常重要的管理概念和经营方法,企业将其部分业务或服务近些外包可以为其带来很多利益,以下______不属于外包可以为企业带来的益处。
(2009下项管)根据企业内外环境的分析,运用SWOT配比技术就可以提出不同的企业战略。S-T战略是______。
(2014上集管)根据《计算机软件质量保证计划规范GB/T12504-1990》规定,为确保软件的实现满足需求,需要一些基本的文档。______不属于基本文档。
(2013上项管)某立项负责人编制了一份ERP开发项目的详细可行性研究报告,目录如下:①概述;②需求确定;③现有资源;④技术方案;⑤进度计划;⑥项目组织;⑦效益分析;⑧协作方式;⑨结论。该报告中欠缺的必要内容是______。
(2010下监理)如果380V电力电缆(承载功率<2kVA)与综合布线电缆都在接地的线槽中,且平行长度<10m,则两条电缆间最小敷设间距______mm。
(2012上集管)某集成企业在进行风险定性分析时,考虑了风险的几种因素:①威胁,指风险对项目造成的危害程度;②机会,指对项目带来的收益程度;③紧迫性,对风险亟待处置的程度;④风险发生的概率。关于该公司的定性风险分析,下列说法中,______是不正确的。
随机试题
A.急性心房颤动B.阵发性心房颤动C.持续性心房颤动D.永久性心房颤动男性,47岁,心悸3年,动态心电图检查示:快心室率心房颤动。服用胺碘酮不能转复为窦性心律。应诊断为
关于二尖瓣狭窄的超声心动图征象的描述,不正确的是
12岁女孩,因高热、寒战3天,行右臀部青霉素注射,但一周来仍持续高热,右髋部疼痛,不能站立行走,右下肢呈外旋位,右髋活动受限,右臀部肿胀,皮温增高,右髋前方有深压痛,X线检查(-),初步诊断为右髋化脓性关节炎。化脓性关节炎可导致
在葡萄糖的有氧氧化过程中和脂肪酸的β-氧化过程中都生成一个同样的2C代谢中间产物,然后进入三羧酸循环被彻底分解为二氧化碳和水。葡萄糖供给过多时,由这个物质可以合成
影响外伤感染演变的因素中,下列哪项是错误的
工程项目总价表和金额按()的合计金额填写。
我国商业银行控制贷款资产风险的主要措施有()。
根据土地增值税法律制度的规定,下列情形中,免予缴纳土地增值税的有()。
甲在空调上使用“兰花”注册商标。根据商标的分类,甲的“兰花”商标能够被归入的商标类型有()。
以下关于Python循环结构的描述中,错误的是()。
最新回复
(
0
)