论文部分内容阅读
随着互联网的不断发展,Web应用程序具有了更强大的功能和更好的人机交互体验。Web应用在给人们的生活带来了便捷的同时也带来了一系列的安全隐患。Web安全漏洞层出不穷,跨站脚本(Cross Site Scripting,XSS)漏洞正是这类漏洞中最常见,危害最大的漏洞之一。大多数网站开发人员会对用户的输入进行简单过滤以防范跨站脚本攻击,但这种做法存在一定的局限性,仍然需进行全面的漏洞检测工作。现有的跨站脚本漏洞检测工具在一定程度上能够检测出网站的跨站脚本漏洞,但是其全面性及高效性亟待改善。如何全面快速有效地检测出网站中存在的跨站脚本漏洞,是当下漏洞检测技术研究的一个热门方向。 基于对跨站点脚本漏洞的充分研究,本文主要完成了以下工作: 1)采用随机游走实现了一个带偏好的爬虫。爬虫(在某个站点中)爬取的网页是繁多的,为保证漏洞检测的效率,本论文提出了一种基于随机游走的搜索策略,使爬虫在遍历整个站点的基础上尽量抓取Web站点中可疑的网页,提高了漏洞的挖掘效率。 2)通过对攻击向量的形式结构以及服务器过滤机制的分析,提出了一种模块化跨站脚本攻击向量生成策略。实验表明,该策略能够自动生成全面有效的跨站脚本攻击向量,为检测系统的实现提供了有效支持。 3)采用PageRank算法对可疑网页进行评估并排序,在此基础上提出了一种基于过滤机制的攻击向量分层级选择方法。实验表明,这种方法能够有效解决Web服务器与目标站点频繁交互的问题,提高了漏洞检测的效率。 最后,在以上3点的基础上,结合Fuzzing技术,使用Java语言开发了一个跨站脚本漏洞检测系统。Fuzzing是一种漏洞检测技术,它不需要测试者接触目标程序源代码,具有功能丰富和自动化程度高的特点。测试表明,该系统能准确地挖掘出目标站点中存在的跨站脚本漏洞,且具有较高的效率。