论文摘要
随着计算机网络和通讯技术的快速发展,利用开放的网络环境进行全球通信已成为时代发展的趋势。Web应用越来越广泛,网站建设和网页设计的需求越来越大,但也容易受到网络安全问题的威胁,引起了普遍关注。所以,本文针对Web应用程序漏洞的特征,研究设计扫描器,研究实现关键技术,使漏洞检测更加准确、高效。对于一个Web应用程序漏洞扫描器来说,一个优秀的扫描设计方案将会对各个关键技术的设计、测试验证和实现起到关键作用,其设计的好坏直接关系到最后整个系统的成败。本文工作重点就在于,针对Web应用程序漏洞的特征,设计一个具有针对性和实用性的扫描系统。对漏洞扫描的关键技术进行分析研究,提出一种适合于Web应用程序漏洞的基于网络的扫描器的模型,给出一套相对完整的、可行的设计方案。同时,着力解决其中的关键技术和问题。本文对漏洞扫描技术进行了深入的研究,并在此基础上,设计了一个基于网络爬虫的Web应用程序漏洞扫描系统,本文主要工作有以下几方面:1.研究各种不同的Web应用程序漏洞的特性。详细剖析了SQL注入及XSS等漏洞,主要包括其产生原因、危害、攻击步骤、避免方式、检测方法等。2.对开源软件包libcurl进行了二次开发,模拟实现HTTP客户端,完成发送变异测试请求和获取攻击响应等功能。3.利用线程池提高系统的效率,后台各个模块的执行都是由线程池来执行具体任务的;各个漏洞模块采用相同的架构,具有相同的类层次,提高了系统的可扩展性。4.深入研究网络爬虫技术,并针对Web应用程序漏洞的特性,改进了网络爬虫的功能,在爬行的同时对动态交互节点进行分析,在遍历的过程中记录可能存在漏洞的可疑点。5.研究现有的基于网络的Web应用程序漏洞扫描器所使用的技术、工作结构、基本框架和存在的不足,设计并实现一个针对Web应用程序漏洞的扫描器,并对其系统结构和主要功能模块的实现做了详细的描述。结合系统要求,研究了每个模块所需的相关实现技术。6.对扫描工具进行了测试,并对测试结果进行了分析,分析结果表明,该扫描器是有效的。