GF缓冲溢出的认识.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
西安邮电大学 通信与信息工程学院 网络攻防实验报告 专业班级: 学生姓名: 学号(班内序号): 2014 年 5 月 8 日 实验五 缓冲溢出 场景描述 登陆Red Hat Linux环境,在无root权限的情况下,通过编译运行程序,利用本地缓冲溢出,达到获取root权限的目的。 备注:使用Red Hat Linux虚拟机作为本地环境。 2.实验目的 1)、掌握缓冲区溢出的基本原理。 2)、熟练利用jmp.egp指令实现缓冲区溢出。 3)、掌握缓冲区溢出的危害及其防范手段。 3.需求分析 历史上最著名的缓冲区溢出攻击可能要算是1988年11月2日的Morris Worm所携带的攻击代码了。这个因特网蠕虫利用了fingerd程序的缓冲区溢出漏洞,给用户带来了很大危害。此后,越来越多的缓冲区溢出漏洞被发现。从bind、wu-ftpd、telnetd、apache等常用服务程序,到Microsoft、Oracle等软件厂商提供的应用程序,都存在着似乎永远也弥补不完的缓冲区溢出漏洞。鉴于此,随着信息技术的不断发展,有必要去深入学习缓冲区溢出的原理及如何实现缓冲区溢出攻击。 4.技术分析 一、缓冲区溢出的基本概念 缓冲区是内存中存放数据的地方。在程序试图将数据放到计算机内存中的某一位置,但没有足够空间时会发生缓冲区溢出。缓冲区是程序运行时计算机内存中的一个连续的块,它保存了给定类型的数据。问题随着动态分配变量而出现。为了不用太多的内存,一个有动态分配变量的程序在程序运行时才决定给他们分配多少内存。如果程序在动态分配缓冲区放入太多的数据会有什么现象?它溢出了,漏到了别的地方。一个缓冲区溢出应用程序使用这个溢出的数据将汇编语言代码放到计算机的内存中,通常是产生root权限的地方。单单的缓冲区溢出,并不会产生安全问题。只有将溢出送到能够以root权限运行命令的区域才行。这样,一个缓冲区利用程序将能运行的指令放在了有root权限的内存中,从而一旦运行这些指令,就是以 root权限控制了计算机。 缓冲区溢出指的是一种系统攻击的手段,通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击的目的。据统计,通过缓冲区溢出进行的攻击占所有系统攻击总数的80%以上。造成缓冲区溢出的根本原因是代码在操作缓冲区时,没有有效地对缓冲区边界进行检查,使得写入缓冲区的数据量超过缓冲区能够容纳的范围,从而导致溢出的数据改写了与该缓冲区相邻存储单元的内容。 二、缓冲区溢出的危害 1、利用缓冲区溢出实现在本地或者远程系统上实现任意执行代码的目的,从而进一步达到对被攻击系统的完全掌控; 2、利用缓冲区溢出进行DoS(Denial of Service)攻击; 3、利用缓冲区溢出破坏关键数据,使系统的稳定性和有效性受到不同程度的影响; 4、实现蠕虫程序。 缓冲区溢出可以成为攻击者实现攻击目标的手段,但是单纯地溢出缓冲区并不能达到攻击的目的。只有对缓冲区溢出“适当地”加以利用,攻击者才能通过其实现攻击目标。 5.实验步骤及结果 进入linux虚拟机,选择用户名wist并输入密码bluedon。进入终端,输入以下指令: 1).ls 2).whoami 3).su 4).输入用户密码:bluedon。 5).Sysctl -w kernel.randomize_va_space=0 6).exit,并退出终端。 重新打开终端,输入以下指令: 1).ls 2).cd overflow/ 3).ls –l 4).gcc exe.c –o exe 5).gcc toto.c –o toto 6).su 7).输入用户密码:bluedon 8).Chown root.root toto 9).Chmod +s toto 10).ls –l exe toto 11).Exit 12).Whoami 13)../exe ./toto oxbfffffff 14)../exe ./toto oxbffff420 15).whoami,结果显示root。 6.问题答疑 1、缓冲区溢出的危害有哪些? 在当前网络与分布式系统安全中,被广泛利用的50%以上都是缓冲区溢出,其中最著名的例子是1988年利用fingerd漏洞的蠕虫。而缓冲区溢出中,最为危险的是堆栈溢出,因为入侵者可以利用堆栈溢出,在函数返回时改变返回程序的地址,让其跳转到任意地址,带来的危害一种是程序崩溃导致拒绝服务,另外一种就是跳转并且执行一段恶意代码,比如得到shell,然后为所欲为。缓冲区溢出攻击占了远程网

文档评论(0)

xuefei111 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档