| 摘要 | 第5-6页 |
| ABSTRACT | 第6-7页 |
| 缩略语对照表 | 第10-13页 |
| 第一章 绪论 | 第13-17页 |
| 1.1 研究背景 | 第13-14页 |
| 1.2 国内外研究现状 | 第14-16页 |
| 1.3 本文的主要研究工作和结构安排 | 第16-17页 |
| 第二章 基础理论 | 第17-29页 |
| 2.1 漏洞的定义及产生的原因 | 第17-18页 |
| 2.2 漏洞的分类 | 第18-24页 |
| 2.2.1 栈溢出漏洞 | 第19-21页 |
| 2.2.2 格式化字符串漏洞 | 第21-22页 |
| 2.2.3 UAF(Use After Free)漏洞 | 第22-23页 |
| 2.2.4 SQL注入 | 第23-24页 |
| 2.3 模糊测试技术 | 第24-25页 |
| 2.4 动态二进制插桩框架Pin | 第25-26页 |
| 2.5 软件漏洞分析技术 | 第26-28页 |
| 2.6 本章小结 | 第28-29页 |
| 第三章 问题描述及算法框架 | 第29-37页 |
| 3.1 手动漏洞利用构造示例 | 第29-31页 |
| 3.2 问题描述 | 第31-32页 |
| 3.3 算法框架 | 第32-35页 |
| 3.4 本章小结 | 第35-37页 |
| 第四章 漏洞利用自动生成算法 | 第37-53页 |
| 4.1 模糊测试模块 | 第37页 |
| 4.2 数据流和控制流信息获取模块 | 第37-41页 |
| 4.3 控制流约束构造模块 | 第41-43页 |
| 4.4 漏洞判断模块 | 第43-45页 |
| 4.5 数据流约束构造模块 | 第45-50页 |
| 4.6 本章小结 | 第50-53页 |
| 第五章 实验结果分析 | 第53-57页 |
| 5.1 shellcode的选择 | 第53页 |
| 5.2 实验结果分析 | 第53-57页 |
| 第六章 总结与展望 | 第57-59页 |
| 参考文献 | 第59-63页 |
| 致谢 | 第63-65页 |
| 附录A 测试代码 | 第65-69页 |
| A.1 存在缓冲区漏洞的服务器代码 | 第65-69页 |
| 作者简介 | 第69-70页 |