一种取证式网站漏洞扫描方法和系统技术方案

技术编号:10246623 阅读:202 留言:0更新日期:2014-07-23 23:50
本发明专利技术涉及网络应用安全领域,旨在提供一种取证式网站漏洞扫描方法和系统。该方法包括步骤:页面抓取、漏洞扫描、自动取证、信息收集、手工取证;该系统包括页面抓取模块、漏洞扫描模块、自动取证模块、信息收集模块、手工取证模块、任务下发及管理模块、扫描结果显示及管理模块、报表模块、系统数据库模块、项目文件管理模块。本发明专利技术可以自动地对漏洞进行过滤,采用这种方法,用户可以在自动扫描结束时就拿到一份更加可信的报告,对于个别依然存在疑点的漏洞,可以采用本方法中所述的“手工取证”步骤,直接快速地对漏洞进行再次确认。

【技术实现步骤摘要】
一种取证式网站漏洞扫描方法和系统
本专利技术属于网络应用安全领域,尤其涉及一种取证式网站漏洞扫描方法和系统。
技术介绍
随着互联网的发展,各种网络应用层出不穷,极大程度地满足了用户的各种需求。但是,网络应用开发过程中往往更加注重功能上的实现,却遗留下各种各样的安全问题,这一般是由于进度压力、程序员水平限制、设计不完善或一时疏忽导致的。常见网站安全问题包括:代码对输入数据的过滤不足导致的漏洞、服务器配置方面造成的漏洞、敏感信息泄露等。在应用开发过程中一般很难完全杜绝这些漏洞。因此采用网站漏洞扫描工具对网站进行安全评估是一个很好的选择。网站漏洞扫描系统一般抓取网站所有页面,然后对抓取到的页面进行逐个分析,发现尽可能多的安全问题。然而几个因素导致这样的扫描方式非常容易造成误报,报告一些实际上并不存在的漏洞,对网站开发和维护人员造成时间和精力上的浪费。这些因素包括:1)很多网页的动态性,造成网站漏洞扫描系统判断错误;2)网站漏洞扫描系统本身的判断逻辑不完善;3)目前的应用环境非常复杂,网站漏洞扫描系统的判断逻辑往往无法覆盖所有可能出现的情况。在现有已知的技术中,与本方法较为接近的技术是一种名为“基于渗透技术的Web漏洞扫描方法”,其关键步骤是“包括扫描和分析两个阶段”。该技术主要实现了网站漏洞发现的方法。但如前面所述,这样的方法容易产生误报,但没有提供很好的过滤误报的方法。工作人员可以采用这种方法扫描到一些漏洞,但可能一部分是确实存在的,一部分是误报。他们只能选择容忍这些误报,或人工对漏洞再次逐个分析。
技术实现思路
本专利技术的目的是弥补现有网站漏洞扫描方法的不足,提供一种漏洞扫描方法和扫描系统,采用自动和手工取证方法,提高网站漏洞扫描系统扫描的准确率,提交更加准确可信的网站漏洞扫描结果。提供一种取证式网站漏洞扫描方法,用于对被扫描网站进行漏洞检测,包括以下步骤:a)页面抓取:从被扫描网站的初始页面开始解析,获取被扫描网站的页面链接,然后将页面链接存入系统数据库模块,并保证相同页面链接不重复存入,再从系统数据库模块中提取已保存的并且未经过页面抓取步骤处理的页面链接,进行页面访问,并提取新的页面链接存入到系统数据库模块,直至抓取完被扫描网站的所有页面;b)漏洞扫描:在步骤a抓取到的页面中,判断是否还有尚未进行漏洞检测的页面,若已没有尚未进行漏洞检测的页面,则转步骤e,否则执行:选择一个尚未进行漏洞检测的页面进行漏洞检测,针对这个页面,根据不同漏洞各自所对应的检测逻辑进行漏洞分析(漏洞的种类非常多,每种漏洞都有不同的检测方法,部分相关技术已属于业界公知),如果发现漏洞转步骤c,否则重复执行步骤b;c)自动取证:对步骤b中发现的漏洞,根据不同漏洞的取证逻辑进行自动取证,并自动过滤掉误报,获得能够证明该漏洞存在的取证结果;d)信息收集:根据步骤b发现的漏洞,针对不同漏洞能采取的手工取证方法,自动收集手工取证方法所需要的取证信息并进行保存,完成后转步骤b对其他页面进行漏洞检测;e)手工取证:使用步骤d收集的取证信息,根据不同漏洞能采取的相应的手工取证方法进行手工取证,并获得用于确认漏洞的真实性的手工取证结果。在本专利技术中,根据不同类型的网站漏洞,所述步骤c和步骤e中的取证结果包括以下数据:页面长度、HTTP响应码、页面请求响应时间、页面请求过程收发的报文、HTTP头、会话及Cookie、页面内容、多个页面请求之间的差异性(如页面响应码的差异、页面长度的差异、内容的差异等)、页面在浏览器中的实际显示效果及其截图(部分漏洞可以使用浏览器进行取证,不同的漏洞在浏览器中输入是不一样的,比如“跨站脚本”可以修改界面的标题或弹出一个对话框,“目录浏览”的显示效果则是在浏览器中显示一个目录下的所有子目录和子文件,不同的情况还有很多,不再一一列举)。在本专利技术中,所述步骤d中的取证信息包括以下数据:自动构造的用于进一步取证的URL、HTTP头、会话及Cookie、表单提交数据、HTTP请求数据包、HTTP响应数据包。在本专利技术中,所述步骤c中的自动取证包括以下方法:1)直接将漏洞所在页面的响应内容长度、响应码、响应时间、报文、页面内容作为取证结果,并以此判断漏洞是否存在;2)在原始页面请求的基础上进行修改,自动构造至少一个新的http请求,并对这些不同请求的数据(包括响应内容长度、响应码、响应时间、报文、页面内容)进行对比,把对比获得的差异性作为取证结果,并以此判断漏洞是否存在;3)在漏洞所在页面的返回内容中匹配符合特征的文本,将匹配到的内容作为取证结果,并以此判断漏洞是否存在;4)自动模拟表单提交并获取请求结果,并以此判断漏洞是否存在;5)使用浏览器内核及浏览器对页面的内容进行解析和排版,执行页面内容中的脚本,将解析和排版的输出结果作为取证的结果,并以此判断漏洞是否存在。在本专利技术中,所述步骤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响应数据包显示在用户界面上,并使用高亮、字体加粗方法将重要内容突出显示,结合漏洞的特征,人工判断漏洞是否存在。在本专利技术中,能将网站漏洞和取证结果同时显示在程序或系统的用户界面中,或同时输出到报表中;用户根据这些信息判断漏洞是否存在,以及漏洞的性质和危害性。在本专利技术中,所述一种取证式网站漏洞扫描方法具有学习功能:用户判断漏洞是否误报,系统对用户的判断结果进行记录,在后续的扫描中再次出现相同漏洞时,根据记录中的用户判断结果过滤掉误报的漏洞,即实现步骤c中的自动过滤掉误报。提供基于所述扫描方法的取证式网站漏洞扫描系统,包括页面抓取模块、漏洞扫描模块、自动取证模块、信息收集模块、手工取证模块、任务下发及管理模块、扫描结果显示及管理模块、报表模块、系统数据库模块、项目文件管理模块;所述页面抓取模块用于从被扫描网站的初始页面或者系统数据库模块保存的页面链接中,解析获取新的页面链接,然后将获取的页面链接存入系统数据库模块中,并保证相同页面链接不重复存入(页面抓取模块中的系统数据库模块也能用项目文件来代替);所述漏洞扫描模块用于判断页面是否有经过漏洞检测,并对未经过漏洞检测的页面进行检测;所述自动取证模块用于对漏洞扫描模块中发现的漏洞进行自动取证,并自本文档来自技高网...

【技术保护点】
一种取证式网站漏洞扫描方法,用于对被扫描网站进行漏洞检测,其特征在于,包括以下步骤:a)页面抓取:从被扫描网站的初始页面开始解析,获取被扫描网站的页面链接,然后将页面链接存入系统数据库模块,并保证相同页面链接不重复存入,再从系统数据库模块中提取已保存的并且未经过页面抓取步骤处理的页面链接,进行页面访问,并提取新的页面链接存入到系统数据库模块,直至抓取完被扫描网站的所有页面;b)漏洞扫描:在步骤a抓取到的页面中,判断是否还有尚未进行漏洞检测的页面,若已没有尚未进行漏洞检测的页面,则转步骤e,否则执行:选择一个尚未进行漏洞检测的页面进行漏洞检测,针对这个页面,根据不同漏洞各自所对应的检测逻辑进行漏洞分析,如果发现漏洞转步骤c,否则重复执行步骤b;c)自动取证:对步骤b中发现的漏洞,根据不同漏洞的取证逻辑进行自动取证,并自动过滤掉误报,获得能够证明该漏洞存在的取证结果;d)信息收集:根据步骤b发现的漏洞,针对不同漏洞能采取的手工取证方法,自动收集手工取证方法所需要的取证信息并进行保存,完成后转步骤b对其他页面进行漏洞检测;e)手工取证:使用步骤d收集的取证信息,根据不同漏洞能采取的相应的手工取证方法进行手工取证,并获得用于确认漏洞的真实性的手工取证结果。...

【技术特征摘要】
2013.09.11 CN 201310414211.51.一种取证式网站漏洞扫描方法,用于对被扫描网站进行漏洞检测,其特征在于,包括以下步骤:a)页面抓取:从被扫描网站的初始页面开始解析,获取被扫描网站的页面链接,然后将页面链接存入系统数据库模块,并保证相同页面链接不重复存入,再从系统数据库模块中提取已保存的并且未经过页面抓取步骤处理的页面链接,进行页面访问,并提取新的页面链接存入到系统数据库模块,直至抓取完被扫描网站的所有页面;b)漏洞扫描:在步骤a抓取到的页面中,判断是否还有尚未进行漏洞检测的页面,若已没有尚未进行漏洞检测的页面,则转步骤e,否则执行:选择一个尚未进行漏洞检测的页面进行漏洞检测,针对这个页面,根据不同漏洞各自所对应的检测逻辑进行漏洞分析,如果发现漏洞转步骤c,否则重复执行步骤b;c)自动取证:对步骤b中发现的漏洞,根据不同漏洞的取证逻辑进行自动取证,并自动过滤掉误报,获得能够证明该漏洞存在的取证结果;自动取证包括下述方法:1)直接将漏洞所在页面的响应内容长度、响应码、响应时间、报文、页面内容作为取证结果,并以此判断漏洞是否存在;2)在原始页面请求的基础上进行修改,自动构造至少一个新的http请求,并对这些不同请求的数据进行对比,把对比获得的差异性作为取证结果,并以此判断漏洞是否存在;所述不同请求的数据包括响应内容长度、响应码、响应时间、报文、页面内容;3)在漏洞所在页面的返回内容中匹配符合特征的文本,将匹配到的内容作为取证结果,并以此判断漏洞是否存在;4)自动模拟表单提交并获取请求结果,并以此判断漏洞是否存在;5)使用浏览器内核及浏览器对页面的内容进行解析和排版,执行页面内容中的脚本,将解析和排版的输出结果作为取证的结果,并以此判断漏洞是否存在;d)信息收集:根据步骤b发现的漏洞,针对不同漏洞能采取的手工取证方法,自动收集手工取证方法所需要的取证信息并进行保存,完成后转步骤b对其他页面进行漏洞检测;e)手工取证:使用步骤d收集的取证信息,根据不同漏洞能采取的相应的手工取证方法进行手工取证,并获得用于确认漏洞的真实性的手工取证结果。2.根据权利要求1所述的一种取证式网站漏洞扫描方法,其特征在于,根据不同类型的网站漏洞,所述步骤c和步骤e中的取证结果包括以下数据:页面长度、HTTP响应码、页面请求响应时间、页面请求过程收发的报文、HTTP头、会话及Cookie、页面内容、多个页面请求之间的差异性、页面在浏览器中的实际显示效果及其截图。3.根据权利要求1所述的一种取证式网站漏洞扫描方法,其特征在于,所述步骤d中的取证信息包括以下数据:自动构造的用于进一步取证的URL、HTTP头、会话及Cookie、表单提交数据、HTTP请求数据包、HTTP响应数据包。4.根据权利要求3所述的一种取证式网站漏洞扫描方法,其特征在于,所述步骤e的手工取证是可选的,能够根据需要选择性地执行步骤e;所述手工取证包括以下方法:1)使用步骤d中获取的自动构造的用于进一步取证的URL,在浏览器中访问,查看实际的URL执行和显示结果,结合漏洞的特征,判断漏洞是否存在,且能将显示结果截图保存;2)使用HTTP模拟发包器,将用于进一步取证的URL,以及步骤d中...

【专利技术属性】
技术研发人员:林章峰范渊杨永清
申请(专利权)人:杭州安恒信息技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1