简 介在过去的几个月中,被发现和利用的缓冲区溢出漏洞呈现上升趋势.例如syslog,splitvt,sendmail8.7.5,Linux/FreeBSDmount,Xtlibrary,at等等.本文试图解释什么是缓冲区溢出,以及如何利用.汇编的基础知识是必需的.对虚拟内存的概念,以及使用gdb的经验是十分有益的,但不是必需的.我们还假定使用Intelx86CPU,操作系统是Linux.在开始之前我们给出几个基本的定义:缓冲区,简单说来是一块连续的计算机内存区域,可以保存相同数据类型的多个实例.C程序员通常和字缓冲区数组打交道.最常见的是字符数组.数组,与C语言中所有的变量一样,可以被声明为