- 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
- 2025年行业洞察报告——餐饮业的新趋势.pdf
- 2024年行业洞察报告——氢燃料电池行业报告:持续挑战和突破.pdf
- 海外银行借鉴系列:后房地产时代,海外银行资产配置演变.pdf
- 同策研究院:2024-2025年上海楼市年报-或跃在渊无咎.pdf
- 2025年A+H股公司年报编制工作时间表及主要问题分析报告.pdf
- 2024年泰州市生物制品产业专利导航分析报告.pdf
- 2024年香港法律执业者在粤港澳大湾区首阶段发展现况调研报告.pdf
- 2024年行业洞察报告——中国电竞行业:面临挑战但期待涅槃重生.pdf
- 天风证券-拉普拉斯(688726)光伏电池设备持续深耕,碳化硅设备打开向上空间-250210.pdf
- 智能制造周报:AI深度耦合机器人:解锁智能时代产业“密钥”.pdf
- 天风证券-中际旭创(300308)算力CapexAI应用开始螺旋共振,长期成长空间打开-250206.pdf
- EqualOcean 2024中国出海企业品牌战略报告.pdf
- 天津大学:2025深度解读DeepSeek:原理与效应.pdf
- 罗兰贝格:2024年AI在制药领域的应用报告.pdf
- 《贵州茶叶中风味挥发性物质的测定_气相色谱质谱法》.docx
- 庄信万丰(张家港)贵金属材料科技有限公司3000吨年贵金属催化剂回收项目环境影响报告书.docx
- 00素材:现象篇1.8_纯图版.docx
- 24国考专项刷题-申论4天-206P.pdf
- 浅析城市社区应急管理体制现状问题 .docx
最近下载
- 中小学开学第一课思政主题班会PPT课件.pptx
- 2024年镇江高等专科学校单招综合素质考试试题及答案解析.docx
- 2025江苏中职职教高考-语文-讲义知识考点复习资料.pdf VIP
- 附件4 盐都区河道“河长制”管理考核河道河段评分表.doc
- 医院内部控制管理手册.pdf VIP
- 初中语文七年级现代文阅读理解精选:说明文20篇(含答案).pdf VIP
- 拓尔微产品规格书TMI6263.pdf
- [中央]2023年全国市长研修学院(住房和城乡建设部干部学院)招聘社会人员 笔试上岸试题历年典型考题及考点剖析附答案详解.docx VIP
- (完整版)高一函数大题训练及答案.doc VIP
- 《固废基无熟料、少熟料硅铝质水泥》.pdf
文档评论(0)