摘要 | 第5-6页 |
ABSTRACT | 第6页 |
第一章 绪论 | 第11-17页 |
1.1 研究背景 | 第11-12页 |
1.2 缓冲区溢出漏洞及挖掘技术研究现状 | 第12-15页 |
1.3 软件逆向工程 | 第15页 |
1.4 论文的研究内容与组织结构 | 第15-17页 |
1.4.1 论文的研究内容 | 第15页 |
1.4.2 论文的组织结构 | 第15-17页 |
第二章 缓冲区溢出攻击技术分析 | 第17-30页 |
2.1 LINUX X86 平台缓冲区溢出技术 | 第17-24页 |
2.1.1 Linux 的内存管理 | 第17-19页 |
2.1.2 缓冲区溢出的流程 | 第19-22页 |
2.1.3 缓冲区溢出的攻击技术 | 第22-24页 |
2.2 WINDOWS 平台缓冲区溢出技术 | 第24-29页 |
2.2.1 JMP ESP 定位ShellCode | 第25-26页 |
2.2.2 利用异常处理执行ShellCode(JMP /CALL EBX) | 第26-28页 |
2.2.3 两种方法使用的时机 | 第28-29页 |
2.3 小结 | 第29-30页 |
第三章 SHELLCODE 编写技术 | 第30-55页 |
3.1 LINUX 下的SHELLCODE 编写 | 第30-43页 |
3.1.1 系统调用 | 第30-32页 |
3.1.2 编写ShellCode | 第32-34页 |
3.1.3 可使用的shellcode | 第34-36页 |
3.1.4 获得Shell 的shellcode | 第36-43页 |
3.2 WINDOWS 下的SHELLCODE 编写 | 第43-54页 |
3.2.1 Windows 下的函数调用原理 | 第43页 |
3.2.2 查看函数的地址 | 第43-45页 |
3.2.3 SHELLCODE 的生成 | 第45-48页 |
3.2.4 通用SHELLCODE 的编写 | 第48-52页 |
3.2.5 添加用户的ShellCode | 第52-54页 |
3.3 小结 | 第54-55页 |
第四章CSRSS.EXE 漏洞溢出分析和利用 | 第55-68页 |
4.1 漏洞的产生原因 | 第55-56页 |
4.2 溢出程序构造分析 | 第56-62页 |
4.2.1 程序源代码 | 第56-60页 |
4.2.2 源代码分析 | 第60-62页 |
4.3 实例利用 | 第62-67页 |
4.3.1 控制台登录 | 第62-65页 |
4.3.2 telnet 登录 | 第65-67页 |
4.4 小结 | 第67-68页 |
第五章 缓冲区溢出漏洞挖掘技术 | 第68-87页 |
5.1 静态分析 | 第68-71页 |
5.1.1 静态分析技术 | 第68-70页 |
5.1.2 程序解析 | 第70-71页 |
5.1.3 静态漏洞分析 | 第71页 |
5.2 动态分析 | 第71-75页 |
5.2.1 动态分析技术 | 第71-72页 |
5.2.2 动态分析技术的实现 | 第72-75页 |
5.3 逆向技术分类 | 第75-80页 |
5.3.1 程序流程逆向 | 第75-80页 |
5.3.2 数据格式逆向 | 第80页 |
5.4 如何在逆向中发掘溢出漏洞 | 第80-82页 |
5.5 FUZZING 技术 | 第82-86页 |
5.5.1 Fuzzer 的工作原理 | 第82-84页 |
5.5.2 Fuzzing 技术的实际使用 | 第84-86页 |
5.6 小结 | 第86-87页 |
第六章 总结与展望 | 第87-88页 |
6.1 总结 | 第87页 |
6.2 展望 | 第87-88页 |
参考文献 | 第88-90页 |
致谢 | 第90-91页 |
攻读硕士学位期间发表的论文 | 第91页 |