专业信息安全工程师网站|培训机构|服务商(2021信息安全工程师学习QQ群:327677606,客服QQ:800184589)

软题库 培训课程
当前位置:信管网 >> 信息安全工程师 >> 综合知识 >> 文章内容
信息安全工程师知识点:缓冲区溢出
来源:信管网 2019年01月31日 【所有评论 分享到微信

子非鱼𓆝𓆟𓆜𓆞𓆝(cnitpm.com) 21:53:09
有没有大佬给讲一下缓冲区溢出这个知识点啊
MS-14Y9(cnitpm.com) 21:53:34
你c或者c++熟练么?
子非鱼𓆝𓆟𓆜𓆞𓆝(cnitpm.com) 21:53:56
不太熟练 
MS-14Y9(cnitpm.com) 21:54:28
那别问了
子非鱼𓆝𓆟𓆜𓆞𓆝(cnitpm.com) 21:54:40
。。。
大地(cnitpm.com) 21:55:56
最好回答,点赞
MS-14Y9(cnitpm.com) 21:56:06
  在计算机程序中,就是数据使用到了被分配内存空间之外的内存空间。而缓冲区溢出,简单的说就是计算机对接收的输入数据没有进行有效的检测(理想的情况是程序检查数据长度并不允许输入超过缓冲区长度的字符),向缓冲区内填充数据时超过了缓冲区本身的容量,而导致数据溢出到被分配空间之外的内存空间,使得溢出的数据覆盖了其他内存空间的数据。
寒猫猫(cnitpm.com) 21:56:54
越界
MS-14Y9(cnitpm.com) 21:56:56
上面示例的基础上来看一个代码实例,程序如下:
void function(char *str) {
char buffer[16];
strcpy(buffer,str);
}
上面的strcpy()将直接把str中的内容copy到buffer中。这样只要str的长度大于16,就会造成buffer的溢出,使程序运行出错。存在象strcpy这样的问题的标准函数还有strcat(),sprintf(),vsprintf(),gets(),scanf()等。
当然,随便往缓冲区中填东西造成它溢出一般只会出现“分段错误”(Segmentation fault),而不能达到攻击的目的。最常见的手段是通过制造缓冲区溢出使程序运行一个用户shell,再通过shell执行其它命令。如果该程序有root或者suid执行权限的话,攻击者就获得了一个有root权限的shell,可以对系统进行任意操作了。
子非鱼𓆝𓆟𓆜𓆞𓆝(cnitpm.com) 21:58:00
嗯  这个我看明白了  
MS-14Y9(cnitpm.com) 21:59:24
找一段缓冲区溢出的c代码自己打了,输入不同的数值,就能理解了
子非鱼𓆝𓆟𓆜𓆞𓆝(cnitpm.com) 22:00:22
嗯嗯 我试试
MS-14Y9(cnitpm.com) 22:00:27
基本缓冲区溢出的代码都是用 vc6以前写的。vs2003以后都能避免了
MS-14Y9(cnitpm.com) 22:01:30
其实原理没有什么负责的 老代码定义的缓冲区小了,给个数溢出,就通过了
子非鱼𓆝𓆟𓆜𓆞𓆝(cnitpm.com) 22:02:41
谢谢哈
MS-14Y9(cnitpm.com) 22:03:15
了解就行了

扫码关注公众号

温馨提示:因考试政策、内容不断变化与调整,信管网网站提供的以上信息仅供参考,如有异议,请以权威部门公布的内容为准!

信管网致力于为广大信管从业人员、爱好者、大学生提供专业、高质量的课程和服务,解决其考试证书、技能提升和就业的需求。

信管网软考课程由信管网依托10年专业软考教研倾力打造,官方教材参编作者和资深讲师坐镇,通过深研历年考试出题规律与考试大纲,深挖核心知识与高频考点,为学员考试保驾护航。面授、直播&录播,多种班型灵活学习,满足不同学员考证需求,降低课程学习难度,使学习效果事半功倍。

相关内容

发表评论  查看完整评论  

推荐文章