【简答题】什么是缓冲区溢出?产生缓冲区溢出的原因是什么?
【简答题】什么是缓冲区溢出?产生缓冲区溢出的原因是什么?
参考答案和解析
缓冲区溢是指计算机程序向特定缓冲区内填充数据时,超出了缓冲区本身的容量,导致外溢数据覆盖了相邻内存空间的合法数据,从而改变程序执行流程破坏系统运行完整性。 根本原因:现代计算机基础构架 —— 冯诺依曼体系的安全缺陷,即程序的数据和指令都在同一内存中进行存储。
相关考题:
下列关于缓冲区溢出攻击叙述正确的是( )。 A当目标操作系统收到了超过了它的能接收的最大信息量时,将发生缓冲区溢出。B多余的数据使程序的缓冲区溢出,然后覆盖实际的程序数据。C缓冲区溢出使目标系统的程序被修改,经过这种修改的结果将在系统上产生一个后门。D缓冲区攻击的过程非常简单,对技术的要求也不高。
下列有关缓冲区溢出的说法正确的是()。A、输入数据通常被存放在一个临时空间内即为缓冲区B、在操作系统中缓冲区的长度事先已经被程序或者操作系统定义好的C、计算机程序向缓冲区内填充的数据位数超过了缓冲区本身的容量产生溢出D、溢出的数据将覆盖在合法数据上
缓冲区溢出的实例有()。A、“红色代码”利用微软IIS漏洞产生缓冲区存溢出B、Slammer蠕虫利用微软SQL漏洞产生缓冲区溢出C、“冲击波”的蠕虫病毒利用微软RPC远程调用存在的缓冲区漏洞D、以上都是
关于缓冲区溢出的原理正确的是()。A、缓冲区溢出是由编程错误引起的B、如果缓冲区被写满,而程序没有去检查缓冲区边界,也没有停止接收数据,这时缓冲区溢出就会发生C、一小部分数据或者一套指令的溢出就可能导致一个程序或者操作系统崩溃。D、C语言具有检查边界的功能
关于缓冲区溢出的发生,下列说法中正确的是()A、向缓冲区中写入超过缓冲区大小的数据会导致溢出发生B、缓冲区溢出导致程序异常是因为覆盖了原来的合法数据C、缓冲区溢出导致异常是因为写入了恰好等于缓冲区大小的特殊数据D、缓冲区溢出是由于写入少量全零数据造成的E、缓冲区溢出是由于写入恰好等于缓冲区大小的数据造成的
关于缓冲区溢出攻击的危害,下列说法中正确的是()A、缓冲区溢出只会使得程序崩溃B、缓冲区溢出只会泄露程序中的数据C、缓冲区溢出攻击不能影响在防火墙后的服务器D、缓冲区溢出攻击可能导致提权漏洞
下列关于缓冲区溢出的说法错误的是()。A、缓冲区溢出是在数据向缓冲区复制的过程中,没有注意缓冲区的边界,导致超出缓冲区容量的数据填充到缓冲区是覆盖了和缓冲区相邻的其他数据而引起的内存问题B、缓冲区溢出漏洞不能修改内存中变量的值,甚至能劫持进程,执行恶意代码,最终获得主机的控制权C、char buffer [256];Strcpy(buffer,str)以上代码存在缓冲区溢出D、strlcpy是UNIX下strcpy的安全版本
关于缓冲区溢出描述错误的是()A、缓冲区是用来暂时存放输入输出数据的内存B、只要把内存加大,就可以避免缓冲区溢出C、指输入输出数据超出了缓冲区的大小,占用缓冲区之外的内存空间D、利用缓冲区溢出攻击,可以破坏程序运行,系统重新启动
单选题关于缓冲区溢出描述错误的是()A缓冲区是用来暂时存放输入输出数据的内存B只要把内存加大,就可以避免缓冲区溢出C指输入输出数据超出了缓冲区的大小,占用缓冲区之外的内存空间D利用缓冲区溢出攻击,可以破坏程序运行,系统重新启动
单选题向缓冲区写入超过缓冲区长度的内容,可能会造成()。A劫持B越狱C常量溢出D缓冲区溢出