网站大量收购独家精品文档,联系QQ:2885784924

第五章节任务5缓冲区益处.docVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 任务5 缓冲区益处 5.1 缓冲区益处概述 缓冲区是程序员为保存特定的数据而在计算机内存中预分配的一块连续的存储空间。缓冲区溢出是指在向缓冲区内填充数据时,数据位数超过了缓冲区本身的容量,致使溢出的数据覆盖在合法数据上,而引起系统异常的一种现象。操作系统所使用的缓冲区又被称为“堆栈”。 在各个操作进程之间,指令会被临时储存在“堆栈”当中,“堆栈”也会出现缓冲区溢出。 缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用软件中广泛存在。一些高明的“黑客”或者病毒制造者利用缓冲区溢出漏洞,精心编制出“木马”程序或者病毒,伴随覆盖缓冲区的数据侵入被攻击的电脑,造成系统破坏、数据泄密、甚至可以取得系统特权,给用户造成重大的损失。 在缓冲区溢出中,最为危险的是堆栈溢出,因为入侵者可以利用堆栈溢出,在函数返回时改变返回程序的地址,让其跳转到任意地址,带来的危害一种是程序崩溃导致拒绝服务,另外一种就是跳转并且执行一段恶意代码,比如得到shell,然后为所欲为。 缓冲区溢出攻击的目的在于扰乱具有某些特权运行的程序的功能,这样可以使得攻击者取得程序的控制权。为了达到这个目的,攻击者必须达到如下的两个目标: 在程序的地址空间里安排适当的代码; 通过适当的初始化寄存器和内存,让程序跳转到入侵者安排的地址空间执行。 5.2 缓冲区益处危害 缓冲区溢出漏洞的危害性非常大,与其他一些黑客攻击手段相比更具破坏力和隐蔽性。主要体现在如下几个方面: (1) 漏洞普遍存在,而且极容易使服务程序停止运行、死机甚至删除数据。 (2) 漏洞在发现之前,一般程序员是不会意识到自己的程序存在漏洞,从而疏忽监测。 (3) 黑客通过缓冲区溢出嵌入的非法程序通常都非常短,而且不像病毒那样存在多个副本,因此,很难在执行过程中被发现。 (4) 由于漏洞存在于防火墙内部,攻击者所发送的字符串一般情况下不会受到防火墙的阻拦,而且,攻击者通过执行核心级代码所获得的本来不运行或没有权限的操作,在防火墙看来是合法的,因此,防火墙是无法检测远程缓冲区溢出攻击的。 (5) 一个完整的核心代码的执行并不一定会使系统报告错误,并可能完全不影响正常程序的运行,因此,系统和用户都很难觉察到攻击的存在。 (6) 缓冲区溢出攻击在没有发生攻击时攻击程序并不会有任何变化,攻击的随机性和不可预测性都使得防御缓冲区溢出攻击变得异常困难。 知识应用 1. 黑客渗透视角 利用缓冲区溢出对目标机进行攻击,获取超级用户权限,进而控制目标机。 例如:黑客李某在入侵某公司管理员的主机后,为了获得更多“肉鸡”,对内网中的其他主机进行漏洞扫描,并发现了缓冲区溢出漏洞,他立即根据这些漏洞精心设计了获取超级用户权限的溢出程序,开始对存在漏洞的主机实施攻击,在很隐蔽的情况下得到了超级用户的权限,从而实现了对其他主机的控制。 2. 网络运维视角 加强网络安全意识,采取有效地防范措施,避免系统受缓冲区溢出的攻击。 例如:要完全避免缓冲区溢出造成的安全威胁是不可能的,但系统管理员可以构建完善的防范体系来降低缓冲区溢出攻击的威胁。目前,有效地防范措施主要有: (1) 通过操作系统使得缓冲区不可执行,从而阻止攻击者植入攻击代码(ShellCode)。 (2) 程序开发人员书写正确的、安全的代码。 (3) 利用编译器的边界检查来实现缓冲区的保护,使得缓冲区溢出不可能出现,从而完全消除缓冲区溢出的威胁。 5.3 实验步骤 实验操作前实验主机需从Web资源库下载MS06040漏洞攻击工具和NetCat工具。 「注」实现过程中,主机A和主机B可同时进行以下步骤。 1. 远程缓冲区溢出 (1) 主机A利用NetCat在本地监听60350端口。当溢出成功后,漏洞服务会通过60350端口与远程主机建立连接。单击“开始”|“运行”,输入“cmd”。进入Netcat目录。使用命令: 执行效果如下: (2) 主机A发起溢出攻击主机B,单击“开始”|“运行”|“cmd”。新建一个命令行窗口,进入溢出攻击目录。利用工具输入如下命令进行远程溢出: 上面命令实现向远程主机发起远程溢出攻击,溢出成功后与本地主机通过60350端口建立连接程序。 (3) 获取CmdShell。当主机A成功实现溢出攻击后,步骤3中的控制台窗口出现如下图所示界面。 此时,已经获得了远程主机的CmdShell。输入“ipconfig”命令验证主机B的IP配置信息。确认此时控制台为远程主机B的CmdShell(溢出CmdShell)。 2. 溢出CmdShell的利用 (4) 主机A实现文件上传到主机B。主机A在溢出CmdShell下执行如下命令,新建一个用户。 (5) 将新添加的用户加入管理组。在溢出CmdShell下执行如下命令: (6) 将主机B的C盘添加默认共享。在溢

文档评论(0)

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

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

1亿VIP精品文档

相关文档