| 摘要 | 第1-4页 |
| Abstract | 第4-8页 |
| 第一章 绪论 | 第8-12页 |
| ·论文的工作背景 | 第8-9页 |
| ·国内外研究现状 | 第9-11页 |
| ·论文的结构 | 第11-12页 |
| 第二章 Web应用安全漏洞测试技术 | 第12-18页 |
| ·Web应用安全漏洞的概念 | 第12页 |
| ·Web应用安全漏洞造成的危害 | 第12页 |
| ·Web应用安全漏洞的成因 | 第12-13页 |
| ·静态漏洞检测技术及其缺陷 | 第13-14页 |
| ·源代码扫描 | 第13页 |
| ·反汇编扫描 | 第13页 |
| ·对静态漏洞测试技术的讨论 | 第13-14页 |
| ·动态漏洞检测技术(错误注入技术) | 第14-17页 |
| ·错误注入的定义 | 第14页 |
| ·错误注入系统的一般构成 | 第14-15页 |
| ·软件错误注入模式系统 | 第15-17页 |
| ·错误注入技术的优点 | 第17-18页 |
| 第三章 Web应用安全漏洞分类 | 第18-26页 |
| ·Web应用程序的一般体系结构 | 第18页 |
| ·Web服务器的安全漏洞及其检测 | 第18-20页 |
| ·目录遍历攻击 | 第18-19页 |
| ·缓冲区溢出漏洞 | 第19页 |
| ·源代码泄露漏洞 | 第19-20页 |
| ·Web应用程序的安全漏洞及其检测 | 第20-23页 |
| ·认证机制漏洞 | 第20-21页 |
| ·授权机制漏洞 | 第21-22页 |
| ·输入验证漏洞 | 第22-23页 |
| ·Web数据存储的漏洞及其检测 | 第23页 |
| ·本章小结 | 第23-26页 |
| 第四章 Web应用安全漏洞测试工具Punks的总体设计 | 第26-34页 |
| ·Punks的设计思路 | 第26-29页 |
| ·注入数据的选择 | 第26-27页 |
| ·交互式注入与批处理式注入 | 第27-28页 |
| ·单线程运行与多线程运行 | 第28-29页 |
| ·Punks 的总体结构设计 | 第29-34页 |
| ·网络爬行组件的功能 | 第30-31页 |
| ·注入/分析组件的功能 | 第31页 |
| ·注入模式库 | 第31页 |
| ·其他功能组件 | 第31-32页 |
| ·各模块的交互与协同 | 第32-34页 |
| 第五章 Punks 中爬行组件的详细设计 | 第34-44页 |
| ·开源网络爬行软件HarvestMan | 第34-38页 |
| ·HarvestMan 的总体结构 | 第35-36页 |
| ·HarvestMan 的主要类对象之间的交互 | 第36-37页 |
| ·分析结论 | 第37-38页 |
| ·增加新的功能 | 第38-40页 |
| ·提高抽取链接的能力 | 第38页 |
| ·增加一个url过滤器类 | 第38-39页 |
| ·增加一个xml文件生成器 | 第39页 |
| ·允许下载查询类型和参数类型的url | 第39-40页 |
| ·与Punks的管理模块和注入模块集成 | 第40-44页 |
| ·改写config.xml | 第40-41页 |
| ·改写ConfigParser类 | 第41页 |
| ·改写Registry类 | 第41页 |
| ·改写HarvestManLogger类和HarvestManStateObject类 | 第41-44页 |
| 第六章 Punks 中注入/分析组件的详细设计 | 第44-56页 |
| ·类与接口的设计 | 第44-51页 |
| ·Header类、Body类和RequestAndResponse类 | 第44-45页 |
| ·Proxyconnection类、Proxy类、Connection类 | 第45-47页 |
| ·Urlgenerator类、Requestgenerator类、RequestQueue类 | 第47-48页 |
| ·Injector类、InjectorManager类、InjectorThread类、InjectorThreadPool类 | 第48-51页 |
| ·Analyser类 | 第51页 |
| ·注入/分析组件中各对象的交互 | 第51-54页 |
| ·注入分析组件的启动过程 | 第51-52页 |
| ·设计请求的生成与缓冲过程 | 第52-53页 |
| ·设计多线程的注入过程 | 第53页 |
| ·设计代理发送和响应分析过程 | 第53-54页 |
| ·注入/分析组件中的对象的总体交互图设计 | 第54-56页 |
| 第七章 Punks的实现 | 第56-72页 |
| ·开发语言与工具的选择 | 第56页 |
| ·对开源爬行软件HavestMan的改写 | 第56-58页 |
| ·注入/分析模块的实现 | 第58-68页 |
| ·多线程机制的实现 | 第58-60页 |
| ·实现对临界资源的互斥访问 | 第60-61页 |
| ·注入url的生成过程的实现 | 第61-63页 |
| ·HTTP请求的构造 | 第63-65页 |
| ·HTTP代理的实现 | 第65-66页 |
| ·HTTP请求的拦截和保存 | 第66-67页 |
| ·SQL注入请求的构造 | 第67-68页 |
| ·程序的运行与调试 | 第68-72页 |
| 第八章 进一步的工作 | 第72-74页 |
| ·用漏洞描述语言构造一个Web安全漏洞库 | 第72-73页 |
| ·分布式的Web应用安全漏洞测试工具D-Punks | 第73-74页 |
| 结束语 | 第74-75页 |
| 致谢 | 第75-76页 |
| 参考文献 | 第76-78页 |