CN106951242B - 一种漏洞验证程序的生成方法、设备及计算设备 - Google Patents

一种漏洞验证程序的生成方法、设备及计算设备 Download PDF

Info

Publication number
CN106951242B
CN106951242B CN201710142439.1A CN201710142439A CN106951242B CN 106951242 B CN106951242 B CN 106951242B CN 201710142439 A CN201710142439 A CN 201710142439A CN 106951242 B CN106951242 B CN 106951242B
Authority
CN
China
Prior art keywords
test
information
vulnerability
access request
data
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.)
Active
Application number
CN201710142439.1A
Other languages
English (en)
Other versions
CN106951242A (zh
Inventor
赵武
龙专
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baimaohui Technology Co ltd
Original Assignee
Beijing Baimaohui Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baimaohui Technology Co ltd filed Critical Beijing Baimaohui Technology Co ltd
Priority to CN201710142439.1A priority Critical patent/CN106951242B/zh
Publication of CN106951242A publication Critical patent/CN106951242A/zh
Application granted granted Critical
Publication of CN106951242B publication Critical patent/CN106951242B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action

Abstract

本发明公开了一种漏洞验证程序的生成设备,包括:信息接收模块,适于接收用户输入的有关测试目标漏洞的测试信息,测试信息包括访问请求信息和响应验证信息,访问请求信息定义发送至测试目标的访问请求,响应验证信息定义当测试目标存在漏洞时、测试目标响应访问请求而返回的内容应当满足的条件;数据生成模块,适于根据所接收的测试信息生成测试数据;程序生成模块,适于根据测试数据和预置的漏洞验证程序模版生成漏洞验证程序。本发明还公开了漏洞验证程序的生成方法和计算设备。

Description

一种漏洞验证程序的生成方法、设备及计算设备
技术领域
本发明涉及网络安全技术领域,尤其涉及一种漏洞验证程序的生成方法、设备及计算设备。
背景技术
安全漏洞是信息技术、信息产品、信息系统在需求、设计、实现、配置、运行等过程中产生的缺陷,这些缺陷一旦被恶意主体利用,就会对信息系统的安全造成损害,从而危害信息系统及信息的安全。近年来由安全漏洞导致的网络安全事件层出不同,给用户造成极大危害。
POC(Proof of Concept)程序又称作漏洞验证程序,指用于验证安全漏洞的测试代码。POC程序可以验证安全漏洞是否确实存在,还可以演示该漏洞的利用方式,因此被广泛应用于渗透测试(通过模拟恶意黑客的攻击方法,来评估安全性)、安全漏洞验证等领域,也因此在实际应用中,常常需要大量的漏洞验证程序来作为测试样例。
而现有的漏洞验证程序编写操作比较繁琐,需要搭建开发环境(如ruby、php、python等语言),还需要寻找测试目标,最后在开发环境里运行漏洞验证程序,验证漏洞是否存在。整个过程不仅费时费力,还需要编写漏洞验证程序的人员具有较高的技术水平。
因此,需要一种更为先进的生成漏洞验证程序的方案。
发明内容
为此,本发明提供一种漏洞验证程序的生成方法、设备及计算设备,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了一种漏洞验证程序的生成设备,包括:信息接收模块,适于接收用户输入的有关测试目标漏洞的测试信息,测试信息包括访问请求信息和响应验证信息,访问请求信息定义发送至测试目标的访问请求,响应验证信息定义当测试目标存在漏洞时、测试目标响应访问请求而返回的内容应当满足的条件;数据生成模块,适于根据所接收的测试信息生成测试数据;程序生成模块,适于根据测试数据和预置的漏洞验证程序模版生成漏洞验证程序,漏洞验证程序能够被执行以发送访问请求信息定义的访问请求至测试目标,并通过判断测试目标响应访问请求而返回的内容是否满足响应验证信息定义的条件来确定测试目标是否存在漏洞。
根据本发明的另一方面,提供了一种漏洞验证程序的生成方法,包括步骤:接收用户输入的有关测试目标漏洞的测试信息,测试信息包括访问请求信息和响应验证信息,访问请求信息定义发送至测试目标的访问请求,响应验证信息定义当测试目标存在漏洞时、测试目标响应访问请求而返回的内容应当满足的条件;根据所接收的测试信息生成测试数据;根据测试数据和预置的漏洞验证程序模版生成漏洞验证程序,漏洞验证程序能够被执行以发送访问请求信息定义的访问请求至测试目标,并通过判断测试目标响应访问请求而返回的内容是否满足响应验证信息定义的条件来确定测试目标是否存在漏洞。
根据本发明的还有一个方面,提供了一种计算设备,包括:至少一个处理器;以及包括计算机程序指令的至少一个存储器;至少一个存储器和计算机程序指令被配置为与至少一个处理器一起使得计算设备执行根据本发明的漏洞验证程序的生成方法。
根据本发明的漏洞验证程序的生成方案通过对在图形用户界面上接收到的用户输入的测试信息和基础信息进行组合生成测试数据,再将测试数据替换漏洞验证程序模版中的对应部分,从而实现了漏洞验证程序的自动生成,整个过程无需用户手动编写,大大降低了漏洞验证程序编写的技术门槛以及用户的操作难度,简单高效。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明的一个示例性实施方式的计算设备100的结构框图;
图2示出了根据本发明的一个示例性实施方式的漏洞验证程序的生成设备200的结构框图;
图3示出了根据本发明一个示例性实施方式的用于用户输入基础信息的图形用户界面的截图;
图4示出了根据本发明一个示例性实施方式的用于用户输入多条测试信息的图形用户界面的截图;
图5示出了根据本发明一个示例性实施方式的用于用户输入访问请求信息的图形用户界面的截图;
图6示出了根据本发明一个示例性实施方式的用于用户输入响应验证信息的图形用户界面的截图;
图7示出了根据本发明一个示例性实施方式的用于用户输入多个测试组的图形用户界面的截图;
图8示出了根据本发明一个示例性实施方式的用于用户输入特征信息的图形用户界面的截图;以及
图9示出了根据本发明的一个示例性实施方式的漏洞验证程序的生成方法900的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
安全漏洞是信息技术、信息产品、信息系统在需求、设计、实现、配置、运行等过程中产生的缺陷,这些缺陷一旦被恶意主体利用,就会对信息系统的安全造成损害,从而危害信息系统及信息的安全。近年来由安全漏洞导致的网络安全事件层出不同,给用户造成极大危害。
漏洞验证程序,即POC(Proof of Concept)程序,为用于验证安全漏洞的测试代码。用户可以利用漏洞验证程序来验证漏洞是否确实存在,还可以演示该漏洞的利用方式,因此被广泛应用于渗透测试、安全漏洞验证等领域。本发明提供了一种漏洞验证程序的生成方法,可以自动、简单、高效地生成漏洞验证程序。
图1示出了根据本发明一个示例性实施例的计算设备100的结构框图。该计算设备100可以实现为服务器,例如文件服务器、数据库服务器、应用程序服务器和WEB服务器等,也可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。此外,计算设备100还可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂窝电话、个人数字助理(PDA)、个人媒体播放器设备、无线网络浏览设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。
在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器((μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据128。在一些实施方式中,应用122可以布置为在操作系统上利用程序数据128进行操作。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
在本发明中,计算设备100的应用122可以包括被配置为实现本发明方案的漏洞验证程序的生成设备200。
图2示出了根据本发明一个示例性实施方式的漏洞验证程序的生成设备200的结构框图。如图2所示,漏洞验证程序的生成设备200可以包括信息接收模块220、数据生成模块240以及程序生成模块260。
信息接收模块220可以接收用户输入的有关测试目标漏洞的基础信息。基础信息可以描述该漏洞,并通常包括漏洞标题、漏洞描述、产品名称、产品主页、发现日期、作者以及来源中的至少一个。
基础信息还可以指示对存在漏洞的测试目标的查询规则,查询规则可以用于在网络搜索引擎(例如:https://fofa.so)上查询可能存在该漏洞的测试目标的绝对路径。例如查询规则为domain=“fofa.so”,那么可以在网络搜索引擎上查询到所有满足该查询规则(即域名为fofa.so)的测试目标的绝对路径。
图3示出了根据本发明一个示例性实施方式的用于用户输入基础信息的图形用户界面的截图。当用户访问漏洞验证程序的生成设备200时,可以被呈现如图3所示的图形用户界面,在该图形用户界面上,用户可以输入漏洞的基础信息,例如输入漏洞的发现日期为2017-01-17,来源为https://fofa.so等等。
信息接收模块220还接收用户输入的有关测试目标漏洞的测试信息,该测试信息同样可以在漏洞验证程序的生成设备200处的图形用户界面进行输入,并可以包括访问请求信息和响应验证信息。其中,访问请求信息定义发送至测试目标的访问请求,响应验证信息则定义当测试目标存在漏洞时、测试目标响应访问请求而返回的内容应当满足的条件。
信息接收模块220接收用户输入的基础信息和测试信息之后,与信息接收模块连接的数据生成模块240可以根据所接收的基础信息和测试信息生成测试数据。需要注意的是,用户也可以不输入基础信息,只输入测试信息,那么信息接收模块220只接收测试信息,数据生成模块240根据测试信息生成测试数据,此时,测试信息应当包括测试目标的完整路径。
生成测试数据后,与数据生成模块240连接的程序生成模块260可以根据测试数据和预置的漏洞验证程序模版生成漏洞验证程序,漏洞验证程序能够通过对输入的测试信息进行验证来确定测试目标是否存在漏洞。具体来说,漏洞验证程序可以向测试目标发送访问请求信息定义的访问请求,并通过判断测试目标响应访问请求而返回的内容是否满足响应验证信息定义的条件来确定测试目标是否存在漏洞。若测试目标响应访问请求而返回的内容满足响应验证信息定义的条件,则确定测试目标存在漏洞,否则不存在漏洞。
通常地,对一些漏洞来说,发送一次访问请求,即可根据测试目标返回的内容确定是否存在漏洞。但也有一些漏洞,需要发送多次访问请求,才能够作出是否存在漏洞的结论。
因此,输入的测试信息可以为一条或者多条,多条测试信息之间具有逻辑关系(例如与或)和顺序关系(例如输入的先后),用户可以通过在如图4所示的图形用户界面进行逻辑关系和顺序关系的输入,可以看到,在如图4所示的图形用户界面上,用户输入了3条测试信息,按顺序为:URL请求测试0、URL请求测试1、URL请求测试2,测试信息之间的逻辑关系为AND,即与的逻辑关系。
相应生成的漏洞验证程序可以根据多条测试信息之间的顺序关系来逐条对每条测试信息进行验证,并通过多条测试信息之间的逻辑关系以及对每条测试信息进行验证的结果来确定测试目标是否存在漏洞。例如,若多条测试信息之间的逻辑关系为与,则当对每条测试信息进行验证的结果均指示测试目标是否存在漏洞时,才能确定该测试目标存在漏洞。若多条测试信息之间的逻辑关系为或时,当对多条测试信息的其中一条进行验证的结果指示测试目标是否存在漏洞时,即可确定该测试目标存在漏洞。
下面将详细描述漏洞验证程序的生成设备200的原理。
测试信息中的访问请求信息通常可以包括要发送的访问请求的请求类型、请求头部(header)、以及请求传递的数据(post data),根据这些信息可以生成向测试目标发送的访问请求。其中,访问请求通常为http(或https)请求,请求类型则可以是http(或https)请求的get和post类型。
访问请求信息还可以包括测试目标的相对路径,漏洞验证程序可以根据基础信息中测试目标的查询规则查询测试目标的绝对路径,而后将相对路径和查询到的绝对路径组合在一起,得到测试目标的完整路径。例如,输入的测试目标的相对路径为/test.php,查询到的绝对路径为https://fofa.so,那么测试目标的完整路径则是https://fofa.so/test.php,最后漏洞验证程序向该完整路径发送生成的访问请求。
图5示出了根据本发明一个示例性实施方式的用于用户输入访问请求信息的图形用户界面的截图。如图5所示,在该图形用户界面上,用户可以输入例如HTTP请求方法为GET,即访问请求的请求类型,还可以输入例如测试URI为/test.php,即测试目标的相对路径。
响应验证信息则通常可以包括当测试目标存在漏洞时、测试目标响应访问请求而返回的内容应当满足的条件。漏洞验证程序判断当测试目标响应访问请求而返回的内容满足响应验证信息的条件时,则可以确定测试目标存在漏洞,否则确定不存在漏洞。
根据本发明的一个实施方式,输入的条件可以是一条或者多条,其中多个条件之间具有(例如与或)逻辑关系。漏洞验证程序能够被执行以根据多个条件之间的逻辑关系和对每个条件进行验证的结果来确定测试目标是否存在漏洞。例如,若多个条件之间具有与的逻辑关系,则漏洞验证程序判断当测试目标返回的内容满足所有条件,才能确定测试目标返回的内容满足响应验证信息的条件、测试目标存在漏洞,否则确定不满足条件、不存在漏洞。若多个条件之间具有或的逻辑关系,则漏洞验证程序判断当测试目标返回的内容满足多个条件中的一个,即可确定测试目标返回的内容满足响应验证信息的条件、测试目标存在漏洞。
具体地,每个条件可以包括测试变量,测试操作和预期值。其中,测试变量可以包括测试目标响应访问请求而返回的内容的响应码、正文、以及响应头,测试操作可以包括包含、不包含、开头是、结尾是、等于、不等于、大于、小于、大于等于、小于等于、以及正则表达式。例如,用户输入的一个条件的测试变量为测试目标响应访问请求而返回的内容的响应码,测试操作为等于,预期值为200,那么该条件意为:测试目标响应访问请求而返回的内容的响应码等于200。
图6示出了根据本发明一个示例性实施方式的用于用户输入响应验证信息的图形用户界面的截图。如图6所示,在该图形用户界面上,用户可以输入多个条件,例如HTTP正文(即测试目标响应访问请求而返回的内容的正文)包含(即测试操作)test(预期值)、HTTP响应码等于200,并且2个条件之间的逻辑关系为同时存在(即与的逻辑关系)。
进一步地,考虑到测试目标存在漏洞时、测试目标响应访问请求而返回的内容应当满足的条件的层次多样性和复杂性,根据本发明的一个实施方式,响应验证信息可以包括多个测试组,每个测试组包括当测试目标存在漏洞时、测试目标响应访问请求而返回的内容应当满足的一个或多个条件,漏洞验证程序可以通过判断测试目标响应访问请求而返回的内容是否满足每个测试组的条件来确定测试目标是否存在漏洞。具体地,漏洞验证程序判断当测试目标响应访问请求而返回的内容满足每个测试组的条件时,可以确定测试目标存在漏洞。
同样地,每个测试组的多个条件之间具有逻辑关系(例如与或),每个条件包括测试变量,测试操作和预期值。漏洞验证程序可以根据多个条件之间的逻辑关系以及对每个条件进行判断的结果来确定测试目标响应访问请求而返回的内容是否满足该测试组的条件。例如,若多个条件之间具有与的逻辑关系,则当测试目标返回的内容满足该测试组的所有条件,才能确定测试目标返回的内容满足该测试组的条件,否则确定不满足该测试组的条件。若多个条件之间具有或的逻辑关系,则当测试目标返回的内容满足该测试组的多个条件中的一个,即可确定测试目标返回的内容满足该测试组的条件。
图7示出了根据本发明一个示例性实施方式的用于用户输入多个测试组的图形用户界面的截图。如图7所示,在该图形用户界面上,用户可以输入多个测试组,其中一个测试组中多个条件之间具有同时存在(即与)的逻辑关系,一个测试组中多个条件具有存在一项(即或)的逻辑关系。
进一步地,有些测试目标的访问请求需要携带该测试目标的特征,否则将被该测试目标拒绝访问,例如发送至某网站的访问请求需要携带该网站生成的随机token。因此,根据本发明的一个实施方式,测试信息还可以包括特征信息,该特征信息描述访问请求需要携带的特征,从而相应生成的漏洞验证程序可以从测试目标响应上一次访问请求而返回的内容中提取该特征,并将该特征与访问请求信息定义的访问请求一起发送至测试目标。这样,携带特征的访问请求就不会被测试目标拒绝,可以最大程度地防止漏洞的误报和漏报。
具体地,特征信息可以包括特征名称、正则表达式和特征在测试目标响应访问请求而返回的内容中的位置。输入特征信息后,相应生成的漏洞验证程序可以从测试目标响应上一次访问请求而返回的内容中、该特征的位置,根据正则表达式提取该特征。其中,特征名称可以包括token、cookie以及表单提交路径等,特征的位置通常可以包括测试目标响应访问请求而返回的内容的正文(body)和响应头(header)。
图8示出了根据本发明一个示例性实施方式的用于用户输入特征信息的图形用户界面的截图。如图8所示,在该图形用户界面上,用户输入特征名称为token,正则表达式为unauth.cgi?id=(\d+),特征的位置为lastbody(即测试目标响应上一次访问请求而返回的内容的正文),那么则漏洞验证程序可以按照正则表达式unauth.cgi?id=(\d+),从测试目标上一次返回的内容的body中提取出token,将该token与本次的访问请求一起发送至测试目标。
信息接收模块220接收用户输入的基础信息和测试信息之后,数据生成模块240可以将基础信息中的各项数据组合生成基础信息数据,而后将测试信息中的各项数据组合生成测试信息数据,最后将测试信息数据与基础信息数据组合生成测试数据。其中,对于生成测试信息数据,数据生成模块240可以分别将每条测试信息中的各项数据组合,并按照多条测试信息之间的顺序关系逐条连接,将连接得到的数据与多条测试信息之间的逻辑关系组合生成测试信息数据。
例如,根据如图3所示的图形用户界面的基础信息组合生成的基础信息数据如下:{"Name":"Exploit Name","Description":"Exploit Description","Product":"ProductName","Homepage":"https://fofa.so/","DisclosureDate":"2017-02-07","Author":"subingshe7567@sina.com","FofaQuery":"domain=\"fofa.so\"","Ref erences":"[\"https://fofa.so/\"]"}。
其中,"Name":"Exploit Name",Name为漏洞名称标签,即漏洞名称为ExploitName;"Description":"Exploit Description",Description为漏洞描述标签,即漏洞描述为Exploit Description;"Product":"Product Name",Product为产品名称标签,即产品名称为Product Name;"Homepage":"https://fofa.so/",Homepage为产品主页标签,即产品主页为https://fofa.so/;"DisclosureDate":"2017-02-07",DisclosureDate为发现日期标签,即发现日期为2017-02-07;"Author":"subingshe7567@sina.com",Author为作者标签,即作者为subingshe7567@sina.com;"FofaQuery":"domain=\"fofa.so\"",FofaQuery为测试目标的查询规则标签,即查询规则为domain=\"fofa.so\";"References":"[\"https://fofa.so/\"]",References为来源标签,即来源为https://fofa.so/。
又例如,根据如图6和图8所示的图形用户界面的测试信息组合生成的测试信息数据如下:{"Request":{"method":"GET","uri":"/test.php","header":{},"data":""},"ResponseTest":{"type":"group","operation":"AND","checks":[{"type":"item","variable":"$code","operation":"==","value":"200","bz":""},{"type":"item","variable":"$body","operation":"contains","value":"test","bz":""}]},"SetVariable":["token|lastbody|reqgex|unauth.cgi?id=(\d+)"]}。
其中,"Request":{},为访问请求信息标签,即该标签后{}内的数据为访问请求信息:"method":"GET",method为访问请求的请求类型标签,即请求类型为GET;"uri":"/test.php",uri为测试目标的相对路径标签,即测试的相对路径为/test.php;"header":{},header为请求头部标签,即该标签后{}内的数据为请求头部;"data":"",data为请求传递的数据标签,即请求传递的数据为空。
"ResponseTest":{},ResponseTest为响应验证信息标签,即该标签后{}内的数据为响应验证信息:"type":"group",此处type为测试组标签,即测试组名称为group;"operation":"AND",operation为该测试组下多个条件之间的逻辑关系标签,AND为与的逻辑关系,即该测试组下多个条件之间具有与的逻辑关系;"checks":[],checks为该测试组下的条件标签,即该标签后[]内的内容为该测试组包含的条件,其中每一对{}表示一个条件:
对于{"type":"item","variable":"$code","operation":"==","value":"200","bz":""},其中,"type":"item",此处type为条件名称标签,即该条件的名称为item;"variable":"$code",variable为测试变量标签,即测试变量为测试目标响应访问请求而返回的内容的响应码;"operation":"==",operation为测试操作标签,即测试操作为等于;"value":"200",value为预期值标签,即预期值为200;"bz":"",bz为备注标签,即备注为无;
"SetVariable":[],SetVariable为特征信息标签,即该标签后[]内的内容为特征信息,其中,每一对""表示一条特征信息:"token|lastbody|reqgex|unauth.cgi?id=(\d+)",其中,token为用户输入的特征名称,lastbody为用户输入的、特征在测试目标响应上一次访问请求而返回的内容中的body处,reqgex为用户选择输入正则表达式,unauth.cgi?id=(\d+)为用户输入的正则表达式。
将上述测试信息数据与基础信息数据组合生成的测试数据可以如下:
Figure GDA0002539276280000111
Figure GDA0002539276280000121
Figure GDA0002539276280000131
其中,"ScanSteps":[],ScanSteps为测试信息标签,即该标签后[]内的内容为测试信息,[其后的"AND"表示多条测试信息之间的逻辑关系为与。
生成测试数据后,根据本发明的一个实施方式,程序生成模块260可以将测试数据替换漏洞验证程序模版中的对应部分,以生成漏洞验证程序。
预置的漏洞验证程序模版可以如下:
Figure GDA0002539276280000132
Figure GDA0002539276280000141
程序生成模块260可以将测试数据替换漏洞验证程序模版中def get_info后{}的内容,最后生成的漏洞验证程序可以如下:
Figure GDA0002539276280000142
Figure GDA0002539276280000151
Figure GDA0002539276280000161
这样,就实现了漏洞验证程序的自动生成,整个过程无需用户手动编写,大大降低了漏洞验证程序编写的技术门槛以及用户的操作难度,并且简单高效。
根据本发明的还有一个实施方式,漏洞验证程序的生成设备200还可以包括信息编辑模块,信息编辑模块可以对生成的漏洞验证程序进行解析,提取出漏洞的基础信息和测试信息,将基础信息和测试信息的各项填入对应的图像用户界面中呈现给用户,以便用户对其进行修改。
图9示出了根据本发明的一个示例性实施方式的漏洞验证程序的生成方法900的流程图。如图9所示,漏洞验证程序的生成方法900始于步骤S902。
在步骤S902中,接收用户输入的有关测试目标漏洞的测试信息。测试信息包括访问请求信息和响应验证信息,该访问请求信息定义发送至测试目标的访问请求,响应验证信息定义当测试目标存在漏洞时、测试目标响应访问请求而返回的内容应当满足的条件。
接收测试信息之后,在步骤S904中,根据所接收的测试信息生成测试数据。最后在步骤S906中,根据测试数据和预置的漏洞验证程序模版生成漏洞验证程序,漏洞验证程序能够被执行以发送访问请求信息定义的访问请求至测试目标,并通过判断测试目标响应访问请求而返回的内容是否满足响应验证信息定义的条件来确定测试目标是否存在漏洞。具体地,可以将测试数据替换漏洞验证程序模版中的对应部分,以生成漏洞验证程序。
根据本发明的一个实施方式,方法900还可以包括步骤:接收用户输入的有关测试目标漏洞的基础信息,该基础信息可以描述漏洞。具体地,基础信息可以包括漏洞标题、漏洞描述、产品名称、产品主页、发现日期、作者以及来源中的至少一个,还可以包括测试目标的查询规则,漏洞验证程序能够被执行以根据该查询规则查询测试目标的绝对路径。
同时,步骤S904可以包括:根据所接收的漏洞的基础信息和测试信息生成测试数据。具体地,可以先将基础信息中的各项数据组合生成基础信息数据,再将测试信息中的各项数据组合生成测试信息数据,最后将测试信息数据与基础信息数据组合生成测试数据。
根据本发明的一个实施方式,测试信息可以包括多条测试信息,多条测试信息之间具有逻辑关系,漏洞验证程序能够被执行以根据多条测试信息之间的逻辑关系和对各条测试信息进行验证的结果来确定测试目标是否存在漏洞。
多条测试信息之间还可以具有顺序关系,漏洞验证程序能够被执行以根据多条测试信息之间的顺序关系来逐条对测试信息进行验证。
那么,生成测试信息的步骤可以包括:分别将每条测试信息中的各项数据组合,并按照多条测试信息之间的顺序关系逐条连接,将连接得到的数据与多条测试信息之间的逻辑关系组合生成测试信息数据。
根据本发明的一个实施方式,访问请求信息包括测试目标的相对路径,漏洞验证程序能够被执行以将测试目标的相对路径和根据基础信息中查询规则查询到的绝对路径组合得到测试目标的完整路径。
此外,访问请求信息还可以包括访问请求的请求类型、请求头部、以及请求传递的数据。
根据本发明的另一个实施方式,响应验证信息定义的条件可以包括多个条件,多个条件之间具有逻辑关系,漏洞验证程序能够被执行以根据多个条件之间的逻辑关系和对每个条件进行验证的结果来确定测试目标是否存在漏洞。其中,每个条件可以包括测试变量、测试操作和预期值,测试变量可以包括测试目标响应访问请求而返回的内容的响应码、正文、以及响应头,测试操作可以包括包含、不包含、开头是、结尾是、等于、不等于、大于、小于、大于等于、小于等于、以及正则表达式。
根据本发明的另一个实施方式,测试信息还可以包括特征信息,特征信息可以描述访问请求需要携带的特征,漏洞验证程序能够被执行以从测试目标响应上一次访问请求而返回的内容中提取该特征,并将该特征与访问请求信息定义的访问请求一起发送至测试目标。具体地,特征信息可以包括正则表达式和特征在测试目标响应访问请求而返回的内容中的位置,漏洞验证程序能够被执行以从测试目标响应上一次访问请求而返回的内容中、特征的位置,根据正则表达式提取该特征,特征的位置通常包括测试目标响应访问请求而返回的内容的正文和响应头。
以上在结合图1~图8说明漏洞验证程序的生成设备200的原理的具体描述中已经对各步骤中的相应处理进行了详细解释,这里不再对重复内容进行赘述。
应当理解,这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、CD-ROM、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的漏洞验证程序的生成方法。
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本发明还包括:A6、如A5所述的方法,其中,所述将测试信息中的各项数据组合生成测试信息数据的步骤包括:分别将每条测试信息中的各项数据组合,并按照多条测试信息之间的顺序关系逐条连接;将连接得到的数据与多条测试信息之间的逻辑关系组合生成测试信息数据。A7、如A2-6中任一项所述的方法,其中,所述访问请求信息包括测试目标的相对路径,所述基础信息包括测试目标的查询规则,所述漏洞验证程序能够被执行以根据所述查询规则查询所述测试目标的绝对路径,并将所述测试目标的相对路径和查询到的绝对路径组合得到所述测试目标的完整路径。A8、如A1-7中任一项所述的方法,其中,所述访问请求信息还包括所述访问请求的请求类型、请求头部、以及请求传递的数据。A9、如A1-8中任一项所述的方法,其中,所述基础信息还包括漏洞标题、漏洞描述、产品名称、产品主页、发现日期、作者以及来源中的至少一个。A10、如A1-9中任一项所述的方法,其中,所述响应验证信息定义的条件包括多个条件,所述多个条件之间具有逻辑关系,所述漏洞验证程序能够被执行以根据多个条件之间的逻辑关系和对每个条件进行验证的结果来确定测试目标是否存在漏洞。A11、如A10所述的方法,其中,每个条件包括测试变量、测试操作和预期值,所述测试变量包括测试目标响应访问请求而返回的内容的响应码、正文、以及响应头,所述测试操作包括包含、不包含、开头是、结尾是、等于、不等于、大于、小于、大于等于、小于等于、以及正则表达式。A12、如A1-11中任一项所述的方法,其中,所述测试信息还包括特征信息,所述特征信息描述所述访问请求需要携带的特征,所述漏洞验证程序能够被执行以从测试目标响应上一次访问请求而返回的内容中提取所述特征,并将所述特征与所述访问请求信息定义的访问请求一起发送至所述测试目标。A13、如A12所述的方法,其中,所述特征信息包括正则表达式和特征在测试目标响应访问请求而返回的内容中的位置,所述漏洞验证程序能够被执行以从测试目标响应上一次访问请求而返回的内容中、特征的位置,根据所述正则表达式提取所述特征,所述特征的位置包括测试目标响应访问请求而返回的内容的正文和响应头。A14、如A1-13中任一项所述的方法,其中,所述根据测试数据和预置的漏洞验证程序模版生成漏洞验证程序的步骤包括:将测试数据替换漏洞验证程序模版中的对应部分,以生成漏洞验证程序。
B19、如B18所述的设备,其中,所述多条测试信息之间具有顺序关系,所述漏洞验证程序能够被执行以根据多条测试信息之间的顺序关系来逐条对测试信息进行验证。B20、如B19所述的设备,其中,所述数据生成模块还适于分别将每条测试信息中的各项数据组合,并按照多条测试信息之间的顺序关系逐条连接;将连接得到的数据与多条测试信息之间的逻辑关系组合生成测试信息数据。B21、如B16-20中任一项所述的设备,其中,所述访问请求信息包括测试目标的相对路径,所述基础信息包括测试目标的查询规则,所述漏洞验证程序能够被执行以根据所述查询规则查询所述测试目标的绝对路径,并将所述测试目标的相对路径和查询到的绝对路径组合得到所述测试目标的完整路径。B22、如B15-21中任一项所述的设备,其中,所述访问请求信息还包括所述访问请求的请求类型、请求头部、以及请求传递的数据。B23、如B15-22中任一项所述的设备,其中,所述基础信息还包括漏洞标题、漏洞描述、产品、产品主页、发现日期、作者以及来源中的至少一个。B24、如B15-23中任一项所述的设备,其中,所述响应验证信息定义的条件包括多个条件,所述多个条件之间具有逻辑关系,所述漏洞验证程序能够被执行以根据多个条件之间的逻辑关系和对每个条件进行验证的结果来确定测试目标是否存在漏洞。B25、如B24所述的设备,其中,每个条件包括测试变量、测试操作和预期值,所述测试变量包括测试目标响应访问请求而返回的内容的响应码、正文、以及响应头,所述测试操作包括包含、不包含、开头是、结尾是、等于、不等于、大于、小于、大于等于、小于等于、以及正则表达式。B26、如B15-25中任一项所述的设备,其中,所述测试信息还包括特征信息,所述特征信息描述所述访问请求需要携带的特征,所述漏洞验证程序能够被执行以从测试目标响应上一次访问请求而返回的内容中提取所述特征,并将所述特征与所述访问请求信息定义的访问请求一起发送至所述测试目标。B27、如B26所述的设备,其中,所述特征信息包括正则表达式和特征在测试目标响应访问请求而返回的内容中的位置,所述漏洞验证程序能够被执行以从测试目标响应上一次访问请求而返回的内容中、特征的位置,根据所述正则表达式提取所述特征,所述特征的位置包括测试目标响应访问请求而返回的内容的正文和响应头。B28、如B9-15中任一项所述的设备,其中,所述程序生成模块还适于:将测试数据替换漏洞验证程序模版中的对应部分,以生成漏洞验证程序。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (27)

1.一种漏洞验证程序的生成方法,包括步骤:
接收用户输入的有关测试目标的测试信息,所述测试信息包括访问请求信息和响应验证信息,所述访问请求信息定义发送至测试目标的访问请求,所述响应验证信息定义当测试目标存在所述漏洞时、测试目标响应所述访问请求而返回的内容应当满足的多个条件,所述多个条件之间具有逻辑关系;
根据所接收的测试信息生成测试数据;
根据所述测试数据和预置的漏洞验证程序模版生成漏洞验证程序,所述漏洞验证程序能够被执行以发送所述访问请求信息定义的访问请求至所述测试目标,并通过判断所述测试目标响应所述访问请求而返回的内容是否满足所述响应验证信息定义的多个条件来确定测试目标是否存在漏洞,其中,所述漏洞验证程序能够被执行以根据多个条件之间的逻辑关系和对每个条件进行验证的结果来确定测试目标是否存在漏洞。
2.如权利要求1所述的方法,其中,还包括步骤:
接收用户输入的有关漏洞的基础信息,所述基础信息描述所述漏洞;以及
所述根据所接收的测试信息生成测试数据的步骤包括:
根据所接收的基础信息和测试信息生成测试数据。
3.如权利要求2所述的方法,其中,所述根据所接收的漏洞的基础信息和测试信息生成测试数据的步骤包括:
将基础信息中的各项数据组合生成基础信息数据;
将测试信息中的各项数据组合生成测试信息数据;以及
将测试信息数据与基础信息数据组合生成测试数据。
4.如权利要求1所述的方法,其中,所述测试信息包括多条测试信息,所述多条测试信息之间具有逻辑关系,所述漏洞验证程序能够被执行以根据多条测试信息之间的逻辑关系和对各条测试信息进行验证的结果来确定测试目标是否存在漏洞。
5.如权利要求4所述的方法,其中,所述多条测试信息之间具有顺序关系,所述漏洞验证程序能够被执行以根据多条测试信息之间的顺序关系来逐条对测试信息进行验证。
6.如权利要求3所述的方法,其中,所述将测试信息中的各项数据组合生成测试信息数据的步骤包括:
分别将每条测试信息中的各项数据组合,并按照多条测试信息之间的顺序关系逐条连接;
将连接得到的数据与多条测试信息之间的逻辑关系组合生成测试信息数据。
7.如权利要求2所述的方法,其中,所述访问请求信息包括测试目标的相对路径,所述基础信息包括测试目标的查询规则,所述漏洞验证程序能够被执行以根据所述查询规则查询所述测试目标的绝对路径,并将所述测试目标的相对路径和查询到的绝对路径组合得到所述测试目标的完整路径。
8.如权利要求1所述的方法,其中,所述访问请求信息还包括所述访问请求的请求类型、请求头部、以及请求传递的数据。
9.如权利要求2所述的方法,其中,所述基础信息还包括漏洞标题、漏洞描述、产品名称、产品主页、发现日期、作者以及来源中的至少一个。
10.如权利要求1所述的方法,其中,每个条件包括测试变量、测试操作和预期值,所述测试变量包括测试目标响应访问请求而返回的内容的响应码、正文、以及响应头,所述测试操作包括包含、不包含、开头是、结尾是、等于、不等于、大于、小于、大于等于、小于等于、以及正则表达式。
11.如权利要求1所述的方法,其中,所述测试信息还包括特征信息,所述特征信息描述所述访问请求需要携带的特征,所述漏洞验证程序能够被执行以从测试目标响应上一次访问请求而返回的内容中提取所述特征,并将所述特征与所述访问请求信息定义的访问请求一起发送至所述测试目标。
12.如权利要求11所述的方法,其中,所述特征信息包括正则表达式和特征在测试目标响应访问请求而返回的内容中的位置,所述漏洞验证程序能够被执行以从测试目标响应上一次访问请求而返回的内容中、特征的位置,根据所述正则表达式提取所述特征,所述特征的位置包括测试目标响应访问请求而返回的内容的正文和响应头。
13.如权利要求1-12中任一项所述的方法,其中,所述根据测试数据和预置的漏洞验证程序模版生成漏洞验证程序的步骤包括:
将测试数据替换漏洞验证程序模版中的对应部分,以生成漏洞验证程序。
14.一种漏洞验证程序的生成设备,包括:
信息接收模块,适于接收用户输入的有关测试目标的测试信息,所述测试信息包括访问请求信息和响应验证信息,所述访问请求信息定义发送至测试目标的访问请求,所述响应验证信息定义当测试目标存在所述漏洞时、测试目标响应所述访问请求而返回的内容应当满足的多个条件,所述多个条件之间具有逻辑关系;
数据生成模块,适于根据所接收的测试信息生成测试数据;
程序生成模块,适于根据所述测试数据和预置的漏洞验证程序模版生成漏洞验证程序,所述漏洞验证程序能够被执行以发送所述访问请求信息定义的访问请求至所述测试目标,并通过判断所述测试目标响应所述访问请求而返回的内容是否满足所述响应验证信息定义的多个条件来确定测试目标是否存在漏洞,其中,所述漏洞验证程序能够被执行以根据多个条件之间的逻辑关系和对每个条件进行验证的结果来确定测试目标是否存在漏洞。
15.如权利要求14所述的设备,其中,所述信息接收模块还适于
接收用户输入的有关漏洞的基础信息,所述基础信息描述所述漏洞;以及所述数据生成模块还适于
根据所接收的基础信息和测试信息生成测试数据。
16.如权利要求15所述的设备,其中,所述数据生成模块还适于
将基础信息中的各项数据组合生成基础信息数据;
将测试信息中的各项数据组合生成测试信息数据;以及
将测试信息数据与基础信息数据组合生成测试数据。
17.如权利要求14所述的设备,其中,所述测试信息包括多条测试信息,所述多条测试信息之间具有逻辑关系,所述漏洞验证程序能够被执行以根据多条测试信息之间的逻辑关系和对各条测试信息进行验证的结果来确定测试目标是否存在漏洞。
18.如权利要求17所述的设备,其中,所述多条测试信息之间具有顺序关系,所述漏洞验证程序能够被执行以根据多条测试信息之间的顺序关系来逐条对测试信息进行验证。
19.如权利要求18所述的设备,其中,所述数据生成模块还适于
分别将每条测试信息中的各项数据组合,并按照多条测试信息之间的顺序关系逐条连接;
将连接得到的数据与多条测试信息之间的逻辑关系组合生成测试信息数据。
20.如权利要求15所述的设备,其中,所述访问请求信息包括测试目标的相对路径,所述基础信息包括测试目标的查询规则,所述漏洞验证程序能够被执行以根据所述查询规则查询所述测试目标的绝对路径,并将所述测试目标的相对路径和查询到的绝对路径组合得到所述测试目标的完整路径。
21.如权利要求14所述的设备,其中,所述访问请求信息还包括所述访问请求的请求类型、请求头部、以及请求传递的数据。
22.如权利要求15所述的设备,其中,所述基础信息还包括漏洞标题、漏洞描述、产品名称 、产品主页、发现日期、作者以及来源中的至少一个。
23.如权利要求14所述的设备,其中,每个条件包括测试变量、测试操作和预期值,所述测试变量包括测试目标响应访问请求而返回的内容的响应码、正文、以及响应头,所述测试操作包括包含、不包含、开头是、结尾是、等于、不等于、大于、小于、大于等于、小于等于、以及正则表达式。
24.如权利要求14所述的设备,其中,所述测试信息还包括特征信息,所述特征信息描述所述访问请求需要携带的特征,所述漏洞验证程序能够被执行以从测试目标响应上一次访问请求而返回的内容中提取所述特征,并将所述特征与所述访问请求信息定义的访问请求一起发送至所述测试目标。
25.如权利要求24所述的设备,其中,所述特征信息包括正则表达式和特征在测试目标响应访问请求而返回的内容中的位置,所述漏洞验证程序能够被执行以从测试目标响应上一次访问请求而返回的内容中、特征的位置,根据所述正则表达式提取所述特征,所述特征的位置包括测试目标响应访问请求而返回的内容的正文和响应头。
26.如权利要求14-25中任一项所述的设备,其中,所述程序生成模块还适于:
将测试数据替换漏洞验证程序模版中的对应部分,以生成漏洞验证程序。
27.一种计算设备,包括:
至少一个处理器;以及
包括计算机程序指令的至少一个存储器;
所述至少一个存储器和所述计算机程序指令被配置为与所述至少一个处理器一起使得所述计算设备执行如权利要求1-13中任一项所述的方法。
CN201710142439.1A 2017-03-10 2017-03-10 一种漏洞验证程序的生成方法、设备及计算设备 Active CN106951242B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710142439.1A CN106951242B (zh) 2017-03-10 2017-03-10 一种漏洞验证程序的生成方法、设备及计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710142439.1A CN106951242B (zh) 2017-03-10 2017-03-10 一种漏洞验证程序的生成方法、设备及计算设备

Publications (2)

Publication Number Publication Date
CN106951242A CN106951242A (zh) 2017-07-14
CN106951242B true CN106951242B (zh) 2020-12-04

Family

ID=59466859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710142439.1A Active CN106951242B (zh) 2017-03-10 2017-03-10 一种漏洞验证程序的生成方法、设备及计算设备

Country Status (1)

Country Link
CN (1) CN106951242B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107454081A (zh) * 2017-08-07 2017-12-08 四川长虹电器股份有限公司 自动生成poc脚本的方法
CN109446065A (zh) * 2018-09-18 2019-03-08 深圳壹账通智能科技有限公司 用户标签测试方法、装置、计算机设备和存储介质
CN109508548B (zh) * 2018-11-19 2022-06-03 四川长虹电器股份有限公司 一种基于仿真器技术的威胁行为搜集系统及方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101902470A (zh) * 2010-07-14 2010-12-01 南京大学 一种基于表单特征的Web安全漏洞动态检测方法
CN102411540A (zh) * 2012-01-12 2012-04-11 王轶辰 基于工作流的通用软件测试过程自动化管理系统
US20130179863A1 (en) * 2012-01-11 2013-07-11 Microsoft Corporation Bug variant detection using program analysis and pattern identification
US20130247206A1 (en) * 2011-09-21 2013-09-19 Mcafee, Inc. System and method for grouping computer vulnerabilities
CN103647678A (zh) * 2013-11-08 2014-03-19 北京奇虎科技有限公司 一种网站漏洞在线验证方法及装置
CN104573520A (zh) * 2013-10-09 2015-04-29 腾讯科技(深圳)有限公司 检测常驻式跨站脚本漏洞的方法和装置
CN105141647A (zh) * 2014-06-04 2015-12-09 中国银联股份有限公司 一种检测Web应用的方法和系统
CN105279435A (zh) * 2014-06-11 2016-01-27 腾讯科技(深圳)有限公司 网页漏洞检测方法和装置
CN105320889A (zh) * 2015-02-10 2016-02-10 中国移动通信集团广东有限公司 一种安全检测方法及装置
CN105991554A (zh) * 2015-02-04 2016-10-05 阿里巴巴集团控股有限公司 漏洞检测方法和设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101902470A (zh) * 2010-07-14 2010-12-01 南京大学 一种基于表单特征的Web安全漏洞动态检测方法
US20130247206A1 (en) * 2011-09-21 2013-09-19 Mcafee, Inc. System and method for grouping computer vulnerabilities
US20130179863A1 (en) * 2012-01-11 2013-07-11 Microsoft Corporation Bug variant detection using program analysis and pattern identification
CN102411540A (zh) * 2012-01-12 2012-04-11 王轶辰 基于工作流的通用软件测试过程自动化管理系统
CN104573520A (zh) * 2013-10-09 2015-04-29 腾讯科技(深圳)有限公司 检测常驻式跨站脚本漏洞的方法和装置
CN103647678A (zh) * 2013-11-08 2014-03-19 北京奇虎科技有限公司 一种网站漏洞在线验证方法及装置
CN105141647A (zh) * 2014-06-04 2015-12-09 中国银联股份有限公司 一种检测Web应用的方法和系统
CN105279435A (zh) * 2014-06-11 2016-01-27 腾讯科技(深圳)有限公司 网页漏洞检测方法和装置
CN105991554A (zh) * 2015-02-04 2016-10-05 阿里巴巴集团控股有限公司 漏洞检测方法和设备
CN105320889A (zh) * 2015-02-10 2016-02-10 中国移动通信集团广东有限公司 一种安全检测方法及装置

Also Published As

Publication number Publication date
CN106951242A (zh) 2017-07-14

Similar Documents

Publication Publication Date Title
CN108564339B (zh) 一种账户管理方法、装置、终端设备及存储介质
US9027837B2 (en) Method of recognizing QR code in image data and apparatus and method for converting QR code in content data into touchable object
CN111026858B (zh) 基于项目推荐模型的项目信息处理方法及装置
CN106951242B (zh) 一种漏洞验证程序的生成方法、设备及计算设备
EP3482556B1 (en) Privacy aware intent resolution with external sources
CN105302849A (zh) 注释显示辅助设备及辅助注释显示的方法
CN111897842A (zh) 数据校验的方法、装置、计算机系统及介质
CN105653547A (zh) 一种提取文本关键词的方法和装置
CN104683963A (zh) 一种信息处理方法及电子设备
WO2021253252A1 (zh) 网页检测方法、装置、电子设备以及存储介质
CN107515904B (zh) 一种职位搜索方法和计算设备
CN111310750A (zh) 一种信息处理方法、装置、计算设备及介质
CN114611158A (zh) 一种电子文档的授权方法、装置、电子设备及存储介质
CN106919593B (zh) 一种搜索的方法和装置
US20180330156A1 (en) Detection of caption elements in documents
US11321746B2 (en) Ad simulator browser extension
CN109101630B (zh) 一种应用程序搜索结果的生成方法、装置及设备
CN108173716B (zh) 一种识别网络设备厂商的方法和计算设备
CN107508705B (zh) 一种http元素的资源树构建方法及计算设备
US11048707B2 (en) Identifying a product in a document
CN110781354B (zh) 一种对象选择方法、装置、系统及计算设备
CN114417310A (zh) 一种应用程序违规反馈方法、装置、电子设备及存储介质
CN106357468A (zh) 一种判断网络服务器的服务规范的方法和装置
US9639611B2 (en) System and method for providing suitable web addresses to a user device
CN108632348B (zh) 一种业务校验方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant