网络攻防实战技术之——缓冲区溢出篇
内容摘要
1. 缓冲区溢出相关概念
2. 缓冲区溢出原理
3. 溢出保护技术
4. 安全编程技术
学习要求
1. 了解缓冲区溢出的相关概念
2. 明确缓冲区溢出的危害
3. 理解栈溢出、堆溢出、整型溢出、格式化字符串溢出及文件流溢出的原因
4. 掌握安全编程技术
引言-缓冲区溢出的历史
1. 1988年的Morris蠕虫病毒,感染了6000多台机器:利用UNIX服务finger中的缓冲区溢出漏洞来获得访问权限,得到一个shell
2. 1996年前后,开始出现大量的缓冲区溢出攻击,因此引起人们的广泛关注
3. 源码开放的操作系统首当其冲
4. 随后,Windows系统下的缓冲区溢出也相继被发掘出来
5. 已经有一些非常经典细致的文章来介绍与缓冲区溢出有关的技术
6. 这两年广泛流行的一些Internet worms利用了一些缓冲区溢出漏洞
缓冲区溢出相关概念
缓冲区
从程序的角度,缓冲区就是应用程序用来保存用户输入数据、程序临时数据的内存空间
缓冲区的本质:数组
存储位置 :Stack 、Heap 、数据段