跨站脚本攻击特性分析和防御技术研究
发布时间:2023-05-13 04:30
早期的Web给用户提供的功能仅仅是信息的展示,用户能做的只是选择浏览哪些页面,缺少与服务器的交互。随后,在Web2.0概念的广泛影响下,Web站点提供的服务内容和服务方式有了翻天覆地的变化,与早期单一的信息展示相比,如今的网络应用更加注重用户的体验和与用户的交流,用户可以提交输入数据甚至影响网站数据库中的内容。如果对这些用户的输入没有进行足够的检查和过滤,就有可能存在跨站脚本漏洞。跨站漏洞存在的根本原因是对用户输入缺乏充分的检查和过滤,而跨站攻击实现的根本途径是恶意代码经过混淆、伪造等掩饰手段成功躲避过防御系统。针对上述问题,本文开展了以下研发工作:1、实现了一个针对跨站脚本攻击的协同检测和防御系统,从检测和防御两方面入手:检测模块在用户发出页面请求时,通过动态测试方式模拟攻击行为,检测可能存在的跨站漏洞,验证网站脆弱性,完善网站服务器对用户的输入验证;防御模块在服务器端使用分离策略和标记算法将Web页面中的非信任内容进行分离,同时在客户端引入末端限制和混淆代码检测等手段对标记出的非信任内容进行分析和检测,协同完成跨站脚本防御工作。2、现阶段的协同系统对跨站脚本攻击的防御往往过分依赖服...
【文章页数】:83 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
第一章 绪论
1.1 课题背景
1.2 研究概况
1.3 论文组织
1.4 论文研究内容
第二章 跨站脚本攻防概述
2.1 Ajax
2.2 跨站脚本攻击
2.2.1 跨站脚本攻击的种类
2.2.2 跨站脚本攻击的方式
2.2.3 攻击严重性
2.3 跨站脚本防御
2.3.1 服务器端防御
2.3.2 客户端防御
2.3.3 服务器端与客户端协同防御
2.4 不同防御策略的效果对比
2.5 本章小结
第三章 协同检测和防御系统核心技术
3.1 模板引擎机制
3.2 代码分离技术
3.3 混淆JS代码的检测技术
3.4 页面漏洞检测技术
3.5 基于Fuzzing的页面漏洞检测技术
3.5.1 Fuzzing概述
3.5.2 Fuzzing漏洞检测技术局限性
3.5.3 Fuzzing漏洞检测技术的改进
3.5.3.1 Fuzzing技术的使用和研究现状
3.5.3.2 页面漏洞特点分析
3.5.3.3 本文对Fuzzing技术的改进
3.6 本章总结
第四章 协同检测和防御系统的设计与实现
4.1 系统概述
4.2 服务器端的设计与实现
4.2.1 模板引擎扩展
4.2.2 非信任内容的标记规则
4.2.3 随机标记算法
4.3 客户端的设计与实现
4.3.1 HTML文档末端节点限制
4.3.2 混淆代码检测
4.3.2.1 监控动态执行函数
4.3.2.2 环境检测
4.3.2.3 反检测技术及应对
4.3.2.4 混淆代码检测模块实现
4.3.3 Fuzzing模块的实现
4.3.3.3 Fuzzing模块的实现
4.3.3.4 改进效果验证
4.4 本章总结
第五章 系统测试
5.1 Fuzzing模块的测试
5.1.1 测试环境
5.1.2 测试的内容
5.1.3 测试过程
5.1.4 对比测试
5.2 整体系统测试
5.2.1 测试环境
5.2.2 测试过程
5.2.3 性能分析
5.3 本章总结
第六章 总结与展望
6.1 本文所做的工作
6.2 下一步的工作
致谢
参考文献
本文编号:3815306
【文章页数】:83 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
第一章 绪论
1.1 课题背景
1.2 研究概况
1.3 论文组织
1.4 论文研究内容
第二章 跨站脚本攻防概述
2.1 Ajax
2.2 跨站脚本攻击
2.2.1 跨站脚本攻击的种类
2.2.2 跨站脚本攻击的方式
2.2.3 攻击严重性
2.3 跨站脚本防御
2.3.1 服务器端防御
2.3.2 客户端防御
2.3.3 服务器端与客户端协同防御
2.4 不同防御策略的效果对比
2.5 本章小结
第三章 协同检测和防御系统核心技术
3.1 模板引擎机制
3.2 代码分离技术
3.3 混淆JS代码的检测技术
3.4 页面漏洞检测技术
3.5 基于Fuzzing的页面漏洞检测技术
3.5.1 Fuzzing概述
3.5.2 Fuzzing漏洞检测技术局限性
3.5.3 Fuzzing漏洞检测技术的改进
3.5.3.1 Fuzzing技术的使用和研究现状
3.5.3.2 页面漏洞特点分析
3.5.3.3 本文对Fuzzing技术的改进
3.6 本章总结
第四章 协同检测和防御系统的设计与实现
4.1 系统概述
4.2 服务器端的设计与实现
4.2.1 模板引擎扩展
4.2.2 非信任内容的标记规则
4.2.3 随机标记算法
4.3 客户端的设计与实现
4.3.1 HTML文档末端节点限制
4.3.2 混淆代码检测
4.3.2.1 监控动态执行函数
4.3.2.2 环境检测
4.3.2.3 反检测技术及应对
4.3.2.4 混淆代码检测模块实现
4.3.3 Fuzzing模块的实现
4.3.3.3 Fuzzing模块的实现
4.3.3.4 改进效果验证
4.4 本章总结
第五章 系统测试
5.1 Fuzzing模块的测试
5.1.1 测试环境
5.1.2 测试的内容
5.1.3 测试过程
5.1.4 对比测试
5.2 整体系统测试
5.2.1 测试环境
5.2.2 测试过程
5.2.3 性能分析
5.3 本章总结
第六章 总结与展望
6.1 本文所做的工作
6.2 下一步的工作
致谢
参考文献
本文编号:3815306
本文链接:https://www.wllwen.com/guanlilunwen/ydhl/3815306.html