首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C语言代码,回答问题1至问题4,将解答写在答题纸的对应栏内。 【说明】 在客户服务器通信模型中,客户端需要每隔一定时间向服务器发送数据包,以确定服务器是否掉线,服务器也能以此判断客户端是否存活。这种每隔固定时间发一次的数据包也称为心跳
阅读下列说明和C语言代码,回答问题1至问题4,将解答写在答题纸的对应栏内。 【说明】 在客户服务器通信模型中,客户端需要每隔一定时间向服务器发送数据包,以确定服务器是否掉线,服务器也能以此判断客户端是否存活。这种每隔固定时间发一次的数据包也称为心跳
admin
2020-04-30
66
问题
阅读下列说明和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
信息安全工程师下午应用技术考试
软考中级
相关试题推荐
(2011下项管)项目经理为有效管理信息系统集成项目,需要专门的技术和知识来保证,下列说法中正确的是______。
(2011上集管)以下关于信息系统集成项目的特点描述不正确的是______。
(2014下项管)项目章程的制定过程主要关注记录建设方的______、项目立项的理由与背景、对客户需求的现有理解和满足这些需求的新产品、服务或成果。
(2010上项管)大型项目可能包括一些超出单个项目范围的工作。项目范围是否完成以在______中规定的任务是否完成作为衡量标志。①项目管理计划;②项目范围说明书;③WBS;④产品验收标准;⑤更新的项目文档;⑥WBS字典
(2012上项管)大型信息技术项目一般在需求不十分清晰的情况下开始,项目分成两个主要阶段:需求定义阶段和需求实现阶段。关于大型信息技术项目的需求管理,______的说法是正确的。
(2014上项管)绩效评价主要采用成本效益分析法、比较法、因素分析法、最低成本法、公众评判法等方法。下列叙述中属于成本效益分析法的是______。
(2010上集管)为了解决C/S模式中客户机负荷过重的问题,软件架构发展形成了______模式。
(2011下项管)______不能作为检验WBS是否定义完全、项目的所有任务是否都被完全分解的依据。
(2005下项管)为了保障数据的存储和传输安全,需要对一些重要数据进行加密。由于对称密码算法______(1),所以特别适合对大量的数据进行加密。国际数据加密算法IDEA的密钥长度是______(2)位。(2)
(2006下项管)802.11标准定义了3种物理层通信技术,这3种技术不包括______。
随机试题
间接融资是指拥有暂时闲置货币资金的单位通过存款的形式,或者购买银行、信托、保险等金融机构发行的有价证券,将其暂时闲置的资金先行提供给这些金融中介机构,然后再由这些金融机构以贷款、贴现等形式,或通过购买需要资金的单位发行的有价证券,把资金提供给这些单位使用,
对各项政策方案效果的预测性分析和比较,这是政策方案的()
66.有关免疫抑制剂与药物、食物同服的影响,说法正确的有
A、Onmanyroutes,airlineshavelostupto90%oftheirpassengerstohighspeedtrains.B、ThespeedtrainservicebetweenParis
下列选项中,口服剂型药物的生物利用度顺序正确的是()。
小周是一个饲料厂的销售员,与各方面有广泛的接触,他认为法律没有人重要,有人、有朋友就有法律。他的这种认识属于下列哪一选项?()
北京丽美服装有限公司(110451××××)开展来料加工业务,加工成品返销韩国。北京丽美服装有限公司委托北京顺宇国际货运有限公司(110482××××)办理出口报关手续。货物从北京运输到天津,经船舶“HONGYUNV701E”号运输到韩国。其加工登
下列各项中,不能增加企业核心竞争力的是()。
关于公安执法监督说法正确的是()。
下面程序运行时,若输入395,则输出结果是()。PrivateSubCmdl_Click()Dima%a=InputBox(“请输入一个3位整数”)PrintaMod10,
最新回复
(
0
)