原理:通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,造成程序崩溃或使程序转而执行其它指令,以达到攻击的目的。造成缓冲区溢出的原因是程序中没有仔细检查用户输入的参数。
概念:缓冲区溢出是一种非常普遍,非常危险的漏洞,在各种操作系统,应用软件中广泛存在。利用缓冲区溢出攻击,可以导致程序运行失败,系统宕机,重新启动等后果。更为严重的是,可以利用它执行非授权指令,甚至可以取得系统特权,进而进行各种非法操作。