求职笔记-操作系统-缓冲区溢出

来源:互联网 发布:js匿名函数 编辑:程序博客网 时间:2024/05/20 01:46

缓冲区溢出

当计算机程序向缓冲区内填充的数据位数超过了缓冲区本身的容量。溢出的数据覆盖在合法数据上

理想情况是,程序检查数据长度并且不允许输入超过缓冲区长度的字符串。但是绝大多数程序都会假设数据长度总是与所分配的存储空间相匹配,这就为缓冲区溢出埋下隐患。操作系统所使用的缓冲区又被称为堆栈,在各个操作进程之间,指令被临时存储在堆栈当中,堆栈也会出现缓冲区溢出。

上溢

当一个超长的数据进入到缓冲区时,超出部分被写入上级缓冲区,

上级缓冲区存放的可能是数据、上一条指令的指针,或者是其他程序的输出内容
,这些内容都被覆盖或者破坏掉。可见一小部分数据或者一套指令的溢出就可能导致一个程序或者操作系统崩溃。

下溢

当一个超长的数据进入到缓冲区时,超出部分被写入下级缓冲区,

下级缓冲区存放的是下一条指令的指针,或者是其他程序的输出内容。


来源:link

0 0