- 1、本文档共127页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
;内容提要;概念;缓冲区溢出的根源;发展历史;发展历史;危害性和普遍性;危害性和普遍性;安全漏洞数量(CERT);近年来,虽然缓冲区溢出漏洞的数量占比有所减少,但仍然是一类危害性极大的、数量众多的安全漏洞;内容提要;三种内存分配模式(1);三种内存分配模式(2);三种内存分配模式(3);三种内存分配模式比较;内存布局(Linux);进程内存布局;进程内存布局;缓冲区溢出攻击原理;缓冲区溢出攻击原理;缓冲区溢出攻击原理;主要分为:
堆栈溢出
堆溢出
BSS段溢出
格式化字符串溢出攻击;一、堆栈溢出;堆栈的相关概念;堆栈布局;函数调用过程;函数调用时堆栈处理规定;函数调用的栈帧变化;假设有一个程序,其函数调用顺序如下:
main()-func_1()-func_2()-func_3();C语言函数调用例子;C语言函数调用过程;C语言函数调用过程;缓冲区溢出攻击的原理;;堆栈溢出代码1;堆栈溢出示例代码1;堆栈溢出示例代码1;改变堆栈活动记录中的函数返回地址;堆栈溢出示例代码2;堆栈溢出示例代码2;改变函数指针变量;堆栈溢出示例代码3;堆栈溢出示例代码3;ShellCode;ShellCode;
堆栈溢出过程分析示例;示例环境:
操作系统:Windows7ProfessionalServicePack1
编译器:VC++6.0
目的:掌握动态调试方法,理解函数调用过程中堆栈和关键寄存器的变化以及堆栈溢出原理
;源代码:
;溢出过程分析;溢出过程分析;堆栈变化过程;溢出过程分析;堆栈变化过程;溢出过程分析;溢出过程分析;溢出过程分析;堆栈变化过程;溢出过程分析;堆栈变化过程;堆栈变化过程;堆栈变化过程;溢出过程分析;堆栈变化过程;溢出过程分析;堆栈变化过程;溢出过程分析;堆栈变化过程;溢出过程分析;堆栈变化过程;溢出过程分析;堆栈变化过程;二、堆溢出;堆溢出;堆的特点
堆的增长方向:从底到高(与栈相反)
堆的分配和释放可以由用户自由控制
堆的空间不一定连续
堆申请函数返回指向堆内存的指针,后续对于内存的读写等操作需要通过此指针进行
不同的系统有着不同的堆管理机制;Linux堆;Linux堆;堆表用来索引堆块,表中包含索引堆块的大小、位置、状态等信息
位于堆区的起始位置,堆表分为两种空闲双向链表Freelist(空表128条??和快速单向链表Lookaside(快表最多只有四项);堆块分配可以分为三类:快表分配、普通空表分配和零号空表(free[0]分配);释放堆块的操作包括将堆块状态改为空闲,链入相应的堆表。;当堆管理系统发现两个空闲堆块相邻时,就会进行堆块合并操作,包括,将堆块从链表中卸下、合并、调整新堆块块首信息、重新链入空表;堆溢出是指程序向某个堆块中写入的字节数超过了堆块本身可使用的字节数(之所以是可使用而不是用户申请的字节数,是因为堆管理器会对用户所申请的字节数进行调整,这也导致可利用的字节数都不小于用户申请的字节数),因而导致了数据溢出,并覆盖到物理相邻的高地址的下一个堆块;前提条件:
程序向堆上写入数据
写入的数据大小没有被良好地控制
利用策略
覆盖与其物理相邻的下一个chunk的内容
利用堆中的机制(如unlink等)来实现任意地址写入(Write-Anything-Anywhere)或控制堆块中的内容等效果,从而来控制程序的执行流;用精心构造的数据去溢出下一个块的块首,改写块首中的前向指针和后向指针,这种能够向内存任意位置写入任意数据的机会叫DWORDSHOOT;intremove(ListNode*node)
{
??????node-blink-flink=node-flink;
?????node-flink-blink=node-blink;
}
;;触发unlink
绕过系统保护;堆溢出实例;堆溢出实例;堆溢出实例;堆溢出实例;堆溢出;堆溢出;三、BSS段溢出;BSS溢出;内容提要;防御策略;1、关闭不需要的特权程序;2、及时给程序漏洞打补丁;3、编写正确的代码;4、非执行的缓冲区;5、数组边界检查;6、指针完整性检查;7、其它防御方法;两类防护技术
被动防护技术:典型代表有插入canary值、存储RETADDR值、指针前后加guardzone和低脂指针
主动防护技术:更换动态链接库、加密指针型数据、随机化内存地址、去堆栈布局可预测性.;缓冲区溢出攻击防御技术;;;缓冲区溢出攻击防御技术;DEP与ASLR;微软堆栈硬件保护;微软堆栈硬件保护;微软堆栈硬件保护;;作业;一、整数溢出;整数溢出:当一个整数值大于或者小于其范围时,就会产生“回绕”,即溢出。
整数:有符号整数(最高位用0表
您可能关注的文档
- 网络攻防原理与技术(第3版)课件:Web网站攻击技术.pptx
- 单位2024民主生活会相互批评意见+2024年民主生活会(组织生活会)自我批评和相互批评意见.pdf
- 2024年度民主生活会班子对照检视发言材料(含案例剖析).pdf
- 乡镇领导班子2024年民主生活会对照检查发言材料(五个带头+典型案例).docx
- 市委副书记、市长在2025年市委城乡规划委员会第一次会议上的讲话.docx
- 2024年度专题民主生活会、组织生活会批评与自我批评意见+民主生活会相互批评意见建议.pdf
- 县政协退出领导岗位干部述职述责报告.docx
- 学校2024年专题民主生活会整改工作情况报告.docx
- 在2025年民宗系统全面从严治党暨党风廉政建设工作会议上的讲话.docx
- 2024 年个人述职报告(德能勤绩廉).docx
- 讲稿:深入理解“五个注重”把握进一步深化改革统筹部署以钉钉子精神抓好落实.pdf
- 副市长在2025年全市医疗工作会议上的讲话.docx
- 2025年市县处级以上党委(党组)理论学习中心组专题学习计划.docx
- 市民族宗教事务局党组书记、局长2024年度民主生活会个人对照检视发言材料.docx
- 烟草局党组书记2024年度抓基层党建工作述职报告.docx
- (汇编)学习2025年全国教育工作会议精神心得体会发言心得感悟.pdf
- 汇编学习领会在二十届中纪委四次全会上的重要讲话精神心得体会.pdf
- 在2025年镇安全生产、消防安全和生态环境保护第一次全体会议上的讲话提纲.docx
- 书记干部座谈会上的讲话+纪委全会上的讲话.pdf
- 党课:从毛泽东诗词中感悟共产党人初心使命.docx
最近下载
- 吸气同步筛孔雾化相结合的高流量氧疗设备.pdf VIP
- 原子能院学位论文格式模板(18页).doc
- 2025年征兵的心理测试题库及答案 .pdf VIP
- 基于人工智能的交互式护理床设计.pdf VIP
- 重庆市第一中学校2024-2025学年高三上学期12月月考英语试题(含答案).docx VIP
- 2024年华医网继续教育基于人文护理理念下的压疮护理答案.docx VIP
- 5.5 有趣的算式(课件)2024-2025学年度北师大版数学一年级下册.pptx VIP
- Newzoo:2024年全球游戏市场报告(英文版).pdf VIP
- 脑血管造影术患者的护理查房课件.pptx VIP
- 肺部感染护理查房.pptx
文档评论(0)