文摘
英文文摘
声明
第一章绪论
1.1论文的工作背景
1.2国内外研究现状
1.3论文的结构
第二章Web应用安全漏洞测试技术
2.1 Web应用安全漏洞的概念
2.2 Web应用安全漏洞造成的危害
2.3 Web应用安全漏洞的成因
2.4静态漏洞检测技术及其缺陷
2.4.1源代码扫描
2.4.2反汇编扫描
2.4.3对静态漏洞测试技术的讨论
2.5动态漏洞检测技术(错误注入技术)
2.5.1错误注入的定义
2.5.2错误注入系统的一般构成
2.5.3软件错误注入模式系统
2.6错误注入技术的优点
第三章Web应用安全漏洞分类
3.1 Web应用程序的一般体系结构
3.2 Web服务器的安全漏洞及其检测
3.2.1目录遍历攻击
3.2.2缓冲区溢出漏洞
3.2.3源代码泄露漏洞
3.3 Web应用程序的安全漏洞及其检测
3.3.1认证机制漏洞:
3.3.2授权机制漏洞
3.3.3输入验证漏洞
3.4 Web数据存储的漏洞及其检测
3.5本章小结
第四章Web应用安全漏洞测试工具Punks的总体设计
4.1 Punks的设计思路
4.1.1注入数据的选择
4.1.2交互式注入与批处理式注入
4.1.3单线程运行与多线程运行
4.2 Punks的总体结构设计
4.2.1网络爬行组件的功能
4.2.2注入/分析组件的功能
4.2.3注入模式库
4.2.4其他功能组件
4.2.5各模块的交互与协同
第五章Punks中爬行组件的详细设计
5.1开源网络爬行软件HarvestMan
5.1.1HarvestMan的总体结构
5.1.2 HarvestMan的主要类对象之间的交互
5.1.3分析结论
5.2增加新的功能
5.2.1提高抽取链接的能力
5.2.2增加一个url过滤器类
5.2.3增加一个xml文件生成器
5.2.4允许下载查询类型和参数类型的url
5.3与Punks的管理模块和注入模块集成
5.3.1改写config.xml
5.3.2改写ConfigParser类
5.3.3改写Registry类
5.3.4改写HarvestManLogger类和HarvestManStateObject类
第六章Punks中注入/分析组件的详细设计
6.1类与接口的设计
6.1.1 Header类、Body类和RequestAndResponse类
6.1.2 Proxyconnection类、Proxy类、Connection类
6.1.3 Urlgenerator类、Requestgenerator类、RequestQueue类
6.1.4 Injector类、InjectorManager类、InjectorThread类、InjectorThreadPool类
6.1.5 Analyser类
6.2注入/分析组件中各对象的交互
6.2.1注入分析组件的启动过程
6.2.2设计请求的生成与缓冲过程
6.2.3设计多线程的注入过程
6.2.4设计代理发送和响应分析过程
6.3注入/分析组件中的对象的总体交互图设计
第七章Punks的实现
7.1开发语言与工具的选择
7.2对开源爬行软件HavestMan的改写
7.3注入/分析模块的实现
7.3.1多线程机制的实现
7.3.2实现对临界资源的互斥访问
7.3.3注入url的生成过程的实现
7.3.4 HTTP请求的构造
7.3.5 HTTP代理的实现
7.3.6 HTTP请求的拦截和保存
7.3.7 SQL注入请求的构造
7.4程序的运行与调试
第八章进一步的工作
8.1用漏洞描述语言构造一个Web安全漏洞库
8.2分布式的Web应用安全漏洞测试工具D-Punks
结束语
致谢
参考文献