跨站脚本漏洞的线下检测方法和系统技术方案

技术编号:11705586 阅读:104 留言:0更新日期:2015-07-09 12:45
本发明专利技术提供一种跨站脚本漏洞的线下检测方法和系统,该方法包括:控制装置获取功能测试服务器的IP和功能测试项目虚拟化网址HOST;资源隔离装置将目标功能测试环境进行资源隔离,打包标准化的资源隔离镜像,部署到安全测试环境;转发装置部署在目标功能测试环境中,将符合功能测试项目的网络流量转发到调度装置;调度装置将转发的网络流量进行数据封装,并将封装后的测试数据分发到测试装置;测试装置发送安全测试请求至将安全测试环境,将安全测试环境返回的页面进行解析以找出跨站脚本安全漏洞,并发送到控制装置;控制装置根据功能测试服务器的IP和功能测试项目HOST,确定安全漏洞所归属的安全测试项目。该方法提高了安全测试的覆盖率和自动化程度。

【技术实现步骤摘要】
跨站脚本漏洞的线下检测方法和系统
本专利技术涉及计算机安全
,尤其涉及跨站脚本漏洞(XSS)检测的方法和系统。
技术介绍
目前在Web程序项目的安全测试工作中,安全测试人员除了要对程序进行安全测试,还要对程序的逻辑有充分的了解,才能尽可能对程序的安全测试进行覆盖。安全测试的覆盖率始终低于功能测试的覆盖率,导致不能测试所有可能的程序分支,出现线上跨站脚本安全漏洞。现有技术一的技术方案如下:获取目标页面的源代码并提取其中的脚本代码,遍历所有脚本代码,利用预先定义的脏数据入口获取脚本代码中所有脏数据入口及脏数据入口传递的变量;再次遍历所有脚本代码,获取所述脚本代码中的输出函数,并提取输出函数的参数与脏数据入口及脏数据入口传递的变量进行匹配,若能匹配,则确定有漏洞存在。现有技术一的缺点在于:现在Web2.0网站已成主流,大量的网页都是由脚本代码动态生成的网页,跨站脚本可能存在于网页的任何地方,仅仅通过源代码进行遍历是不能对目前的网页进行全部漏洞检测覆盖。跨网站脚本XSS的防御技术在网络上五花八门,通过对输出脏数据进行简单的匹配是无法获得所有存在漏洞的网页,容易造成误报和漏报。XSS:跨网站脚本(Cross-sitescripting,通常简称为XSS或跨站脚本或跨站脚本攻击)是一种网站应用程序的跨站脚本安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这类攻击通常包含了HTML以及用户端脚本语言。现有技术二的技术方案如下:基于爬虫方式抓取页面所有URL(统一资源定位符,UniformResourceLocator)进行验证攻击测试。现有技术二的缺点在于:1、爬虫可能抓取大量无用的页面,且无法定制页面;这样,在拥有添加、删除、修改操作的功能点上,使用多个漏洞验证脚本会产生大量的垃圾数据,且会删除掉正常的内容;这不仅消耗大量的时间,而且会降低业务逻辑覆盖率。2、爬虫的抓取率无法控制,并且现在很多Web2.0的页面是需要经过浏览器解析或者需要交互才产生请求操作,这些URL是无法通过爬虫获取到的。3、综上,爬虫的测试覆盖率不能达到目前技术下的安全测试需求。
技术实现思路
本专利技术的目的在于,提供一种跨站脚本漏洞的线下检测方法和系统,以将功能测试与安全测试进行隔离,提升安全测试的覆盖率。为达上述目的,本专利技术一方面提供了一种跨站脚本漏洞的线下检测方法,其包括:自动化检测系统前端控制装置接收安全测试指令,获取功能测试服务器的IP和功能测试项目虚拟化网址HOST;自动化测试环境资源隔离装置接受所述自动化检测系统前端控制装置的控制指令,将目标功能测试环境进行资源隔离,打包标准化的资源隔离镜像,部署到安全测试环境中;网络流量转发装置接收所述自动化检测系统前端控制装置的控制指令,部署在目标功能测试环境中,将符合功能测试项目的网络流量转发到分布式调度装置;所述分布式调度装置将各个目标功能测试环境上的网络流量转发装置转发的网络流量进行数据封装,并将封装后的数据包分发到跨站脚本漏洞安全测试装置;所述跨站脚本漏洞安全测试装置接收所述分布式调度装置分发过来的封装后的数据包,将所述封装后的数据包还原成所述符合功能测试项目的网络流量,发送携带所述符合功能测试项目的网络流量的安全测试请求至已被资源隔离的所述安全测试环境,然后将所述安全测试环境返回的页面进行解析后,找出跨站脚本安全漏洞,并将发现的跨站脚本安全漏洞发送到所述自动化检测系统前端控制装置;所述自动化检测系统前端控制装置根据所述功能测试服务器的IP和功能测试项目HOST,确定所述跨站脚本安全漏洞所归属的安全测试项目。为达上述目的,本专利技术另一方面提供了一种跨站脚本漏洞的线下检测系统,其包括:自动化检测系统前端控制装置,用于接收安全测试指令,获取功能测试服务器的IP和功能测试项目虚拟化网址HOST;自动化测试环境资源隔离装置,用于接收所述自动化检测系统前端控制装置的控制指令,将目标功能测试环境进行资源隔离,打包标准化的资源隔离镜像,部署到安全测试环境中;网络流量转发装置,用于接收所述自动化检测系统前端控制装置的控制指令,部署在目标功能测试环境中,将符合功能测试项目的网络流量转发到分布式调度装置;所述分布式调度装置,用于将各个目标功能测试环境上的网络流量转发装置转发的网络流量进行数据封装,并将封装后的数据包分发到跨站脚本漏洞安全测试装置;所述跨站脚本漏洞安全测试装置,用于接收所述分布式调度装置分发过来的封装后的数据包,将所述封装后的数据包还原成所述符合功能测试项目的网络流量,发送携带所述符合功能测试项目的网络流量的安全测试请求至已被资源隔离的所述安全测试环境,然后将所述安全测试环境返回的页面进行解析后,找出跨站脚本安全漏洞,并将发现的跨站脚本安全漏洞发送到所述自动化检测系统前端控制装置;所述自动化检测系统前端控制装置,还用于根据所述功能测试服务器的IP和功能测试项目HOST,确定所述跨站脚本安全漏洞所归属的安全测试项目。本专利技术提供的上述技术方案的有益技术效果在于:由于采用了基于资源隔离的跨站脚本漏洞线下检测方法,使得线下跨级脚本安全测试实现了全部自动化操作,并且脏数据不对目标功能测试环境造成影响,可以使安全测试与功能测试同步进行,大大提高了安全测试的覆盖率和自动化程度。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术的实施例的一种基于资源隔离的跨站脚本漏洞的线下检测系统的功能框图;图2为本专利技术的实施例的基于资源隔离的跨站脚本漏洞的线下检测方法的流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术的实施例通过抓取功能测试人员的测试访问请求,将功能测试的覆盖率直接转移到安全测试,大大提升了安全测试的覆盖率。并通过测试环境的资源隔离,将功能测试与安全测试进行隔离,安全测试的脏数据不影响功能测试的环境,并且可以进一步降低安全测试所消耗的计算资源和人力资源。在功能测试的同时,进行安全测试,提升了安全测试的进度。以下将本专利技术的实施例中涉及的技术术语解释如下:HOST:软件测试使用的虚拟化网址,通过IP和域名写入服务器的/etc/hosts实现。通过该服务器访问写入的域名,会指向/etc/hosts文件中与该域名绑定的IP。资源隔离:资源隔离技术是使用LXC(LinuxContainer),基于进程容器(Processcontainer)的轻量级虚拟化解决方案。将各种应用程序和他们所依赖的运行环境打包成标准的container/image,进而发布到不同的平台上运行。实施例一图1为本专利技术的实施例的一种基于资源隔离的跨站脚本漏洞的线下检测系统的功能框图。如图1所示,该系统包括:自动化检测系统前端控制本文档来自技高网
...
跨站脚本漏洞的线下检测方法和系统

【技术保护点】
一种跨站脚本漏洞的线下检测方法,其特征在于,包括:自动化检测系统前端控制装置接收安全测试指令,获取功能测试服务器的IP和功能测试项目虚拟化网址HOST;自动化测试环境资源隔离装置接收所述自动化检测系统前端控制装置的控制指令,将目标功能测试环境进行资源隔离,打包标准化的资源隔离镜像,部署到安全测试环境中;网络流量转发装置接收所述自动化检测系统前端控制装置的控制指令,部署在目标功能测试环境中,将符合功能测试项目的网络流量转发到分布式调度装置;所述分布式调度装置将各个目标功能测试环境上的网络流量转发装置转发的网络流量进行数据封装,并将封装后的数据包分发到跨站脚本漏洞安全测试装置;所述跨站脚本漏洞安全测试装置接收所述分布式调度装置分发过来的封装后的数据包,将所述封装后的数据包还原成所述符合功能测试项目的网络流量,发送携带所述符合功能测试项目的网络流量的安全测试请求至已被资源隔离的所述安全测试环境,然后将所述安全测试环境返回的页面进行解析后,找出跨站脚本安全漏洞,并将发现的安全漏洞发送到所述自动化检测系统前端控制装置;所述自动化检测系统前端控制装置根据所述功能测试服务器的IP和功能测试项目HOST,确定所述安全漏洞所归属的安全测试项目。...

【技术特征摘要】
1.一种跨站脚本漏洞的线下检测方法,其特征在于,包括:自动化检测系统前端控制装置接收安全测试指令,获取功能测试服务器的IP和功能测试项目虚拟化网址HOST;自动化测试环境资源隔离装置接收所述自动化检测系统前端控制装置的控制指令,将目标功能测试环境进行资源隔离,打包标准化的资源隔离镜像,部署到安全测试环境中;网络流量转发装置接收所述自动化检测系统前端控制装置的控制指令,部署在目标功能测试环境中,将符合功能测试项目的网络流量转发到分布式调度装置;所述分布式调度装置将各个目标功能测试环境上的网络流量转发装置转发的网络流量进行数据封装,并将封装后的数据包分发到跨站脚本漏洞安全测试装置;所述跨站脚本漏洞安全测试装置接收所述分布式调度装置分发过来的封装后的数据包,将所述封装后的数据包还原成所述符合功能测试项目的网络流量,发送携带所述符合功能测试项目的网络流量的安全测试请求至已被资源隔离的所述安全测试环境,然后将所述安全测试环境返回的页面进行解析后,找出跨站脚本安全漏洞,并将发现的所述跨站脚本安全漏洞发送到所述自动化检测系统前端控制装置;所述自动化检测系统前端控制装置根据所述功能测试服务器的IP和功能测试项目HOST,确定所述跨站脚本安全漏洞所归属的安全测试项目。2.根据权利要求1所述的方法,其特征在于,所述自动化测试环境资源隔离装置将目标功能测试环境进行资源隔离的处理包括:所述自动化测试环境资源隔离装置将目标功能测试环境进行容器虚拟化的资源隔离。3.根据权利要求1所述的方法,其特征在于,所述跨站脚本漏洞安全测试装置将所述安全测试环境返回的页面进行解析后,找出跨站脚本安全漏洞的处理包括:对所述安全测试环境返回的网页源码数据进行文档对象模型DOM树检测,如果发现新增了安全测试的靶点DOM树,则判定存在跨站脚本安全漏洞,否则,不存在跨站脚本安全漏洞。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述跨站脚本漏洞安全测试装置对还原后的所述符合功能测试项目的网络流量进行安全测试数据拼接处理,并将拼接处理后的数据携带在所述安全测试请求中发送至所述安全测试环境。5.根据权利要求1所述的方法,其特征在于,所述目标...

【专利技术属性】
技术研发人员:姜楠
申请(专利权)人:微梦创科网络科技中国有限公司
类型:发明
国别省市:北京;11

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

1