CN105574416A - 一种浏览器漏洞检测方法及装置 - Google Patents
一种浏览器漏洞检测方法及装置 Download PDFInfo
- Publication number
- CN105574416A CN105574416A CN201510946272.5A CN201510946272A CN105574416A CN 105574416 A CN105574416 A CN 105574416A CN 201510946272 A CN201510946272 A CN 201510946272A CN 105574416 A CN105574416 A CN 105574416A
- Authority
- CN
- China
- Prior art keywords
- browser
- measured
- abnormal
- case
- test case
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种浏览器漏洞检测方法及装置,该方法包括:检测装置生成与待测浏览器相对应的测试用例,并向待测浏览器下发测试用例和测试用例调用页面,以及,接收待测浏览器根据测试用例调用页面发送的用于调用测试用例的调度指令,并根据调度指令依次调用测试用例测试待测浏览器,记录测试用例测试进度以及测试待测浏览器发生异常时所用测试用例的测试用例信息,以及,监控待测浏览器,同时记录待测浏览器发生异常时的异常信息,并根据异常信息确定与异常信息相匹配的测试用例信息,并根据确定的测试用例信息还原异常,从而解决了现有浏览器漏洞检测方法中存在的不能稳定还原异常、通用性较差以及效率较低等问题。
Description
技术领域
本发明涉及网络安全领域,尤其涉及一种浏览器漏洞检测方法及装置。
背景技术
Web浏览器是网络应用中使用最广泛的软件之一,IE、FireFox和Chrome等三款主流浏览器占据了Web浏览器市场的绝大部分份额,因此其自身的安全性也备受关注。
浏览器的fuzz(模糊测试)是查找浏览器漏洞的一个常用且有效的方法,现有的公开的fuzz工具有cross_fuzz和grinder等,这些工具基本都通过javascript脚本进行fuzz操作,同时通过hook函数等技术手段动态记录fuzz操作以备还原,并在捕获到crash(程序崩溃)后,根据记录还原poc(异常)。
具体地,cross_fuzz测试的简要流程如下:
步骤A1:待测浏览器打开cross_fuzz的html页面;
步骤A2:初始化随机种子,启动定时器定时进行fuzz操作;
步骤A3:打开测试用例(如svg、html等),获取测试用例页面句柄;
步骤A4:遍历打开的用例页面对象、方法、属性并操作,同时界面输出操作日志;
步骤A5:定时关闭打开页面,循环操作步骤A3打开下一测试用例,直至程序出现crash。
根据上述流程发现cross_fuzz存在以下问题:1、缺少关键的日志记录功能,虽然可通过界面输出日志,但这只是演示功能,当出现crash时,会导致输出日志不可用,即使解决了日志记录问题,还需要通过出现crash时的日志还原poc,过程较为繁琐;2、没有异常监控模块,自动化程度低,不能在出现crash后重启fuzz程序。
另外,grinder工具是一个浏览器fuzz框架,其不提供具体的浏览器fuzz功能,需要用户自己编写浏览器fuzz相关模块,但其提供监控模块负责监控待测浏览器运行,发现crash时进行日志记录并自动重启浏览器进程继续进行fuzz操作,具体地,其日志记录功能是通过向待测浏览器进程注入DLL(DynamicLinkLibrary,文件为动态链接库文件),然后由待测浏览器的fuzz相关模块调用hookjavascript函数的parseFloat来完成日志记录功能。申请人在研究中发现,grinder存在以下问题:1、hook函数方式实现日志记录稳定性、通用性不够且实现困难。2、仍需要通过日志还原poc,过程较为繁琐。
进一步地,现有fuzz工具中的动态记录浏览器fuzz操作日志方法还包括ActiveXObject、cookie、html5的localStorage、html5本地数据库indexDB、SQLLite和XMLHttpRequest等,但这些方法均存在一些缺点:如ActiveXObject只适用于IE;cookie、html5的localStorage本地存储适合IE、Firefox、Chrome,但存储大小均有限制(cookie4K、localStorage5M);html5本地数据库indexDB、SQLLite的通用性不足、使用繁琐;通过XMLHttpRequest与服务端实时通信记录日志通用性较好,但每一步fuzz操作都需要实时记录,通信总耗时较长,影响fuzz效率。而且现有浏览器fuzz工具动态记录日志方式可能会影响被测浏览器的执行环境进而导致有时不能够重现异常。
也就是说,现有浏览器fuzz工具存在重现性差、效率低、自动化程度低以及日志记录通用性差、稳定性差等问题。
发明内容
本发明实施例提供了一种浏览器漏洞检测方法及装置,用以解决现有浏览器漏洞检测方法存在的重现性差、效率低、自动化程度低以及日志记录通用性差、稳定性差的问题。
本发明实施例提供了一种浏览器漏洞检测方法,包括:
检测装置生成与待测浏览器相对应的测试用例,并向所述待测浏览器下发所述测试用例和测试用例调用页面;
接收所述待测浏览器根据所述测试用例调用页面发送的用于调用所述测试用例的调度指令,并根据所述调度指令依次调用所述测试用例测试所述待测浏览器,并记录所述测试用例测试进度以及测试所述待测浏览器发生异常时所用测试用例的测试用例信息;以及,
监控所述待测浏览器,并记录所述待测浏览器发生异常时的异常信息;
根据所述异常信息确定与所述异常信息相匹配的所述测试用例信息,并根据确定的所述测试用例信息还原异常。
进一步地,所述方法还包括:
当所述测试用例测试所述待测浏览器所用时长超过预设测试时长时,重启所述待测浏览器。
进一步地,所述方法还包括:
当所述待测浏览器发生程序崩溃时,重启所述待测浏览器。
具体地,所述测试用例信息包括测试所述待测浏览器发生异常时所用测试用例的用例名和第一异常发生时间;
所述异常信息包括监控到所述待测浏览器发生异常时的第二异常发生时间和所述待测浏览器的异常上下文环境。
进一步地,所述根据所述异常信息确定与所述异常信息相匹配的所述测试用例信息,并根据确定的所述测试用例信息还原异常,包括:
根据监控到所述待测浏览器发生异常时的第二异常发生时间,确定与所述第二异常发生时间相匹配的第一异常发生时间对应的测试所述待测浏览器发生异常时所用测试用例的用例名,并根据确定的用例名还原异常。
进一步地,所述接收所述待测浏览器根据所述测试用例调用页面发送的用于调用所述测试用例的调度指令,包括:
接收所述待测浏览器根据所述测试用例页面内嵌的框架iframe发送的用于调用所述测试用例的调度指令。
进一步地,本发明实施例还提供了一种浏览器漏洞检测装置,包括:
生成单元,用于生成与待测浏览器相对应的测试用例;
发送单元,用于向所述待测浏览器下发所述测试用例和测试用例调用页面;
处理单元,用于接收所述待测浏览器根据所述测试用例调用页面发送的用于调用所述测试用例的调度指令,并根据所述调度指令依次调用所述测试用例测试所述待测浏览器,并记录所述测试用例测试进度以及测试所述待测浏览器发生异常时所用测试用例的测试用例信息;以及,
监控单元,用于监控所述待测浏览器,并记录所述待测浏览器发生异常时的异常信息;
重现单元,用于根据所述异常信息确定与所述异常信息相匹配的所述测试用例信息,并根据确定的所述测试用例信息还原异常。
进一步地,所述装置还包括重启单元:
所述重启单元,用于当所述测试用例测试所述待测浏览器所用时长超过预设测试时长时,重启所述待测浏览器。
进一步地,所述重启单元,还用于当所述待测浏览器发生程序崩溃时,重启所述待测浏览器。
具体地,所述测试用例信息包括测试所述待测浏览器发生异常时所用测试用例的用例名和第一异常发生时间;
所述异常信息包括监控到所述待测浏览器发生异常时的第二异常发生时间和所述待测浏览器的异常上下文环境。
进一步地,所述重现单元,具体用于根据监控单元监控到所述待测浏览器发生异常时的第二异常发生时间,确定与所述第二异常发生时间相匹配的第一异常发生时间对应的测试所述待测浏览器发生异常时所用测试用例的用例名,并根据确定的用例名还原异常。
进一步地,所述处理单元,具体用于接收所述待测浏览器根据所述测试用例页面内嵌的框架iframe发送的用于调用所述测试用例的调度指令。
本发明有益效果如下:
本发明实施例提供了一种浏览器漏洞检测方法及装置,该方法包括,检测装置生成与待测浏览器相对应的测试用例,并向所述待测浏览器下发所述测试用例和测试用例调用页面,以及,接收所述待测浏览器根据所述测试用例调用页面发送的用于调用所述测试用例的调度指令,并根据所述调度指令依次调用所述测试用例测试所述待测浏览器,记录所述测试用例测试进度以及测试所述待测浏览器发生异常时所用测试用例的测试用例信息,以及,监控所述待测浏览器,同时记录所述待测浏览器发生异常时的异常信息,并根据所述异常信息确定与所述异常信息相匹配的所述测试用例信息,并根据确定的所述测试用例信息还原异常,从而解决了现有浏览器漏洞检测方法中存在的不能稳定还原异常、通用性较差以及效率较低等问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1所示为本发明实施例一所述的一种浏览器漏洞检测方法的流程示意图;
图2所示为本发明实施例一所述的一种浏览器漏洞检测方法的生成界面示意图;
图3所示为本发明实施例二所述的一种浏览器漏洞检测装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一:
本发明实施例一提供了一种浏览器漏洞检测方法,如图1所示,其为本发明实施例一所述的浏览器漏洞检测方法的流程示意图,所述方法可包括以下步骤:
步骤101:检测装置生成与待测浏览器相对应的测试用例,并向所述待测浏览器下发所述测试用例和测试用例调用页面。
步骤102:接收所述待测浏览器根据所述测试用例调用页面发送的用于调用所述测试用例的调度指令,并根据所述调度指令依次调用所述测试用例测试所述待测浏览器,并记录所述测试用例测试进度以及测试所述待测浏览器发生异常时所用测试用例的测试用例信息。
步骤103:监控所述待测浏览器,并记录所述待测浏览器发生异常时的异常信息。
步骤104:根据所述异常信息确定与所述异常信息相匹配的所述测试用例信息,并根据确定的所述测试用例信息还原异常。
也就是说,在本发明实施例所述技术方案中,检测装置通过生成与待测浏览器相对应的测试用例,并向所述待测浏览器下发所述测试用例和测试用例调用页面,以及,接收所述待测浏览器根据所述测试用例调用页面发送的用于调用所述测试用例的调度指令,并根据所述调度指令依次调用所述测试用例测试所述待测浏览器,记录所述测试用例测试进度以及测试所述待测浏览器发生异常时所用测试用例的测试用例信息,以及,监控所述待测浏览器,同时记录所述待测浏览器发生异常时的异常信息,并根据所述异常信息确定与所述异常信息相匹配的所述测试用例信息,并根据确定的所述测试用例信息还原异常,从而解决了现有浏览器漏洞检测方法中存在的不能稳定还原异常、通用性较差以及效率较低等问题。
下面对上述步骤101-104进行详细说明。
针对步骤101,检测装置可根据用户选择生成指定数量的、指定浏览器类型(因为不同浏览器具有一些不同的特性)、包含javascript脚本的html测试用例。需要说明的是,可利用IE浏览器中的ActiveXObject实现生成测试用例时本地文件操作,且生成的所述测试用例不含有随机的、不确定的fuzz操作,且不存在动态记录fuzz操作影响测试环境的可能,保证了测试用例的可重现性。
例如,检测装置可通过浏览器提供一个界面,以便用户选择相应的待测浏览器生成测试用例,界面图可如图2所示。
具体地,用户可通过IE浏览器启动检测装置,进而在IE浏览器上显示测试用例生成界面图,即图2,进一步地,检测装置生成与待测浏览器相对应的测试用例的流程如下:
步骤S1:根据图2所示,可设定待生成测试用例保存途径、待测浏览器以及生成测试用例的数量等;
步骤S2:初始化随机种子、文件操作ActiveXObject、标签元素数组等;
步骤S3:确定生成的测试用例是否达到指定生成数量,若是,则提示测试用例生成完成,若否,则继续执行步骤S4;
步骤S4:全局变量初始化(每个测试用例生成后都需要重新初始化全局变量);
步骤S5:创建测试用例文件,写入文件头、css样式(层叠样式表)、全局变量等;
步骤S6:写入设定次数的随机规则fuzz操作;
步骤S7:写入定时器,定时执行设定次数的随机规则fuzz操作;
步骤S8:写入文件尾,生成一个测试用例,关闭文件句柄,执行步骤S3。
之后,可将生成的测试用例和测试用例调用页面下发给待测浏览器,如IE浏览器。
需要说明的是,所述测试用例调用页面内嵌有iframe(内联框架),可由所述待测浏览器根据所述测试用例调用页面内嵌的iframe发送用于调用所述测试用例的调度指令,这种方法与动态fuzz并记录日志的方式相比,对测试环境没有干扰,保障了poc的可重现性,并且没有动态fuzz根据日志记录还原poc的繁琐过程,提高了重现效率。
进一步地,针对步骤102,所述检测装置可接收所述待测浏览器根据所述测试用例页面内嵌的iframe发送的用于调用所述测试用例的调度指令,并根据所述调度指令调用一个测试用例来测试待测浏览器,并在一个测试用例测试完成后,重新加载执行下一个测试用例的测试操作,直至达到待测浏览器运行超时或产生异常,这样无需每个测试用例测试完成后都重启浏览器进程(重启过程耗时),保证了fuzz测试的高效性。
需要说明的是,在记录所述测试用例测试进度时调用页面可采用浏览器通用的localStorage(html5本地数据存储)完成本地存储测试用例进度,并根据localStorage记录的异常标志记录测试所述待测浏览器发生异常时所用测试用例的测试用例信息,具体地,可将测试所述待测浏览器发生异常时所用测试用例的测试用例信息以日志的方式保存在一个单独的文件中,这样采用localStorage本地存储结合XMLHttpRequest远程日志存储的方式不仅可以解决浏览器fuzz日志存储的通用性和本地存储的大小限制的问题,而且直接调用测试用例还避免了通过XMLHttpRequest与服务端实时通信记录每一步fuzz操作所产生的通信效率瓶颈,进一步提高了本发明实施例所述的浏览器漏洞检测方法的效率。
另外,需要说明的是,所述测试用例信息可包括测试所述待测浏览器发生异常时所用测试用例的用例名和第一异常发生时间,其中,所述第一异常发生时间可以是测试所述待测浏览器发生异常时所用测试用例的用例名对应的记录单独日志文件(用例名可以是文件名或者文件内容)的文件修改时间,或者其它方式记录的待测浏览器发生异常时所用测试用例的用例名对应的异常时间,本发明实施例对此不作赘述。
具体地,步骤102的具体操作流程如下:
步骤S11:待测浏览器打开接收到的测试用例调用页面;
步骤S12:调用页面localStorage读取上一个测试用例的异常标志和fuzz测试用例进度;
步骤S13:确定读取到的异常标志的当前状态,若为真,则记录该测试用例的测试用例名,将该测试用例名以日志的方式保存在一个单独的文件中,若否,则fuzz测试用例进度+1,localStorage记录fuzz测试用例进度并置异常标志为真;
步骤S14:通过iframe的src属性加载该测试用例,对待测试软件进行测试;
步骤S15:设置定时器(即一个测试用例的预设测试时长,该定时器在异常时不触发),触发后置异常标志为false,重新加载调度页面,启动下一测试用例,继续执行步骤S14。
进一步地,针对步骤103,检测装置可监控所述待测浏览器,并记录所述待测浏览器发生异常时的异常信息,并且可在监控到所述测试用例测试所述待测浏览器所用时长超过定时器设定的预设测试时长时,重启所述待测软件,以及在监控到所述待测浏览器发生程序崩溃时,重启所述待测浏览器,从而保证了本发明实施例所述的浏览器漏洞检测方法的自动化。
具体地,所述异常信息包括监控到所述待测浏览器发生异常时的第二异常发生时间和所述待测浏览器的异常上下文环境。
进一步地,针对步骤104,所述根据所述异常信息确定与所述异常信息相匹配的所述测试用例信息,并根据确定的所述测试用例信息还原异常,可具体实施为:
根据监控到所述待测浏览器发生异常时的第二异常发生时间,确定与所述第二异常发生时间相匹配的第一异常发生时间对应的测试所述待测浏览器发生异常时所用测试用例的用例名,并根据确定的用例名还原异常。
具体地,在漏洞检测过程中,检测装置通过监控到的异常信息可初步判断存在漏洞的可能性,之后,可根据监控到所述待测浏览器发送异常时的第二异常发生时间,从步骤102中记录的单独的日志文件中查找文件修改时间(即第一异常时间)与第二异常发生时间相匹配(如第一异常时间大于且最接近第二异常时间)的文件,从中提取引起异常的测试用例名,据其找到相应测试用例,最后使用待测浏览器打开该测试用例文件即可重现异常。
本发明实施例一提供了一种浏览器漏洞检测方法,该方法包括,检测装置生成与待测浏览器相对应的测试用例,并向所述待测浏览器下发所述测试用例和测试用例调用页面,以及,接收所述待测浏览器根据所述测试用例调用页面发送的用于调用所述测试用例的调度指令,并根据所述调度指令依次调用所述测试用例测试所述待测浏览器,记录所述测试用例测试进度以及测试所述待测浏览器发生异常时所用测试用例的测试用例信息,以及,监控所述待测浏览器,同时记录所述待测浏览器发生异常时的异常信息,并根据所述异常信息确定与所述异常信息相匹配的所述测试用例信息,并根据确定的所述测试用例信息还原异常,从而解决了现有浏览器漏洞检测方法中存在的不能稳定还原异常、通用性较差以及效率较低等问题。
实施例二:
基于与本发明实施例一相同的发明构思,本发明实施例二提供了一种浏览器漏洞检测装置,所述浏览器漏洞检测装置的具体实施可参见上述方法实施例一中的相关描述,重复之处不再赘述。具体地,如图3所示,其为所述浏览器漏洞检测装置的结构示意图,所述漏洞检测装置具体可包括:
生成单元31,可用于生成与待测浏览器相对应的测试用例;
发送单元32,可用于向所述待测浏览器下发所述测试用例和测试用例调用页面;
处理单元33,可用于接收所述待测浏览器根据所述测试用例调用页面发送的用于调用所述测试用例的调度指令,并根据所述调度指令依次调用所述测试用例测试所述待测浏览器,并记录所述测试用例测试进度以及测试所述待测浏览器发生异常时所用测试用例的测试用例信息;以及,
监控单元34,可用于监控所述待测浏览器,并记录所述待测浏览器发生异常时的异常信息;
重现单元35,可用于根据所述异常信息确定与所述异常信息相匹配的所述测试用例信息,并根据确定的所述测试用例信息还原异常。
进一步地,所述装置还包括重启单元36:
所述重启单元36,可用于当所述测试用例测试所述待测浏览器所用时长超过预设测试时长时,重启所述待测浏览器。
进一步地,所述重启单元36,还可用于当所述待测浏览器发生程序崩溃时,重启所述待测浏览器。
具体地,所述测试用例信息包括测试所述待测浏览器发生异常时所用测试用例的用例名和第一异常发生时间;
所述异常信息包括监控到所述待测浏览器发生异常时的第二异常发生时间和所述待测浏览器的异常上下文环境。
进一步地,所述重现单元35,可具体用于根据监控单元34监控到所述待测浏览器发生异常时的第二异常发生时间,确定与所述第二异常发生时间相匹配的第一异常发生时间对应的测试所述待测浏览器发生异常时所用测试用例的用例名,并根据确定的用例名还原异常。
进一步地,所述处理单元33,可具体用于接收所述待测浏览器根据所述测试用例页面内嵌的iframe发送的用于调用所述测试用例的调度指令。
本发明实施例二提供了一种浏览器漏洞检测装置,检测装置生成与待测浏览器相对应的测试用例,并向所述待测浏览器下发所述测试用例和测试用例调用页面,以及,接收所述待测浏览器根据所述测试用例调用页面发送的用于调用所述测试用例的调度指令,并根据所述调度指令依次调用所述测试用例测试所述待测浏览器,记录所述测试用例测试进度以及测试所述待测浏览器发生异常时所用测试用例的测试用例信息,以及,监控所述待测浏览器,同时记录所述待测浏览器发生异常时的异常信息,并根据所述异常信息确定与所述异常信息相匹配的所述测试用例信息,并根据确定的所述测试用例信息还原异常,从而解决了现有浏览器漏洞检测方法中存在的不能稳定还原异常、通用性较差以及效率较低等问题。
本领域技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种浏览器漏洞检测方法,其特征在于,包括:
检测装置生成与待测浏览器相对应的测试用例,并向所述待测浏览器下发所述测试用例和测试用例调用页面;
接收所述待测浏览器根据所述测试用例调用页面发送的用于调用所述测试用例的调度指令,并根据所述调度指令依次调用所述测试用例测试所述待测浏览器,并记录所述测试用例测试进度以及测试所述待测浏览器发生异常时所用测试用例的测试用例信息;以及,
监控所述待测浏览器,并记录所述待测浏览器发生异常时的异常信息;
根据所述异常信息确定与所述异常信息相匹配的所述测试用例信息,并根据确定的所述测试用例信息还原异常。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述测试用例测试所述待测浏览器所用时长超过预设测试时长时,重启所述待测浏览器。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述待测浏览器发生程序崩溃时,重启所述待测浏览器。
4.如权利要求1所述的方法,其特征在于,
所述测试用例信息包括测试所述待测浏览器发生异常时所用测试用例的用例名和第一异常发生时间;
所述异常信息包括监控到所述待测浏览器发生异常时的第二异常发生时间和所述待测浏览器的异常上下文环境。
5.如权利要求4所述的方法,其特征在于,所述根据所述异常信息确定与所述异常信息相匹配的所述测试用例信息,并根据确定的所述测试用例信息还原异常,包括:
根据监控到所述待测浏览器发生异常时的第二异常发生时间,确定与所述第二异常发生时间相匹配的第一异常发生时间对应的测试所述待测浏览器发生异常时所用测试用例的用例名,并根据确定的用例名还原异常。
6.如权利要求1所述的方法,其特征在于,所述接收所述待测浏览器根据所述测试用例调用页面发送的用于调用所述测试用例的调度指令,包括:
接收所述待测浏览器根据所述测试用例页面内嵌的框架iframe发送的用于调用所述测试用例的调度指令。
7.一种浏览器漏洞检测装置,其特征在于,包括:
生成单元,用于生成与待测浏览器相对应的测试用例;
发送单元,用于向所述待测浏览器下发所述测试用例和测试用例调用页面;
处理单元,用于接收所述待测浏览器根据所述测试用例调用页面发送的用于调用所述测试用例的调度指令,并根据所述调度指令依次调用所述测试用例测试所述待测浏览器,并记录所述测试用例测试进度以及测试所述待测浏览器发生异常时所用测试用例的测试用例信息;以及,
监控单元,用于监控所述待测浏览器,并记录所述待测浏览器发生异常时的异常信息;
重现单元,用于根据所述异常信息确定与所述异常信息相匹配的所述测试用例信息,并根据确定的所述测试用例信息还原异常。
8.如权利要求7所述的装置,其特征在于,所述装置还包括重启单元:
所述重启单元,用于当所述测试用例测试所述待测浏览器所用时长超过预设测试时长时,重启所述待测浏览器。
9.如权利要求7所述的装置,其特征在于,
所述重启单元,还用于当所述待测浏览器发生程序崩溃时,重启所述待测浏览器。
10.如权利要求7所述的装置,其特征在于,
所述测试用例信息包括测试所述待测浏览器发生异常时所用测试用例的用例名和第一异常发生时间;
所述异常信息包括监控到所述待测浏览器发生异常时的第二异常发生时间和所述待测浏览器的异常上下文环境。
11.如权利要求10所述的装置,其特征在于,
所述重现单元,具体用于根据监控单元监控到所述待测浏览器发生异常时的第二异常发生时间,确定与所述第二异常发生时间相匹配的第一异常发生时间对应的测试所述待测浏览器发生异常时所用测试用例的用例名,并根据确定的用例名还原异常。
12.如权利要求7所述的装置,其特征在于,
所述处理单元,具体用于接收所述待测浏览器根据所述测试用例页面内嵌的框架iframe发送的用于调用所述测试用例的调度指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510946272.5A CN105574416A (zh) | 2015-12-16 | 2015-12-16 | 一种浏览器漏洞检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510946272.5A CN105574416A (zh) | 2015-12-16 | 2015-12-16 | 一种浏览器漏洞检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105574416A true CN105574416A (zh) | 2016-05-11 |
Family
ID=55884534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510946272.5A Pending CN105574416A (zh) | 2015-12-16 | 2015-12-16 | 一种浏览器漏洞检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105574416A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106603787A (zh) * | 2016-11-29 | 2017-04-26 | 努比亚技术有限公司 | 一种终端测试方法、装置及终端 |
CN106998335A (zh) * | 2017-06-13 | 2017-08-01 | 深信服科技股份有限公司 | 一种漏洞检测方法、网关设备、浏览器及系统 |
CN109446079A (zh) * | 2018-10-19 | 2019-03-08 | 杭州安恒信息技术股份有限公司 | 一种基于ast突变的浏览器模糊测试方法 |
CN110399725A (zh) * | 2019-06-18 | 2019-11-01 | 深圳壹账通智能科技有限公司 | 漏洞处理方法及装置、电子设备和计算机可读存储介质 |
CN110765464A (zh) * | 2019-10-30 | 2020-02-07 | 深圳前海微众银行股份有限公司 | 漏洞检测方法、装置、设备及计算机存储介质 |
CN110941830A (zh) * | 2019-11-15 | 2020-03-31 | 泰康保险集团股份有限公司 | 一种漏洞数据处理方法和装置 |
CN111666168A (zh) * | 2019-03-06 | 2020-09-15 | 福建天泉教育科技有限公司 | 一种自动记录测试异常的方法及终端 |
CN112685735A (zh) * | 2018-12-27 | 2021-04-20 | 慧安金科(北京)科技有限公司 | 用于检测异常数据的方法、设备和计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866314A (zh) * | 2010-05-31 | 2010-10-20 | 中山大学 | 一种软件测试的方法及软件测试系统 |
CN103034568A (zh) * | 2012-12-14 | 2013-04-10 | 北京奇虎科技有限公司 | 用于浏览器的输入数据恢复方法及装置 |
CN103034724A (zh) * | 2012-12-14 | 2013-04-10 | 北京奇虎科技有限公司 | 浏览器中进行输入数据恢复的方法及装置 |
CN103377127A (zh) * | 2012-04-28 | 2013-10-30 | 阿里巴巴集团控股有限公司 | 网页产品的开发测试系统、测试方法及装置 |
CN104794049A (zh) * | 2014-01-20 | 2015-07-22 | 腾讯科技(深圳)有限公司 | 应用程序测试方法和装置 |
-
2015
- 2015-12-16 CN CN201510946272.5A patent/CN105574416A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866314A (zh) * | 2010-05-31 | 2010-10-20 | 中山大学 | 一种软件测试的方法及软件测试系统 |
CN103377127A (zh) * | 2012-04-28 | 2013-10-30 | 阿里巴巴集团控股有限公司 | 网页产品的开发测试系统、测试方法及装置 |
CN103034568A (zh) * | 2012-12-14 | 2013-04-10 | 北京奇虎科技有限公司 | 用于浏览器的输入数据恢复方法及装置 |
CN103034724A (zh) * | 2012-12-14 | 2013-04-10 | 北京奇虎科技有限公司 | 浏览器中进行输入数据恢复的方法及装置 |
CN104794049A (zh) * | 2014-01-20 | 2015-07-22 | 腾讯科技(深圳)有限公司 | 应用程序测试方法和装置 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106603787A (zh) * | 2016-11-29 | 2017-04-26 | 努比亚技术有限公司 | 一种终端测试方法、装置及终端 |
CN106603787B (zh) * | 2016-11-29 | 2019-11-19 | 努比亚技术有限公司 | 一种终端测试方法、装置及终端 |
CN106998335A (zh) * | 2017-06-13 | 2017-08-01 | 深信服科技股份有限公司 | 一种漏洞检测方法、网关设备、浏览器及系统 |
CN106998335B (zh) * | 2017-06-13 | 2020-09-18 | 深信服科技股份有限公司 | 一种漏洞检测方法、网关设备、浏览器及系统 |
CN109446079B (zh) * | 2018-10-19 | 2022-02-18 | 杭州安恒信息技术股份有限公司 | 一种基于ast突变的浏览器模糊测试方法 |
CN109446079A (zh) * | 2018-10-19 | 2019-03-08 | 杭州安恒信息技术股份有限公司 | 一种基于ast突变的浏览器模糊测试方法 |
CN112685735B (zh) * | 2018-12-27 | 2024-04-12 | 慧安金科(北京)科技有限公司 | 用于检测异常数据的方法、设备和计算机可读存储介质 |
CN112685735A (zh) * | 2018-12-27 | 2021-04-20 | 慧安金科(北京)科技有限公司 | 用于检测异常数据的方法、设备和计算机可读存储介质 |
CN111666168B (zh) * | 2019-03-06 | 2022-08-30 | 福建天泉教育科技有限公司 | 一种自动记录测试异常的方法及终端 |
CN111666168A (zh) * | 2019-03-06 | 2020-09-15 | 福建天泉教育科技有限公司 | 一种自动记录测试异常的方法及终端 |
CN110399725A (zh) * | 2019-06-18 | 2019-11-01 | 深圳壹账通智能科技有限公司 | 漏洞处理方法及装置、电子设备和计算机可读存储介质 |
CN110765464A (zh) * | 2019-10-30 | 2020-02-07 | 深圳前海微众银行股份有限公司 | 漏洞检测方法、装置、设备及计算机存储介质 |
CN110941830B (zh) * | 2019-11-15 | 2022-03-29 | 泰康保险集团股份有限公司 | 一种漏洞数据处理方法和装置 |
CN110941830A (zh) * | 2019-11-15 | 2020-03-31 | 泰康保险集团股份有限公司 | 一种漏洞数据处理方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105574416A (zh) | 一种浏览器漏洞检测方法及装置 | |
US9223684B2 (en) | Online application testing across browser environments | |
CN110750458A (zh) | 大数据平台测试方法、装置、可读存储介质及电子设备 | |
US20100115496A1 (en) | Filter generation for load testing managed environments | |
CN103049371A (zh) | Android应用程序测试方法和测试装置 | |
US20170153969A1 (en) | System and method for executing integration tests in multiuser environment | |
US20150169435A1 (en) | Method and apparatus for mining test coverage data | |
CN104572422A (zh) | 一种基于Linux系统开关机下内存监测实现方法 | |
CN107015841B (zh) | 一种程序编译的预处理方法及程序编译设备 | |
CN104166619A (zh) | 应用程序的性能测试方法及终端 | |
CN105760307B (zh) | 智能终端的测试方法、装置及系统 | |
US11436133B2 (en) | Comparable user interface object identifications | |
CN113190464A (zh) | mock测试方法、装置、电子设备及介质 | |
CN106776318A (zh) | 一种测试脚本录制方法及系统 | |
CN110597704B (zh) | 应用程序的压力测试方法、装置、服务器和介质 | |
CN107957939B (zh) | 网页交互界面测试方法及系统 | |
US10423793B2 (en) | Install runtime agent for security test | |
Tuovenen et al. | MAuto: Automatic mobile game testing tool using image-matching based approach | |
CN105512562A (zh) | 一种漏洞挖掘方法、装置及电子设备 | |
CN109697164A (zh) | 浏览器中调起App的测试方法、装置、存储介质及终端 | |
Wu et al. | AppCheck: a crowdsourced testing service for android applications | |
CN109522187B (zh) | 状态信息快速提取方法及装置 | |
US20170123959A1 (en) | Optimized instrumentation based on functional coverage | |
Sun et al. | Automatically capturing and reproducing Android application crashes | |
CN114690988B (zh) | 测试方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160511 |
|
RJ01 | Rejection of invention patent application after publication |