首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C语言代码,回答问题1至问题4,将解答写在答题纸的对应栏内。 【说明】 在客户服务器通信模型中,客户端需要每隔一定时间向服务器发送数据包,以确定服务器是否掉线,服务器也能以此判断客户端是否存活。这种每隔固定时间发一次的数据包也称为心跳
阅读下列说明和C语言代码,回答问题1至问题4,将解答写在答题纸的对应栏内。 【说明】 在客户服务器通信模型中,客户端需要每隔一定时间向服务器发送数据包,以确定服务器是否掉线,服务器也能以此判断客户端是否存活。这种每隔固定时间发一次的数据包也称为心跳
admin
2020-04-30
58
问题
阅读下列说明和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下架构)面向对象的设计模型包含以______(1)表示的软件体系结构图,以______(2)表示的用例实现图,完整精确的类图,针对复杂对象的状态图和用以描述流程化处理的活动图等。(2)
(2007下项管)某电影公司计划使用IT系统把全国各地抗击洪水的感人事迹做成一个有史以来最好的数字格式纪录片,项目承建方允许项目经理使用任何需要的资源,但是项目经理提出的能胜任此任务的最佳人选却正在执行另一个项目。叙述______是正确的。
(2013下项管)企业为显著提高产品质量、工作效率和服务能力,并显著控制成本,对当前业务流程进行破坏性的重新设计称为业务流程重组(BPR),下列______原则可以有效指导BPR项目实施。
(2007下项管)商业智能(BI)的核心技术是逐渐成熟的数据仓库(DW)和______。
(2010下网工)使用PERT图进行进度安排,不能清晰地描述______(1),但可以给出哪些任务完成后才能开始另一些任务。下面PERT图所示工程从A到K的关键路径______(2)(图中省略了任务的开始和结束时刻)。(1)
(2013上集管)信息系统开发是一项艰巨的工作,为实现信息系统开发在效率、质量、成本方面的要求,选择合理的开发方法起着非常重要的作用,______的主要特点是:严格区分工作阶段,每个阶段都有明确的任务和取得成果,强调系统的整体性和系统开发过程顺序,开发过程
(2012上项管)一家公司需要确定使用为期5年的一种设备的更换策略。已知各年购买设备的价格和各年龄设备的维修价格如表1和表2所示:最优的设备更换策略中,总费用是______。
(2006下系分)在UML的通用机制中,_______(1)用于把元素组织成组;_______(2)是系统中遵从一组接口规范且付诸实现的物理的、可替换的软件模块。(2)
(2009上网工)包过滤防火墙对通过防火墙的数据包进行检查,只有满足条件的数据包才能通过,对数据包的检查内容一般不包括______。
为了保障数据的存储和传输安全,需要对一些重要数据进行加密。由于对称密码算法1.____,所以特别适合对大量的数据进行加密。国际数据加密算法IDEA的密钥长度是2.____位。1.____A.比非对称密码算法更安全B.比非对称密码算法密钥
随机试题
Arapidmeansoflong-distancetransportationbecameanecessityfortheUnitedStatesassettlementspreadfartherwestward.F
A.角膜B.房水C.晶状体D.玻璃体E.瞳孔调节所导致的眼屈光动态改变,是由于哪个屈光组分所致
在给女性患者确定处方强度时,运动中绝对不能超过的最高强度应相当于最大功能(按梅脱计)的
A.血清蛋白区带电泳B.免疫电泳C.免疫固定电泳D.免疫球蛋白的定量测定E.尿本周蛋白检测血清中检测M蛋白的筛选应做
西甲公司与英超公司签订有偿委托合同,由西甲公司委托英超公司采购200台空调,并预先支付购买空调的费用30万元。英超公司经考察发现A公司有一批物美价廉的空调,遂以自己的名义与A公司签订了一份空调购买合同,双方在合同中约定:英超公司从A公司购进200台空调,总
2,38,80,132,(),282。
设函数f(x)任点x=a处可导,则函数丨f(x)丨在点x=a处不可导的允分条件是
数据流图(DFD)中的有向箭头(→)表示
UniversitiesintheUSThereare【T1】______intheUnitedStates.Nearlyhalfofthe【T2】______inAmericagoontocollege.Mos
TheSupremeCourt’sdecisionsonphysician-assistedsuicidecarryimportantimplicationsforhowmedicineseekstorelievedying
最新回复
(
0
)