首页> 中文学位 >基于Node.js的XSS和CSRF防御研究与实现
【6h】

基于Node.js的XSS和CSRF防御研究与实现

代理获取

目录

封面

声明

中文摘要

英文摘要

插图索引

表格索引

缩略语对照表

目录

第一章 绪论

1.1研究背景

1.2国内外研究现状

1.3本文研究内容

1.4本文结构安排

第二章 相关理论与技术

2.1 Node.js相关机制

2.2 Web安全相关技术

2.3 XSS安全漏洞

2.4 CSRF安全漏洞

2.5本章小结

第三章 系统总体分析与设计

3.1需求分析

3.2系统总体设计

3.3本章小结

第四章 系统详细设计与实现

4.1 XSS防御模块设计与实现

4.2会话管理模块设计与实现

4.3 CSRF防御模块设计与实现

4.4日志管理模块设计与实现

4.5通信接口设计与实现

4.6初始化模块设计与实现

4.7本章小结

第五章 系统测试

5.1环境搭建

5.2防御系统测试

5.3本章小结

第六章 总结与展望

6.1 总结

6.2展望

参考文献

致谢

作者简介

展开▼

摘要

如今越来越多的应用程序依靠Web这一平台发展为由用户主导的内容互联网模式。Web应用已经成为了当前最流行的计算机应用程序,但是随着Web应用的越来越火热,安全问题也随之而来,跨站脚本攻击(XSS)和跨站请求伪造(CSRF)是两种最流行的Web应用攻击方式。而Node.js作为一种新兴的Web应用开发平台,并没有为在其上开发及部署的Web应用提供XSS和CSRF防御功能。
  本文从Node.js的运行机制出发,对开发及部署在Node.js上的Web应用的性能方面进行综合考虑,设计实现了一个为Node.js Web应用提供XSS防御功能和CSRF防御功能的防御系统。该防御系统通过运行在Node.js的子进程中为Web应用提供防御服务,通过高度的解耦合,对于已开发及部署在Node.js平台上的Web应用来说,并不需要改动太多的代码就可以开启防御系统为其提供防御服务。
  防御系统分为六个模块,包括 XSS防御模块、CSRF防御模块、会话管理模块、日志管理模块、通信接口模块以及初始化模块。而防御系统设计实现的中心是XSS防御模块,因为只有Web应用在没有XSS安全漏洞的前提下,针对CSRF设计的防御措施才能够正常的进行防御。XSS的防御有四个步骤,分别为检测、解析、过滤及输出编码。首先对数据进行检测来判断其类型。接下来使用本文设计实现的HTML解析器对HTML数据进行解析,同时在解析过程中会利用污点标记算法对解析出的HTML标签进行污点标记。过滤过程分为两部分,包括HTML标签属性的过滤,以及HTML属性值的过滤;为了提高过滤效率,使用红黑树存储白名单及黑名单;并利用字符串信息熵以及攻击特征正则匹配算法来提高属性值过滤的准确性。最后通过追踪污点标记对原始字符串进行安全值替换,编码输出合法数据。在实现XSS防御的基础上,根据Anti CSRF Token防御策略实现了CSRF防御模块,同时实现了基于Redis数据库存储的Session模块来为Web应用提供会话管理。Web应用与防御系统之间的通信以IPC通道为主,同时使用Redis数据库作为第三方数据存储区,以数据共享的方式进行数据交换。
  本文搭建了测试环境对防御系统进行测试。测试主要包括功能测试和性能测试。通过对测试结果进行分析,证明防御系统能够对XSS和CSRF攻击进行有效防御,并且在为Web应用提供防御服务的同时,防御系统并没有对Web应用的响应时间造成太大的影响,符合性能需求。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号