首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C语言代码,回答问题1至问题4,将解答写在答题纸的对应栏内。 【说明】 在客户服务器通信模型中,客户端需要每隔一定时间向服务器发送数据包,以确定服务器是否掉线,服务器也能以此判断客户端是否存活。这种每隔固定时间发一次的数据包也称为心跳
阅读下列说明和C语言代码,回答问题1至问题4,将解答写在答题纸的对应栏内。 【说明】 在客户服务器通信模型中,客户端需要每隔一定时间向服务器发送数据包,以确定服务器是否掉线,服务器也能以此判断客户端是否存活。这种每隔固定时间发一次的数据包也称为心跳
admin
2020-04-30
62
问题
阅读下列说明和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)与通信
(2010下项管)以下关于项目目标的论述,不正确的是______。
(2007下项管)业务流程重组的实施步骤包括:项目的启动,拟定变革计划,建立项目团队,重新设计______并实施,持续改进,重新开始。
(2013上集管)某政府部门需要改造现有信息系统,目前正在开展项目立项工作,该项目经初步投资估算确定的投资额为950万,而项目可行性研究报告,得到批复确定为890万。这种情况下建设单位恰当的做法是______。
(2010下架构)在客户机/服务器系统开发中,采用______时,应将数据层和数据处理层放置于服务器,应用逻辑层、表示逻辑层和表示层放置于客户机。
(2010下项管)某OA系统处于试运行阶段,用户反映不能登录,承建方现场工程师需要对导致该问题的各种原因进行系统分析,使用______工具比较合适。
(2014下项管)根据《软件工程术语GB/T11457-2006》的定义,连接两个或多个其它部件,能为相互间传递信息的硬件或软件部件叫做______。
(2014上集管)由于在执行任务时,遇到了超出想象的困难,项目团队成员之间开始争执,互相指责,并开始怀疑项目经理的能力。按照项目团队建设的阶段来划分,该阶段属于______。
(2007下项管)为了对计算机信息系统的安全威胁有更全面、更深刻的认识,信息应用系统安全威胁的分类方法一般用______三种“综合分类”方法。
假设A和B之间要进行加密通信,则正确的非对称加密流程是()。①A和B都要产生一对用于加密和解密的加密密钥和解密密钥②A将公钥传送给B,将私钥自己保存,B将公钥传送给A,将私钥自己保存③A发送消息给B时,先用B的公钥对信
随机试题
引进500#氨压缩浅冷装置ME控制系统中,如果某个模拟量的输入或输出为不正常的传输数据,这时应检查()V电源及电源线或保险。
下列关于涉外民事诉讼中对在我国领域内没有住所的当事人送达诉讼文书,其说法正确的是
CT扫描对复杂骨关节结构显示清晰。关于骨关节CT扫描,下列错误的是
A.咳嗽气喘B.痰核瘰疬C.头晕目眩D.神志昏糊E.肢体麻木
A.第一心音分裂多见B.第二心音分裂多见C.舒张期奔马律多见D.第一心音增强多见E.第二心音减弱多见
刘、关、张三人准备筹建一个有限责任公司,注册资本为200万元,其中,刘出资20万元,关、张各出资90万元。在他们拟订的公司章程中,下列哪项条款是不合法的?()
WhenmyfamilymovedtoAmericain2010fromasmallvillageinGuangdong,China,webroughtnotonlyourluggage,butalsoour
Thehumanbeinglongsforasenseofbeingaccomplished,ofbeingabletodothings,withhishand,withhismind,withhiswill
以下叙述中错误的是
数字货币与传统纸币相比,流通时成本更低,能够加速经济活动,增加透明度。(facilitate)
最新回复
(
0
)