一种取证式网站漏洞扫描方法和系统[发明专利]

(10)申请公布号 (43)申请公布日 2014.07.23
C N  103942497
A (21)申请号 201410185544.X
(22)申请日 2014.04.30
201310414211.5 2013.09.11 CN
G06F 21/57(2013.01)
(71)申请人杭州安恒信息技术有限公司
地址310051 浙江省杭州市滨江区通和路浙
江中财大厦15层
(72)发明人林章峰  范渊  杨永清
(74)专利代理机构杭州中成专利事务所有限公
司 33212
代理人
周世骏
(54)发明名称
一种取证网站漏洞扫描方法和系统
(57)摘要
本发明涉及网络应用安全领域,旨在提供一
种取证式网站漏洞扫描方法和系统。该方法包括
步骤:页面抓取、漏洞扫描、自动取证、信息收集、
手工取证;该系统包括页面抓取模块、漏洞扫描
模块、自动取证模块、信息收集模块、手工取证模
块、任务下发及管理模块、扫描结果显示及管理模
块、报表模块、系统数据库模块、项目文件管理模
块。本发明可以自动地对漏洞进行过滤,采用这种
方法,用户可以在自动扫描结束时就拿到一份更
加可信的报告,对于个别依然存在疑点的漏洞,可
以采用本方法中所述的“手工取证”步骤,直接快
速地对漏洞进行再次确认。
(66)本国优先权数据
(51)Int.Cl.
权利要求书3页  说明书7页  附图2页
(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书3页  说明书7页  附图2页(10)申请公布号CN 103942497 A
1.一种取证式网站漏洞扫描方法,用于对被扫描网站进行漏洞检测,其特征在于,包括以下步骤:
a)页面抓取:从被扫描网站的初始页面开始解析,获取被扫描网站的页面链接,然后将页面链接存入系统数据库模块,并保证相同页面链接不重复存入,再从系统数据库模块中提取已保存的并且未经过页面抓取步骤处理的页面链接,进行页面访问,并提取新的页面链接存入到系统数据库模块,直至抓取完被扫描网站的所有页面;
b)漏洞扫描:在步骤a抓取到的页面中,判断是否还有尚未进行漏洞检测的页面,若已没有尚未进行漏洞检测的页面,则转步骤e,否则执行:选择一个尚未进行漏洞检测的页面进行漏洞检测,针对这个页面,根据不同漏洞各自所对应的检测逻辑进行漏洞分析,如果发现漏洞转步骤c,否则重复执行步骤b;
c)自动取证:对步骤b中发现的漏洞,根据不同漏洞的取证逻辑进行自动取证,并自动过滤掉误报,获得能够证明该漏洞存在的取证结果;
d)信息收集:根据步骤b发现的漏洞,针对不同漏洞能采取的手工取证方法,自动收集手工取证方法所需要的取证信息并进行保存,完成后转步骤b对其他页面进行漏洞检测;
e)手工取证:使用步骤d收集的取证信息,根据不同漏洞能采取的相应的手工取证方法进行手工取证,并获得用于确认漏洞的真实性的手工取证结果。
2.根据权利要求1所述的一种取证式网站漏洞扫描方法,其特征在于,根据不同类型的网站漏洞,所述步骤c和步骤e中的取证结果包括以下数据:页面长度、HTTP响应码、页面请求响应时间、页面请求过程收发的报文、HTTP头、会话及Cookie、页面内容、多个页面请求之间的差异性(如页面响应码的差异、页面长度的差异、内容的差异等)、页面在浏览器中的实际显示效果及其截图(部分漏洞可以使用浏览器进行取证,不同的漏洞在浏览器中输入是不一样的,比如“跨站脚本”可以修改界面的标题或弹出一个对话框,“目录浏览”的显示效果则是在浏览器中显示一个目录下的所有子目录和子文件,不同的情况还有很多,不再一一列举)。
3.根据权利要求1所述的一种取证式网站漏洞扫描方法,其特征在于,所述步骤d中的取证信息包括以下数据:自动构造的用于进一步取证的URL、HTTP头、会话及Cookie、表单提交数据、HTTP请求数据包
、HTTP响应数据包。
4.根据权利要求1所述的一种取证式网站漏洞扫描方法,其特征在于,所述步骤c中的自动取证包括以下方法:
1)直接将漏洞所在页面的响应内容长度、响应码、响应时间、报文、页面内容作为取证结果,并以此判断漏洞是否存在;
2)在原始页面请求的基础上进行修改,自动构造至少一个新的http请求,并对这些不同请求的数据(包括响应内容长度、响应码、响应时间、报文、页面内容)进行对比,把对比获得的差异性作为取证结果,并以此判断漏洞是否存在;
3)在漏洞所在页面的返回内容中匹配符合特征的文本,将匹配到的内容作为取证结果,并以此判断漏洞是否存在;
4)自动模拟表单提交并获取请求结果,并以此判断漏洞是否存在;
5)使用浏览器内核及浏览器对页面的内容进行解析和排版,执行页面内容中的脚本,将解析和排版的输出结果作为取证的结果,并以此判断漏洞是否存在。
5.根据权利要求3所述的一种取证式网站漏洞扫描方法,其特征在于,所述步骤e的手工取证是可选的,能够根据需要选择性地执行步骤e;所述手工取证包括以下方法:
1)使用步骤d中获取的自动构造的用于进一步取证的URL,在浏览器中访问,查看实际的URL执行和显示结果,结合漏洞的特征,判断漏洞是否存在,且能将显示结果截图保存;
2)使用HTTP模拟发包器,将用于进一步取证的URL,以及步骤d中获取的HTTP头、会话及Cookie、表单提交数据信息,填入HTTP模拟发包器中,并发送HTTP请求,查看返回的页面内容,结合漏洞的特征,判断漏洞是否存在;
3)在浏览器中,将步骤d中获取的表单提交数据,填入漏洞所在页面的表单中,并提交表单,查看提交表单后的页面显示结果,结合漏洞的特征,判断漏洞是否存在;
4)利用专用工具,所述专用工具是指漏洞取证或渗透测试的工具,将进一步取证的URL、步骤d中获取的HTTP头、会话及Cookie、表单提交数据信息,填入专用工具中进一步取证或渗透,并查看结果,结合漏洞的特征,判断漏洞是否存在;
5)将步骤d中获取的HTTP请求数据包和HTTP响应数据包显示在用户界面上,并使用高亮、字体加粗方法将重要内容突出显示,结合漏洞的特征,人工判断漏洞是否存在。
6.根据权利要求1所述的一种取证式网站漏洞扫描方法,其特征在于,能将网站漏洞和取证结果同时显示在程序或系统的用户界面中,或同时输出到报表中;用户根据这些信息判断漏洞是否存在,以及漏洞的性质和危害性。
7.根据权利要求1所述的一种取证式网站漏洞扫描方法,其特征在于,所述一种取证式网站漏洞扫描方法具有学习功能:用户判断漏洞是否误报,系统对用户的判断结果进行记录,在后续的扫描中再次出现相同漏洞时,根据记录中的用户判断结果过滤掉误报的漏洞,即实现步骤c中的自动过滤掉误报。
8.基于权利要求1所述扫描方法的取证式网站漏洞扫描系统,其特征在于,包括页面抓取模块、漏洞扫描模块、自动取证模块、信息收集模块、手工取证模块、任务下发及管理模块、扫描结果显示及管理模块、报表模块、系统数据库模块、项目文件管理模块;
所述页面抓取模块用于从被扫描网站的初始页面或者系统数据库模块保存的页面链接中,解析获取新的页面链接,然后将获取的页面链接存入系统数据库模块中,并保证相同页面链接不重复存入(页面抓取模块中的系统数据库模块也能用项目文件来代替);
所述漏洞扫描模块用于判断页面是否有经过漏洞检测,并对未经过漏洞检测的页面进行检测;
所述自动取证模块用于对漏洞扫描模块中发现的漏洞进行自动取证,并自动过滤掉误报,获得能够证明该漏洞存在的取证结果;
所述信息收集模块用于对漏洞扫描模块中发现的漏洞,自动收集并保存用于手工取证的取证信息;
所述手工取证模块用于利用信息收集模块收集的取证信息,进行手工取证,并获得用于确认漏洞的真实性的手工取证结果;
所述任务下发及管理模块用于提供给用户启动扫描网站过程的操作手段,达到漏洞发现和取证的最终目的,通过支持用户在用户操作界面上下发扫描任务,并对其进行管理,包括暂停、停止、删除、配置;
所述扫描结果显示及管理模块用于在扫描过程中以及扫描完成后,将扫描数据显示在
界面上,并支持用户对扫描数据、手工取证结果和输出报告进行查看,扫描数据包括发现的漏洞、相应网站的页面链接、手工取证信息;
所述报表模块用于将漏洞检测的结果输出到独立文件中,独立文件作为工作人员之间的交流、存档或作为改进网站系统的依据,独立文件能被导入到第三方系统中作进一步的处理;
所述系统数据库模块用于存储系统的配置信息、网站的漏洞、页面链接,系统的配置信息包括账号和日志信息;
所述项目文件管理模块用于对项目文件进行管理,包括创建、删除、写入数据;项目文件是指能存储页面链接和漏洞数据的文件,每个任务下发及管理模块所下发的任务,都有一个对应的项目文件。
1/7页
一种取证式网站漏洞扫描方法和系统技术领域
[0001] 本发明属于网络应用安全领域,尤其涉及一种取证式网站漏洞扫描方法和系统。背景技术
[0002]
随着互联网的发展,各种网络应用层出不穷,极大程度地满足了用户的各种需求。但是,网络应用开发过程中往往更加注重功能上的实现,却遗留下各种各样的安全问题,这一般是由于进度压力、程序员水平限制、设计不完善或一时疏忽导致的。常见网站安全问题包括:代码对输入数据的过滤不足导致的漏洞、服务器配置方面造成的漏洞、敏感信息泄露等。在应用开发过程中一般很难完全杜绝这些漏洞。因此采用网站漏洞扫描工具对网站进行安全评估是一个很好的选择。
[0003] 网站漏洞扫描系统一般抓取网站所有页面,然后对抓取到的页面进行逐个分析,发现尽可能多的安全问题。然而几个因素导致这样的扫描方式非常容易造成误报,报告一些实际上并不存在的漏洞,对网站开发和维护人员造成时间和精力上的浪费。这些因素包括:1)很多网页的动态性,造成网站漏洞扫描系统判断错误;2)网站漏洞扫描系统本身的判断逻辑不完善;3)目前的应用环境非常复杂,网站漏洞扫描系统的判断逻辑往往无法覆盖所有可能出现的情况。
[0004] 在现有已知的技术中,与本方法较为接近的技术是一种名为“基于渗透技术的Web 漏洞扫描方法”,其关键步骤是“包括扫描和分析两个阶段”。该技术主要实现了网站漏洞发现的方法。但如前面所述,这样的方法容易产生误报,但没有提供很好的过滤误报的方法。工作人员可以采用这种方法扫描到一些漏洞,但可能一部分是确实存在的,一部分是误报。他们只能选择容忍这些误报,或人工对漏洞再次逐个分析。发明内容
[0005] 本发明的目的是弥补现有网站漏洞扫描方法的不足,提供一种漏洞扫描方法和扫描系统,采用自动和手工取证方法,提高网站漏洞扫描系统扫描的准确率,提交更加准确可信的网站漏洞扫描结果。
[0006] 提供一种取证式网站漏洞扫描方法,用于对被扫描网站进行漏洞检测,包括以下步骤:
[0007] a)页面抓取:从被扫描网站的初始页面开始解析,获取被扫描网站的页面链接,然后将页面链接存入系统数据库模块,并保证相同页面链接不重复存入,再从系统数据库模块中提取已保存的并且未经过页面抓取步骤处理的页面链接,进行页面访问,并提取新的页面链接存入到系统数据库模块,直至抓取完被扫描网站的所有页面;
[0008] b)漏洞扫描:在步骤a 抓取到的页面中,判断是否还有尚未进行漏洞检测的页面,若已没有尚未进行漏洞检测的页面,则转步骤e ,否则执行:选择一个尚未进行漏洞检测的页面进行漏洞检测,针对这个页面,根据不同漏洞各自所对应的检测逻辑进行漏洞分析(漏洞的种类非常多,每种漏洞都有不同的
检测方法,部分相关技术已属于业界公知),如说  明  书CN 103942497 A

本文发布于:2024-09-22 17:30:07,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/448362.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:漏洞   扫描   页面   取证   网站   模块   进行
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议