- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分析解决缓存区溢出问题
南 昌 大 学 毕 业 设 计
分析、解决缓存区溢出问题缓存区溢出在UINX缓存区溢出2.1.1:如何书写一个shell code2.1.2:实现一个shellcode?2.1.3:shellcode汇编源程序2.1.4:利用堆栈溢出获得shell?2.1.5:利用堆栈溢出获得root shell?window系统下的堆栈溢出2.2.1:溢出字符串的设计2.2.2:winamp 2.10缓冲区漏洞2.2.3:实现一个exploit2.2.4:对windows下的buffer overflow总结缓存区溢出又称堆栈溢出、Buffer Overflow。其基本理是当来自某个程序的输入数据超出程序缓冲区能够处理的长度时会产生溢出,结果不受程序员的控制。当入侵者巧妙地安排代码后,被攻击的服务器还可能执行入侵者指定的程序代码,从而导致攻击者甚至可以获得系统中超级用户的权限。Abstract:
Buffer memory area overflows, have another name called storehouse overflowing, Buffer Overflow. It pay attention to and will when the data-in from a certain procedure goes beyond the length which can be dealt with in buffering area of procedure produce and overflow basically, The result does not receive the programmers control . After the invador arranges codes ingeniously , might carry out the procedure code that invadors appointed also server that attack, Cause assailant can get super authority of user in the system.
关键字:缓存区溢出堆栈溢出缓存区堆栈 Buffer Overflow,Stack Overflow, Stack Overflow
正文:
第1章:缓存区溢出缓存区溢出又称堆栈溢出Buffer Overflow)。这种类型的攻击赫赫有名,频频出现在CERT、SANS、CSI等国际网络安全组织的最具威胁的攻击类型名单内。在1998年Lincoln实验室用来评估入侵检测的的5种远程攻击中,有3种是基于社会工程学的信任关系,2种是缓冲区溢出 在1998年CERT的13份建议中,有9份是是与缓冲区溢出有关的,在1999年,至少有半数的建议是和缓冲区溢出有关的;在 Bugtraq的调查中,有2/3的被调查者认为缓冲区溢出漏洞是一个很严重的安全问题。据统计,通过缓冲区溢出进行的攻击占所有系统攻击总数的80%以上。 为了便于理解,我们不妨打个比方。缓冲区溢出好比是将十磅的糖放进一个只能装五磅的容器里。一旦该容器放满了,余下的部分就溢出在柜台和地板上,弄得一团糟。由于计算机程序的编写者写了一些编码,但是这些编码没有对目的区域或缓冲区——五磅的容器——做适当的检查,看它们是否够大,能否完全装入新的内容——十磅的糖,结果可能造成缓冲区溢出的产生。如果打算被放进新地方的数据不适合,溢得到处都是,该数据也会制造很多麻烦。但是,如果缓冲区仅仅溢出,这只是一个问题。到此时为止,它还没有破坏性。当糖溢出时,柜台被盖住。可以把糖擦掉或用吸尘器吸走,还柜台本来面貌。与之相对的是,当缓冲区溢出时,过剩的信息覆盖的是计算机内存中以前的内容。除非这些被覆盖的内容被保存或能够恢复,否则就会永远丢失。
在丢失的信息里有能够被程序调用的子程序的列表信息,直到缓冲区溢出发生。另外,给那些子程序的信息——参数——也丢失了。这意味着程序不能得到足够的信息从子程序返回,以完成它的任务。就像一个人步行穿过沙漠。如果他依赖于他的足迹走回头路,当沙暴来袭抹去了这些痕迹时,他将迷失在沙漠中。这个问题比程序仅仅迷失方向严重多了。入侵者用精心编写的入侵代码(一种恶意程序)使缓冲区溢出,然后告诉程序依据预设的方法处理缓冲区,并且执行。此时的程序已经完全被入侵者操纵了。
入侵者经常改编现有的应用程序运行不同的程序。例如,一个入侵者能启动一个新的程序,发送秘密文件(支票本记录,口令文件,或财产清单)给入侵者的电子邮件。这就好像不仅仅是沙暴吹了脚印,而且后来者也会踩出新的脚印,将我们的迷路者领向不同的地方,他自己一无所知的地方。
这是一种渗透到系统中的攻击技术,其基本理是当来
文档评论(0)