版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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年度速记服务与保密协议–聚法通专业法庭记录3篇
- 2025年版出租车公司股权转让及运营权移交协议模板3篇
- 个人与个人2024年度租赁合同9篇
- 个性化咨询服务2024年协议范本版A版
- 2025年航空航天零部件制造入股分红合同4篇
- 2025年度智慧停车设施物业管理合同4篇
- 2025年度文化艺术品代付款协议书4篇
- 二零二五版劳动合同法修订后企业应对策略合同3篇
- 2025版仓储消防安全检测与维护保养工程合同3篇
- 2025年高校食堂特色餐饮文化推广承包服务协议2篇
- 2025年春新沪科版物理八年级下册全册教学课件
- 2025届高考语文复习:散文的结构与行文思路 课件
- 电网调度基本知识课件
- 拉萨市2025届高三第一次联考(一模)语文试卷(含答案解析)
- 《保密法》培训课件
- 回收二手机免责协议书模板
- (正式版)JC∕T 60023-2024 石膏条板应用技术规程
- (权变)领导行为理论
- 2024届上海市浦东新区高三二模英语卷
- 2024年智慧工地相关知识考试试题及答案
- GB/T 8005.2-2011铝及铝合金术语第2部分:化学分析
评论
0/150
提交评论