首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C语言代码,回答问题1至问题4,将解答写在答题纸的对应栏内。 【说明】 在客户服务器通信模型中,客户端需要每隔一定时间向服务器发送数据包,以确定服务器是否掉线,服务器也能以此判断客户端是否存活。这种每隔固定时间发一次的数据包也称为心跳
阅读下列说明和C语言代码,回答问题1至问题4,将解答写在答题纸的对应栏内。 【说明】 在客户服务器通信模型中,客户端需要每隔一定时间向服务器发送数据包,以确定服务器是否掉线,服务器也能以此判断客户端是否存活。这种每隔固定时间发一次的数据包也称为心跳
admin
2020-04-30
45
问题
阅读下列说明和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下项管)以下关于项目目标的论述,不正确的是______。
(2011上集管)以下对信息系统集成的描述不正确的是______。
(2011上项管)围绕大型项目的目标管理,下列说法不正确的是______。
(2014下项管)项目范围规划是确定项目范围并编写项目说明书的过程。针对大型、多项目,一般的做法是______。
(2011上项管)以下关于企业战略说法中,不正确的是______。
(2009上软评)软件工程每一个阶段结束前,应该着重对可维护性进行复审。在系统设计阶段的复审期间,应该从______出发,评价软件的结构和过程。
(2009下架构)电子数据交换(EDI)是电子商务活动中采用的一种重要的技术手段。以下关于EDI的叙述中,错误的是______。
(2010上监理)计算机综合布线过程中,铺设金属管应尽量减少弯头,按照规定,每根金属管的弯头应不超过______(1)。如果在金属管中需要串接3条电缆,电缆测量总长度为1600米,则至少需要订货的电缆长度为_______(2)。(1)
(2009上软评)下面关于加密的说法中,错误的是______。
(2013下集管)(2009下架构)信息安全策略应该全面地保护信息系统整体的安全,网络安全体系设计是逻辑设计工作的重要内容之一,可从物理线路安全、网络安全、系统安全、应用方面来进行安全体系的设计与规划。其中,数据库的容灾属于______的内容。
随机试题
管式泵的游动阀也称为吸入阀,它除了有阀球、阀座、阀罩外还有打捞头,供油井作业时捞出或便于其他作业等。()
购置新建商品房,其缴纳房产税的时间是()
芍药汤中的反佐药为( )。
区域环境质量评价的内容包括
按定额反映的生产要素消耗内容分类,可以把工程建设定额分为()。
某综合楼工程项目合同价为1750万元,该工程签订的合同为可调值合同。合同报价日期为1999年4月1日。施工单位1999年第4季度完成产值是710万元。工程人工费、材料费构成比例以及相关季度造价指数如表1所示:在施工过程中,发生如下几项事件:
某企业为增值税一般纳税人,2016年6月新建厂房,当月委托另一单位为其建筑设计,取得增值税专用发票上注明价款100万元,并按现行规定抵扣了进项税额,7月因管理不善发生非正常损失,则该企业7月相关账务处理正确的有()。
硬货币是()。
手机对于()相当于()对于保健
A、Becausesheneedstoflyhomeovertheschoolbreak.B、BecauseherroommatewillflytoHawaiitobuynewclothes.C、Becauses
最新回复
(
0
)