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

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

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

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

猜你喜欢

转载自www.cnblogs.com/lwfiwo/p/10592818.html
今日推荐