缓冲区溢出及堆栈/堆操纵

Posted lwfiwo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了缓冲区溢出及堆栈/堆操纵相关的知识,希望对你有一定的参考价值。

缓冲区溢出是一类特殊的数组及数字边界错误。大多数缓冲区溢出的发生是由于输入超出了所分配的空间大小,然而数据还是被写入了,并且覆盖了分配空间以外的内存。

 

  • 堆栈溢出:堆栈溢出是一种写入的数据超出了给堆栈分配的缓冲区大小而发生的溢出。
  • 整型溢出:用来保存某个确定数值范围的特定数据类型或CPU寄存器,当分配给它们的值超出范围时,就出现了整型溢出。在计算分配的内存大小时发生的整型溢出通常会导致缓冲区溢出。
  • 堆溢出:当数据被写入所分配的堆空间之外时,就发生了堆溢出。
  • 格式化字符串攻击:当写入格式化字符串参数%n中的数据超出目标缓冲区时,就导致了格式化字符串攻击。

 

       参考:《安全漏洞追踪》 【美】Tom Gallagher , Bryan Jeffries , Lawrence Landauer

以上是关于缓冲区溢出及堆栈/堆操纵的主要内容,如果未能解决你的问题,请参考以下文章

栈溢出原理

缓冲区溢出详解

缓冲区溢出(vs)缓冲区溢出(vs)堆栈溢出[重复]

McAfee提示“缓冲区溢出”,该怎么处理?

怎么解决 LINUX 堆栈溢出内存的问题

第十一周作业