论文部分内容阅读
随着互联网的广泛应用,Web应用平台已经逐渐成为互联网信息交互中心,许多Web程序为提高用户体验度,包含了大量的动态内容。但随之而来的是Web应用面临着日益严重的安全威胁,如何保障Web应用安全,已经是一个很重要的课题。
Web应用程序有C/S和B/S两种模式。C/S是客户端/服务器端程序,这类程序一般独立运行。而B/S是浏览器端/服务器端应用程序,一般借助IE等浏览器来运行。
如今基于B/S模式的网络服务架构技术被普遍采用,主要操作在服务器端实现,极大的降低了客户端负载,减轻了系统维护与升级的成本和工作量,降低了总体成本。门户网站是B/S模式的典型代表,它作为提供某类综合性互联网信息资源和提供有关信息服务的Web应用系统,其在日常生活中的重要性日益凸显,相比垂直定位且专注于某一方面的普通网站来讲,内容更为全面,同时面临存在的安全隐患考虑的安全因素更多。
现今门户网站在数据校验方面虽然做了较好的防御,但黑客变化多端的攻击手段使数据合法性校验面临较大的安全考验,主要有SQL注入与跨站脚本漏洞等,因此它在应用中仍然存在一定的安全隐患。分析当前对网站安全威胁较严重的两种网络漏洞攻击(SQL注入与跨站脚本漏洞)的实现原理和常用攻击方法,并结合研究和实践,探讨具体的检测防范措施。
本文首先研究了门户网站面临的安全威胁及出现的原因,并选择了Windows操作系统、IIS服务器、SQLServer数据库、ASP.NET框架作为开发门户网站的实现环境。之后较深入的研究探讨了SQL注入攻击和跨站脚本漏洞攻击这两种影响最为严重的Web应用攻击的检测和防御技术,分析门户网站在数据合法性校验方面的不足。
针对SQL注入攻击,本文较为深入研究其攻击行为及特征,采用正则表达式对攻击特征进行了较完整的描述;在研究SQL注入防护技术的基础上,本文基于服务器端过滤技术实现了Web服务器端SQL注入攻击过滤检测。实时分析HTTP请求数据,检测并拦截攻击行为,采用优化组合的正则表达式描述过滤规则,较好的预防了SQL注入攻击。
针对跨站脚本攻击和跨站请求伪造,根据漏洞攻击的作用位置进行分类,较为深入的分析了几种漏洞的机理和防御技术,研究比较了一些攻击载体(脚本语言或输入的数据)的特点和相应的检测方法。最后结合正则表达式技术,在Web服务端设计实现了跨站脚本漏洞攻击过滤防护,以阻断恶意攻击行为。
本文设计实现了一个电子公告牌系统(BBS论坛),通过对其安全漏洞分析和研究,总结出了一套较完善的防御方法,在理论研究的基础上对相应的安全防护机制进行了设计与实现,并进行防御性能相关测试。
测试结果表明,本文设计实现的漏洞检测及攻击防御机制可以较有效的防御SQL注入和跨站脚本攻击,对门户网站安全漏洞防御具有一定的意义。