- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络安全 罗 敏 武汉大学计算机学院 第4章 拒绝服务攻击 重点回顾 拒绝服务攻击概述 拒绝服务攻击分类 服务端口攻击 电子邮件轰炸 分布式拒绝服务攻击DDoS 第5章 缓冲区溢出攻击 本章介绍缓冲区溢出攻击的原理,通过具体实例分析攻击UNIX系统和攻击WINDOWS系统的特点和方法。 第5章 缓冲区溢出攻击 5.1 缓冲区溢出攻击的原理 5.2 缓冲区溢出程序的原理及要素 5.3 攻击UNIX 5.4 攻击WINDOWS 缓冲区溢出攻击的原理 定义 缓冲区溢出攻击是一种通过往程序的缓冲区写超出其长度的内容,造成缓冲区溢出,从而破坏程序的堆栈,使程序转而执行其他预设指令,以达到攻击目的的攻击方法 缓冲区溢出攻击的原理 Morris 1988年,美国康奈尔大学的计算机科学系研究生、23岁的莫里斯利用Unix fingered程序不限制输入长度的漏洞,输入512个字符后使缓冲器溢出,同时编写一段特别大的恶意程序能以root(根)身份执行,并感染到其他机器上。它造成全世界6000多台网络服务器瘫痪 缓冲区溢出程序原理及要素 缓冲区溢出程序的原理 众所周知,C语言不进行数组的边界检查 在许多C语言实现的应用程序中,都假定缓冲区的长度是足够的,即它的长度肯定大于要拷贝的字符串的长度 缓冲区溢出程序原理及要素 缓冲区溢出程序的原理 缓冲区溢出程序原理及要素 缓冲区溢出程序的原理 例 1 缓冲区溢出程序原理及要素 缓冲区溢出程序的原理 例 2 缓冲区溢出程序原理及要素 缓冲区溢出程序的原理 例 2 缓冲区溢出程序原理及要素 为了执行一段精心准备的程序,需要4个步骤 准备一段SHELLCODE 申请一个缓冲区,并将机器码填入缓冲区的低端 估算机器码在堆栈中的起始位置,并将这个位置写入缓冲区的高端 将这个缓冲区作为系统一个有着缓冲区溢出错误的程序的一个入口参数,并执行这个有错误的程序 缓冲区溢出程序原理及要素 关键技术 在程序的地址空间安排适当的代码 将控制程序转移到攻击代码的方式 Function Pointers Activation Records Longjmp buffers 植入码和流程控制 可执行的地址空间 代码段/数据段/堆栈段 JVM 攻击UNIX UNIX操作系统简介 FreeBSD文件系统的路径组织结构 攻击UNIX UNIX操作系统简介 文件系统的路径组织结构 攻击UNIX UNIX操作系统简介 文件系统的路径组织结构 攻击UNIX UNIX操作系统简介 文件系统的路径组织结构 攻击UNIX UNIX操作系统简介 UNIX系统的文件属性和存取权限 攻击UNIX UNIX操作系统简介 核与Shell的交互 启动 登录 执行命令 退出 攻击UNIX UNIX操作系统简介 Shell的功能和特点 命令行解释 使用保留字 使用Shell元字符(通配符) 可处理程序命令 使用输入输出重定向和管道 维护变量 运行环境控制 支持Shell编程 攻击UNIX 攻击UNIX实例分析 Shell Code 的编写 攻击UNIX 攻击UNIX实例分析 Shell Code 的编写 汇编语言程序 攻击UNIX 攻击UNIX实例分析 Shell Code 的编写 汇编语言程序 相对偏移 攻击UNIX 攻击UNIX实例分析 Shell Code 的编写 汇编语言程序 相对偏移 消除0 攻击UNIX 攻击UNIX实例分析 Shell Code 的编写 汇编语言程序 相对偏移 消除0 机器代码 攻击UNIX 攻击UNIX实例分析 Shell Code 的编写 汇编语言程序 相对偏移 消除0 机器代码 攻击程序 攻击UNIX 攻击UNIX实例分析 Shell Code 的编写 汇编语言程序 相对偏移 消除0 机器代码 攻击程序 NOP填充/尝试地址 攻击WINDOWS 与UNIX的不同 WINDOWS系统的用户进程空间是0-2G,操作系统所占的空间为2-4G 用户进程的加载位置为:0这个进程的所有指令地址,数据地址和堆栈指针都会含有0,那么我们的返回地址就必然含有0 攻击WINDOWS 与UNIX的不同 Shellcode 的模式 NNNNSSSSAAAAAA NNNNAAAAAASSSS 攻击WINDOWS 攻击WINDOWS实例分析 编写Shellcode 攻击WINDOWS 攻击WINDOWS实例分析 编写Shellcode 汇编程序 攻击WINDOWS 攻击
文档评论(0)