首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C语言代码,回答问题1至问题4,将解答写在答题纸的对应栏内。 【说明】 在客户服务器通信模型中,客户端需要每隔一定时间向服务器发送数据包,以确定服务器是否掉线,服务器也能以此判断客户端是否存活。这种每隔固定时间发一次的数据包也称为心跳
阅读下列说明和C语言代码,回答问题1至问题4,将解答写在答题纸的对应栏内。 【说明】 在客户服务器通信模型中,客户端需要每隔一定时间向服务器发送数据包,以确定服务器是否掉线,服务器也能以此判断客户端是否存活。这种每隔固定时间发一次的数据包也称为心跳
admin
2020-04-30
93
问题
阅读下列说明和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
信息安全工程师下午应用技术考试
软考中级
相关试题推荐
(2008下项管)某公司欲开发一个在线交易系统。为了能够精确表达用户与系统的复杂交互过程,应该采用UML的______进行交互过程建模。
(2006下项管)项目范围说明书(初步)列出了项目及其相关产品、服务的特性和______以及范围控制和接受的方法。
(2013上项管)某公司刚刚发布了新的5年战略计划后,该公司的一个项目经理从一个客户那里收到一个新的产品要求,这个要求与公司过去5年战略计划相一致,但不符合新战略计划的目标。该产品描述具有有效的商业驱动,并有助于直接推动公司发展,作为项目经理,恰当的做法是
(2013上集管)项目章程在项目管理中起着非常重要的作用,以下对项目章程的描述中______是错误的。
(2009下项管)根据企业内外环境的分析,运用SWOT配比技术就可以提出不同的企业战略。S-T战略是______。
(2010上项管)某企业针对“新一代网络操作系统”开发项目进行可行性论证。在论证的最初阶段,一般情况下不会涉及到______。
(2011下项管)用一系列软件的修改来评价软件体系结构的易修改性,属于基于______的软件体系结构评估方式。
(2012上集管)一个项目经理和他的团队正在使用鱼骨图(Ishikawa图)讨论所发现的一个重大质量问题的原因,这属于质量管理中的______。
(2008上项管)在处理已识别的风险及其根源时,______用来检查并记录风险应对策略的效果以及风险管理过程的效果。
(2009上集管)既可能带来机会、获得利益,又隐含威胁、造成损失的风险,称为______。
随机试题
在项目范围管理中,企业管理层主要关注________。
化工厂生产区登高(离地面垂直高度)()必须系安全带。
我国城市社区教育的开展一般在()
下列不属于X线照片影像的物理因素的是
A、乙酰乙酸B、丙二酸C、丙酮酸D、α一酮戊二酸E、草酰乙酸可以直接转变为谷氨酸的物质是
患者,女性,70岁。慢性支气管炎病史30年。一周前感冒后再次出现咳嗽、咳痰。痰白质黏,伴有呼吸困难、乏力。以“慢性支气管炎合并慢性阻塞性肺气肿”入院治疗。指导患者加强腹式呼吸的原因是
企业战略是指企业为了适应未来环境的变化,寻求长期生存和稳定发展而制定的()的谋划与方略。
学生学习了A×B=B×A后,得出3×5=5×3的结果,这属于()
王家村西瓜大丰收后,全村男女老少分四个组品尝西瓜且每组人数正好一样多,小伙子一人吃1个,姑娘两人吃1个,老人三人吃1个,小孩四人吃1个,一共吃了200个西瓜。问王家村品尝西瓜的共有()。
Theissuepriceofthecompany’sshares_______(对许多人来说太高了).
最新回复
(
0
)