




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、北京大学计算机科学技术研究所北京大学计算机科学技术研究所缓冲区溢出攻击技术栈溢出攻击技术北京大学计算机科学技术研究所北京大学计算机科学技术研究所北京大学计算机科学技术研究所北京大学计算机科学技术研究所内容北京大学计算机科学技术研究所北京大学计算机科学技术研究所缓冲区溢出攻击的威胁北京大学计算机科学技术研究所北京大学计算机科学技术研究所缓冲区溢出攻击的基本概念北京大学计算机科学技术研究所北京大学计算机科学技术研究所缓冲区溢出攻击的发展历史北京大学计算机科学技术研究所北京大学计算机科学技术研究所缓冲区溢出攻击背景知识与技巧北京大学计算机科学技术研究所北京大学计算机科学技术研究所GCC编译器基础北京
2、大学计算机科学技术研究所北京大学计算机科学技术研究所GDB调试器的使用北京大学计算机科学技术研究所北京大学计算机科学技术研究所VC6.0命令行北京大学计算机科学技术研究所北京大学计算机科学技术研究所Win32平台调试器北京大学计算机科学技术研究所北京大学计算机科学技术研究所背景知识进程内存空间ESPEIP0 xc00000000 x80000000LinuxWin32北京大学计算机科学技术研究所北京大学计算机科学技术研究所Linux进程内存空间北京大学计算机科学技术研究所北京大学计算机科学技术研究所Win32进程内存空间北京大学计算机科学技术研究所北京大学计算机科学技术研究所汇编语言基础知识寄
3、存器寄存器名寄存器名说明说明功能功能eax:累加器加法乘法指令的缺省寄存器, 函数返回值ecx计数器REP & LOOP指令的内定计数器edx除法寄存器存放整数除法产生的余数ebx: 基址寄存器在内存寻址时存放基地址esp栈顶指针寄存器SS:ESP当前堆栈的栈顶指针ebp栈底指针寄存器SS:EBP当前堆栈的栈底指针esi, dei源、目标索引寄存器在字符串操作指令中,DS:ESI指向源串ES:EDI指向目标串eip 指令寄存器CS:EIP指向下一条指令的地址eflags标志寄存器标志寄存器cs代码段寄存器当前执行的代码段ss椎栈段寄存器stack segment, 当前堆栈段ds数据段
4、寄存器data segment, 当前数据段北京大学计算机科学技术研究所北京大学计算机科学技术研究所汇编语言基础知识汇编指令命令命令解释解释PUSH%esp -= 4; movl %REG, (%esp)POP movl (%esp), %REG; %esp += 4JMPmovl addr, %eipCALLpushl %eip; %eip = addressLEAVEmov %ebp, % esp; pop %ebpRETpopl %eip北京大学计算机科学技术研究所北京大学计算机科学技术研究所栈的基本结构北京大学计算机科学技术研究所北京大学计算机科学技术研究所函数调用过程北京大学计算机科
5、学技术研究所北京大学计算机科学技术研究所函数调用过程示例21Ret-addebpretValStack frameespespespespmain ebpespfunc ebpespespespespesp北京大学计算机科学技术研究所北京大学计算机科学技术研究所缓冲区溢出攻击的本源北京大学计算机科学技术研究所北京大学计算机科学技术研究所缓冲区溢出示例北京大学计算机科学技术研究所北京大学计算机科学技术研究所栈溢出攻击的原理北京大学计算机科学技术研究所北京大学计算机科学技术研究所Return addBuffer(96bytes)ilong_ptr高地址低地址Para2 Para1Return ad
6、dReturn addReturn addReturn addshellcode栈溢出攻击示例北京大学计算机科学技术研究所北京大学计算机科学技术研究所Linux系统下的栈溢出攻击北京大学计算机科学技术研究所北京大学计算机科学技术研究所NOPshellcodeLow AddressNOPNOPRETRETRETHigh Addressvulnerable1.c: stackexploit1.c:NSR溢出模式北京大学计算机科学技术研究所北京大学计算机科学技术研究所RETshellcodeLow AddressRETRETNOPNOPNOPHigh Addressvulnerable2. c: s
7、tackexploit2.c:RNS溢出模式北京大学计算机科学技术研究所北京大学计算机科学技术研究所shellcodeLow AddressFILE NULLHigh Addressvulnerable2.c: stackexploit3.c:0 xc0000000RETRETRETR.S溢出模式利用环境变量北京大学计算机科学技术研究所北京大学计算机科学技术研究所栈溢出模式分析北京大学计算机科学技术研究所北京大学计算机科学技术研究所Shellcode C版本北京大学计算机科学技术研究所北京大学计算机科学技术研究所Shellcode 汇编版本shellcode_asm.cshellcode_as
8、m_fix.c去除0北京大学计算机科学技术研究所北京大学计算机科学技术研究所Shellcode Opcode版本北京大学计算机科学技术研究所北京大学计算机科学技术研究所给出远程登录的Shellcode北京大学计算机科学技术研究所北京大学计算机科学技术研究所渗透防火墙的Shellcode北京大学计算机科学技术研究所北京大学计算机科学技术研究所在真实Linux世界中的栈溢出攻击北京大学计算机科学技术研究所北京大学计算机科学技术研究所Win32系统下的栈溢出攻击北京大学计算机科学技术研究所北京大学计算机科学技术研究所漏洞程序北京大学计算机科学技术研究所北京大学计算机科学技术研究所如何利用?与Linu
9、x平台有何不同?北京大学计算机科学技术研究所北京大学计算机科学技术研究所Win32对废弃栈的处理调用者的栈调用参数返回地址EBP局部变量 Shellcode地址RSSSSSSSSNNNNNNNNEBPESPESP%北京大学计算机科学技术研究所北京大学计算机科学技术研究所调用者的栈调用参数Return addressEBP局部变量 Shellcode地址地址R中含空字节SSSSRNNNNNNNNWin32栈地址含有空字节北京大学计算机科学技术研究所北京大学计算机科学技术研究所如何解决?北京大学计算机科学技术研究所北京大学计算机科学技术研究所通过跳转指令执行Shellcode调用者的栈调用参数Re
10、turn addressEBP局部变量SSSSRNNNNNNNNEBPESPESPESPESP北京大学计算机科学技术研究所北京大学计算机科学技术研究所Win32远程缓冲区溢出北京大学计算机科学技术研究所北京大学计算机科学技术研究所Win32 Shellcode C语言版北京大学计算机科学技术研究所北京大学计算机科学技术研究所Win32 Shellcode 汇编语言版北京大学计算机科学技术研究所北京大学计算机科学技术研究所Win32 Shellcode Opcode版北京大学计算机科学技术研究所北京大学计算机科学技术研究所Win32完整的本地Shellcode北京大学计算机科学技术研究所北京大学计算机科学技术研究所从Kernel32.dll获取地址北京大学
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物资搬迁协议合同书模板
- 班班通安装劳务合同范本
- 精准扶贫房改造合同范本
- 销售店集体买车合同范本
- 牛肉面合作协议合同范本
- 物业消防水维修合同范本
- 燃气供货合同协议书模板
- 苗木移栽合同协议书样本
- 网签合同撤销协议书范本
- 甲状旁腺切除手术协议书
- 2025年中国牛磺酸行业市场调研分析及投资战略咨询报告
- 三年级语文上册 第三单元 快乐读书吧:在那奇妙的王国里教学设计 新人教版
- 户外墙体广告协议合同范本8篇
- 事故隐患内部报告奖励制度1
- T-NAASS 108-2024 宁夏柠条颗粒饲料加工技术规程
- 2024年煤矿安全规程
- 网络安全等级保护等级测评方案模板
- 2025年山东省现场流行病学调查职业技能竞赛理论参考试指导题库(含答案)
- 阻塞性睡眠呼吸暂停低通气综合征-OSAHS的麻醉处理课件
- 2021-2022学年辽宁省大连市高二下学期期末考试化学试题
- 延期交货申请书
评论
0/150
提交评论