- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
目录
目录1
chat的缓冲区溢出分析2
实验目的:2
实验准备工作2
实验步骤:4
分析攻击代码4
运行调试攻击代码5
修改攻击代码8
开始调试9
确定hotpot11
监视hotpot,定位漏洞函数11
分析漏洞函数代码,找出漏洞15
重新计算返回地址,重现攻击18
攻击失败原因分析18
计算shellcode数组布局18
计算返回地址:19
修改shellcode数组,重现攻击19
查看shellcode攻击原理20
能否取得root权限25
给漏洞程序打上补丁26
修改源代码26
使用diff生成补丁文件27
使用patch命令打补丁27
总结与问题回答:27
chat的缓冲区溢出分析
实验目的:
RedHat7.3中的/usr/sbin/chat存在本地缓冲区溢出漏洞,其攻击代码示例:
/0309-exploits/chat-Xploit.c。
本作业给出/usr/sbin/chat(RedHat7.3)源代码或可执行代码,
1.从中分析查找缓冲区溢出漏洞位置,分析漏洞机制
2.编写本地缓冲区溢出渗透攻击代码,并进行攻击
3.确认是否可获得root权限,如否,为什么,前提条件是什么?
4.针对发现的漏洞,给该程序编写一个补丁程序,使之修补所发现漏洞。
可在源码层次和二进制层次完成该作业,在可执行二进制代码层次完成,最多额外+5分。
实验准备工作
1.下载攻击代码
下载地址为:/0309-exploits/chat-Xploit.c,保存为本地文件
chat-Xploit.c。
2.待分析程序chat及其源码
从google上搜索,下载得到chat的源代码。
3.安装调试工具:
1)静态反汇编工具:IDAPro(Windows平台)
2)动态调试工具:gdb(Linux系统自带)、OllyDebug(Windows平台)
4.选择实验平台:
1)RedHat7.3是一个非常古老的系统,现在很难找到安装文件,一个可用的链接是:
06/down?cid=1909495266t=14fmt=-
该链接可以用迅雷下载,总共是3个iso文件,大小为2G多。
利:漏洞程序是该系统上的程序,易于再现攻击代码攻击过程。
弊:不稳定,bug比较多,操作不方便,图形界面功能弱。
经过测试,该系统安装文件在vmware上安装时有时安装失败,有时能够成功;在
另外的虚拟机软件SunVirtualBox上安装时一般能够成功。
安装好虚拟机之后,发现系统对中文支持不好,对文本处理和剪贴板处理有bug
存在,不便于记录实验细节。
因此,不推荐用这个作为实验平台。
2)Fedora系列:RedHat的升级系列,稳定性好,图形界面功能比较完善。
利:稳定,操作方便,图形界面功能完善
弊:系统对栈溢出漏洞进行了有效防护(背景材料),不利于调试。
幸运的是,Fedora提供了一个机制,来取消这种防护。
管理员root执行下列命令,取消系统保护措施“栈上数据不可执行”:
#cat/proc/sys/kernel/exec-shield
1
#echo0/proc/sys/kernel/exec-shield
#cat/proc/sys/kernel/exec-shield
0
文档评论(0)