- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
北京大学网络攻防技术与实践课程
chat缓冲区溢出分析讲解
ICST-ERCIS1
内容安排
问题
背景知识
调试分析
触发漏洞
分析漏洞原因
构造攻击代码
分析攻击原理
问题回答
ICST-ERCIS2
内容安排
问题
背景知识
调试分析
触发漏洞
分析漏洞原因
构造攻击代码
分析攻击原理
问题回答
ICST-ERCIS3
问题
RedHat7.3下的程序/usr/sbin/chat存在缓冲区溢
出漏洞
问题:
1.从中分析查找缓冲区溢出漏洞位置
2.编写本地缓冲区溢出渗透攻击代码,并进行攻击
确认是否可获得root权限,如否,为什么,前提条件是什么?
3.针对发现的漏洞,给该程序编写一个补丁程序,使之修补所
发现漏洞。
ICST-ERCIS4
内容安排
问题
背景知识
调试分析
触发漏洞
分析漏洞原因
构造攻击代码
分析攻击原理
问题回答
ICST-ERCIS5
背景知识
gdb
gcc
rpm
IDAPro
patch
diff
ICST-ERCIS6
gdb常用指令—运行
启动gdb
调试普通程序:
$gdb--argsyour_progyour_prog_args
$gdbyour_prog然后(gdb)setargsyour_prog_args
调试进程:
$gdb--pid=your_pid_num
$gdb然后(gdb)attachyour_pid_num
开始调试
r(un).从开始执行。没有断点的话,会执行到程序结束
runyour_prog_args,用之作为命令行参数启动执行
逐步调试:
s(tep),逐(源码)语句执行,语句函数调用能跟进去的话就跟进去
n(ext),逐(源码)语句执行,函数调用不跟进去
继续执行
c(ontinue),从目前停止的位置开始继续前行
设置
变量set$var_name=val
内存值,set*mem_addr=val
ICST-ERCIS7
gdb常用指令—断点
下断点(breakpoints):
b(reak)[file:]line_no(有源码,-g编译,才可用)
bfunc_name
b*inst_addr
下监视点(watchpoints):
wa(tch)expr
watch*(int*)0xbbffffff
监视0xbbffffff处四个字节,内容发生改变时触发
查看断点和监视点:
infobr
删除断点和监视点
delbr
文档评论(0)