摘要 | 第5-6页 |
ABSTRACT | 第6页 |
第一章 绪论 | 第10-15页 |
1.1 研究背景及意义 | 第10-11页 |
1.2 国内外研究现状与相关工具介绍 | 第11-13页 |
1.2.1 国内外研究现状 | 第11-12页 |
1.2.2 PHP审计工具介绍 | 第12-13页 |
1.3 研究内容 | 第13页 |
1.4 论文结构 | 第13-15页 |
第二章 PHP特性及安全缺陷研究 | 第15-25页 |
2.1 PHP语言简介 | 第15页 |
2.2 PHP语言特性研究 | 第15-19页 |
2.2.1 用户输入 | 第16页 |
2.2.2 动态弱类型 | 第16-17页 |
2.2.3 动态执行 | 第17页 |
2.2.4 对象定义与实例化 | 第17页 |
2.2.5 自动加载 | 第17-18页 |
2.2.6 引用和复制 | 第18-19页 |
2.3 PHP应用架构研究 | 第19-21页 |
2.3.1 传统架构 | 第19页 |
2.3.2 MVC架构 | 第19-20页 |
2.3.3 应用架构对缺陷检测的影响 | 第20-21页 |
2.4 PHP安全缺陷研究 | 第21-24页 |
2.4.1 SQL注入漏洞 | 第21-22页 |
2.4.2 跨站脚本漏洞 | 第22-23页 |
2.4.3 文件包含漏洞 | 第23页 |
2.4.4 文件上传漏洞 | 第23页 |
2.4.5 代码执行漏洞 | 第23-24页 |
2.5 本章小结 | 第24-25页 |
第三章 PHP代码缺陷检测技术研究 | 第25-47页 |
3.1 静态分析技术 | 第25-33页 |
3.1.1 分析方式概述 | 第25-26页 |
3.1.2 词法分析 | 第26-28页 |
3.1.3 语法分析 | 第28页 |
3.1.4 控制流图 | 第28-29页 |
3.1.5 数据流分析 | 第29-31页 |
3.1.6 开源编译前端 | 第31-33页 |
3.2 动态分析技术 | 第33-35页 |
3.2.1 黑盒分析方式 | 第34页 |
3.2.2 灰盒分析方式 | 第34-35页 |
3.3 基于MVC架构入口路径分析的动态包含特性分析技术 | 第35-40页 |
3.3.1 入口模式对静态分析的影响 | 第35-36页 |
3.3.2 基于入口路径的动态包含特性分析技术 | 第36-40页 |
3.4 基于污染传播分析的安全净化有效性检测技术 | 第40-46页 |
3.4.1 PHP安全净化方式分析 | 第40-42页 |
3.4.2 安全净化代码提取 | 第42-44页 |
3.4.3 净化代码有效性测试 | 第44-46页 |
3.5 本章小结 | 第46-47页 |
第四章 PHP代码缺陷检测工具的设计实现 | 第47-58页 |
4.1 缺陷检测目标 | 第47-48页 |
4.2 整体设计 | 第48-49页 |
4.3 预处理模块 | 第49-52页 |
4.3.1 入口分析 | 第49页 |
4.3.2 语法分析和控制流图生成 | 第49-52页 |
4.4 缺陷分析模块 | 第52-57页 |
4.4.1 数据流分析 | 第52-54页 |
4.4.2 漏洞规则分析 | 第54-56页 |
4.4.3 动态漏洞验证 | 第56-57页 |
4.5 本章小结 | 第57-58页 |
第五章 测试与分析 | 第58-63页 |
5.1 测试样本选取 | 第58页 |
5.2 测试环境搭建 | 第58-59页 |
5.3 测试结果与分析 | 第59-63页 |
5.3.1 缺陷检测能力测试 | 第59-60页 |
5.3.2 MVC架构支持测试 | 第60-61页 |
5.3.3 净化有效性识别测试 | 第61-63页 |
第六章 总结与展望 | 第63-65页 |
6.1 工作总结 | 第63页 |
6.2 工作展望 | 第63-65页 |
参考文献 | 第65-67页 |
致谢 | 第67-68页 |
攻读学位期间发表的学术论文目录 | 第68页 |