基于网络爬虫的WEB漏洞扫描系统的开发

目录

目录

1前言 (1)

1.1课题的研究背景及意义 (1)

1.2课题的国内外研究现状 (2)

1.3研究内容与目的 (4)

1.4论文组织结构 (4)

1.5本章小结 (5)

2WEB中的XSS及SQL注入漏洞分析 (7)

2.1WEB安全漏洞 (7)

2.2漏洞扫描技术 (8)

2.3XSS (9)

2.3.1XSS原理 (9)

2.3.2XSS的危害 (10)

2.4SQL注入 (11)

2.4.1SQL注入原理 (11)

2.4.2SQL注入的危害 (13)

2.5本章小结 (13)

3系统设计 (15)

3.1系统整体架构及功能 (15)

3.1.1系统的架构 (15)

3.1.2系统功能划分 (16)

3.2系统配置模块 (17)

3.3网络爬虫模块 (18)

3.3.1页面采集 (19)

3.3.2页面解析 (19)

3.3.3爬虫队列设计 (21)

3.4漏洞扫描模块 (22)

3.4.1XSS检测模块 (22)

3.4.2SQL注入检测模块 (26)

3.5数据存储及数据库表 (30)

3.5.1数据存储模块 (30)

3.5.2数据库表 (31)

3.6本章小结 (32)

I

西安理工大学工程硕士专业学位论文

4系统实现 (33)

4.1系统配置模块的实现 (33)

4.2网络爬虫模块的实现 (35)

4.2.1网页下载 (36)

4.2.2URL规范化 (37)

4.2.3爬虫队列 (37)

4.3漏洞扫描模块的实现 (38)

4.4数据库接口模块实现 (40)

4.5本章小结 (40)

5系统测试 (41)

5.1系统功能测试 (41)

5.2系统扫描准确性测试 (45)

5.3系统性能测试 (47)

5.4本章小结 (48)

6总结与展望 (49)

6.1工作总结 (49)

6.2展望 (49)

致谢 (51)

参考文献 (53)

附录 (57)

II

前言

1前言

1.1课题的研究背景及意义

伴随着网络时代的到来,各种个人或团体的日常事务处理程序都逐渐向WEB(World Wide Web)应用方向转移。WEB应用程序(WEB Application)是一种可以通过WEB访问的应用程序。有别于传统的应用程序,WEB应用程序方便快捷,美观大方,并且功能强大,因而伴随WEB应用程序的用户与日俱增的同时,WEB应用程序迅速发展了起来。

在WEB1.0【1】时代,网站通过一种单向的信息发布方式和用户打交道,首先它会把所有资源存放到服务器上,然后通过WEB应用程序或其他网络通信渠道发布,用户会通过WEB应用程序获取相应的资源和信息。1997年,WEB2.0【1】【2】概念首次由Dale Dougherty【3】和Craig Cline在共同合作的Brain Storming会议上提出。2004年以后,人们迎来了真正的WEB2.0时代,互联网上出现了各种各样的WEB2.0应用技术,各种WEB2.0应用技术的出现极大地改变了人们的上网方式。WEB应用程序有利也有弊,它给人们带来便捷的同时也给人们带来了威胁。在WEB应用广为普及的今天,WEB应用安全问题已经是一个正在关注和并亟待解决的问题【4】。

由360互联网安全中心发布的《2014年中国网站安全报告》【5】中指出,2014年全年,360平台共扫描各类网站164.2万个:其中,存在安全漏洞的网站61.7万个,占扫描网站总数的37.6%;存在高危安全漏洞的网站共有27.9万个,占扫描网站总数的17.0%。根据2015年CNVD(China National Vulnerability Database),也即国家信息安全漏洞共享平台漏洞周报第十一期,本周(2015年3月9日~3月15日),CNVD收录了164个漏洞,其中WEB应用漏洞38个,占比高达23%。

对于大多数的WEB应用漏洞,都是由于在WEB应用开发时,WEB应用的开发人员没有经过专门的相关培训,因而对于WEB应用安全的相关知识和意识匮乏,从而使得WEB应用漏洞百出,为不法分子和黑客的入侵留下了隐患。根据软件工程【6】的思想,越早发现WEB应用的漏洞,给WEB应用开发和维护人员以及WEB用户造成的威胁越低。基于此考虑,所以在WEB应用发布之前,要对WEB应用进行详实而又全面的安全扫描,确保WEB应用的安全。动态扫描WEB应用,即指模拟黑客的入侵方式,通过刻意构造包含某种特定漏洞特征码的信息,向目标WEB应用发送HTTP请求,获取目标WEB应用的响应,两相比较,从而可以判断此类漏洞是否存在【7】。和静态扫描相比较,这种动态扫描的扫描结果更精确,更容易发现WEB应用的潜在威胁。在众多WEB应用漏洞中,XSS(Cross Site scripting)漏洞【8】【9】和SQL(Structured Query Language)注入漏洞【10】【11】【12】,无论从它们的存在范围看,还是从他们的危害程度上看,都可谓十分严重。世界上权威的开源WEB应用安全项目OWASP(Open Web Application Security Project),致力

1

相关文档
最新文档