CN104320312B - 网络应用安全测试工具及模糊测试用例生成方法和系统 - Google Patents
网络应用安全测试工具及模糊测试用例生成方法和系统 Download PDFInfo
- Publication number
- CN104320312B CN104320312B CN201410671017.XA CN201410671017A CN104320312B CN 104320312 B CN104320312 B CN 104320312B CN 201410671017 A CN201410671017 A CN 201410671017A CN 104320312 B CN104320312 B CN 104320312B
- Authority
- CN
- China
- Prior art keywords
- fuzz testing
- file
- data
- http request
- dictionary
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 283
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000010276 construction Methods 0.000 claims description 29
- 238000002347 injection Methods 0.000 claims description 10
- 239000007924 injection Substances 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000007689 inspection Methods 0.000 claims description 3
- 238000011076 safety test Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供一种网络应用安全测试工具及模糊测试用例生成方法和系统,其中,模糊测试用例生成方法包括:获取超文本传送协议HTTP请求数据,确定模糊测试类型;根据模糊测试类型添加测试逻辑,执行所述测试逻辑,生成模糊测试数据;将HTTP请求数据中预定字段替换为所述模糊测试数据,得到HTTP模糊测试用例,从而提高网络应用安全测试工具的适用性和针对性。
Description
技术领域
本发明涉及安全测试领域,特别是涉及一种网络应用安全测试工具及模糊测试用例生成方法和系统。
背景技术
近年来,互联网安全攻击事件屡发不止,其中,由于网络应用站点薄弱的安全防护,导致网络应用成为黑客攻击的主要目标。黑客通过对在线应用程序植入恶意程序,在用户执行操作的过程中,盗取用户的隐私数据,造成用户的损失。因此,必须加强对网络应用的安全测试,降低其遭受攻击以及威胁的可能性,保障通信安全。
模糊测试是一种广泛使用的软件测试技术,通过模糊器自动化或半自动化的构造大量非预期的模糊测试数据发送给目标测试应用,并监测异常来发现可能存在的漏洞。由此,模糊测试因能监测出软件实现中被忽略的故障,而广泛用于检测软件或计算机系统的安全漏洞。现今,模糊测试方法已经大量应用于网络应用安全测试工具中。
目前,存在许多用于模糊测试和网络应用安全测试的工具,一类是国内信息安全厂商研发的商业安全监测工具,另一类是国外安全团队开发的较为成熟的安全测试工具,两种测试工具均有其自己的特点,但是,两类网络应用安全测试工具均使用已经编好的、完整的存于安全测试工具系统内的模糊测试用例来对网络安全进行测试,也就是说,这两类安全测试工具中用于测试网络应用安全的模糊测试用例已经固定,不能灵活地在系统内进行添加、删除和修改模糊测试用例等操作,只可在对可用已存在于安全测试工具内部的模糊测试用例进行网络安全测试的情况时,才可对网络安全进行正常、有效地测试,而对一些比较少见的或是特殊的网络安全状况无法很好地进行网络安全测试,缺乏针对性和适用性。
发明内容
有鉴于此,本发明实施例提供一种网络应用安全测试工具及模糊测试用例生成方法和系统,以解决现有技术中网络应用安全测试工具即模糊测试缺乏针对性和适用性的问题。
为实现上述目的,本发明实施例提供如下技术方案:
一种模糊测试用例生成方法,用于网络应用安全测试工具,包括:
获取超文本传送协议HTTP请求数据,确定模糊测试类型;
根据模糊测试类型添加测试逻辑,执行所述测试逻辑,生成模糊测试数据;
将HTTP请求数据中预定字段替换为所述模糊测试数据,得到HTTP模糊测试用例。
其中,通过模糊测试工具获取HTTP请求数据或手动构造HTTP请求数据。
其中,所述模糊测试类型包括:目录遍历、跨站脚本、结构化查询语言SQL注入、请求方法和字典攻击。
其中,所述根据模糊测试类型添加逻辑,并执行所述测试逻辑,生成模糊测试数据包括:
根据模糊测试类型添加测试策略,生成策略文件;
读取所述策略文件,确定策略文件中伪码的行数,计算逻辑结构关键词在策略文件中的位置,确定所述策略文件的逻辑结构,并执行所述逻辑结构;
得到所述策略文件每行的执行返回值,生成模糊测试数据。
其中,所述根据模糊测试类型添加测试逻辑,并执行所述测试逻辑,生成模糊测试数据包括:
根据模糊测试类型添加测试字典,生成字典文件;
确定字典文件的数目,
若字典文件数目大于1,则对所有字典文件进行笛卡尔积运行,得到笛卡尔积运算返回值,生成模糊测试数据;
若字典文件数目为1,则直接返回该字典文件,生成模糊测试数据。
其中,所述获取超文本传送协议HTTP请求数据后还包括:检查获取的HTTP请求数据是否规范,
判断获取的HTTP请求数据是否规范包括:
判断所述HTTP请求数据是否不为空;
判断所述HTTP请求数据是否符合HTTP格式;
判断所述HTTP请求数据是否添加了模糊测试;
若均是,则判定获取的HTTP请求数据规范。
一种网络应用安全测试工具,基于上述所述的模糊测试用例生成方法。
一种模糊测试用例生成系统,包括:获取模块、数据生成模块和用例生成模块,其中,
所述获取模块,用于获取超文本传送协议HTTP请求数据,确定模糊测试类型;
所述数据生成模块,用于根据模糊测试类型添加测试逻辑,执行所述测试逻辑,生成模糊测试数据;
所述用例生成模块,用于将HTTP请求数据中预定字段替换为所述模糊测试数据,得到模糊测试用例。
其中,所述数据生成模块包括:文件生成单元、文件执行单元和数据生成单元,其中,
所述文件生成单元,用于根据模糊测试类型添加测试策略,生成策略文件;或根据模糊测试类型添加测试字典,生成字典文件;
所述执行单元,用于读取所述策略文件,确定策略文件中伪码的行数,计算逻辑结构关键词在策略文件中的位置,确定所述策略文件的逻辑结构,并执行所述逻辑结构;或确定字典文件的数目,若字典文件数目大于1,对所有字典文件进行笛卡尔积运行,若字典文件数目为1,则直接返回该字典文件;
所述数据生成单元,用于得到所述策略文件每行的执行返回值,生成模糊测试数据;或得到笛卡尔积运算返回值,生成模糊测试数据;或得到返回字典文件,生成模糊测试数据。
其中,所述模糊测试用例生成系统还包括:检查模块,用于检查获取的HTTP请求数据是否规范,
所述检查模块包括:第一判断单元、第二判断单元、第三判断单元和判定单元,其中,
所述第一判断单元,用于判断所述HTTP请求数据是否不为空;
所述第二判断单元,用于判断所述HTTP请求数据是否符合HTTP格式;
所述第三判断单元,永不判断所述HTTP请求数据是否添加了模糊测试;
所述判定单元,当第一判断单元、第二判断单元和第三判断单元判断结果均为是时,判定获取的HTTP请求数据规范。
基于上述技术方案,本发明实施例提供的一种网络应用安全测试工具及模糊测试用例生成方法和系统,当遇到少见的或是特殊的网络应用安全测试情况,无法使用网络应用安全测试工具本身已存的模糊测试用例进行有效地网络应用安全测试时,在获取超文本传送协议HTTP请求数据,确定模糊测试类型后,根据模糊测试的类型添加测试逻辑,并执行所述测试逻辑,生成模糊测试数据,在生成模糊测试数据后将获取的HTTP请求数据中预定字段替换为所述模糊测试数据,生成原本不存在与该网络应用安全测试工具系统中的模糊测试用例,得到适用于该少见的或是特殊的网络应用安全测试情况的模糊测试用例,从而提高了网络应用安全测试工具的适用性和针对性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的模糊测试用例生成方法的流程图;
图2为本发明实施例提供的模糊测试用例生成方法中生成模糊测试数据的方法流程图;
图3为本发明实施例提供的模糊测试用例生成方法中生成模糊测试数据的另一方法流程图;
图4为本发明实施例提供的模糊测试用例生成方法中判断获取的HTTP请求数据是否规范的方法流程图;
图5为本发明实施例提供的模糊测试用例生成系统的系统框图;
图6为本发明实施例提供的模糊测试用例生成系统中数据生成模块的结构框图;
图7为本发明实施例提供的模糊测试用例生成系统的另一系统框图;
图8为本发明实施例提供的模糊测试用例生成系统中检查模块的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的模糊测试用例生成方法的流程图,该模糊测试用例生成方法根据模糊测试类型添加测试逻辑,执行所述测试逻辑,生成模糊测试数据,将HTTP请求数据中预定字段替换为所述模糊测试数据,使得到模糊测试用例可有效对需要测试的网络应用进行安全测试,使网络应用安全测试工具具有更高的适应性和针对性,参照图1,所述模糊测试用例生成方法包括:
步骤S100:获取超文本传送协议HTTP请求数据,确定模糊测试类型;
HTTP请求数据,即HTTP请求中所包含的数据,其中HTTP请求是指从客户端发送到服务器端的请求消息,其包括:消息首行中、对资源的请求方法和资源的标识符及使用协议。
可选的,获取的HTTP请求数据可以是通过模糊测试工具获取的HTTP请求数据,也可以是手动构造HTTP请求数据。
可选的,模糊测试类型可以包括:目录遍历、跨站脚本、结构化查询语言SQL注入、请求方法和字典攻击。
可选的,在获取超文本传送协议HTTP请求数据后还可以包括检查获取的HTTP请求数据是否规范,检查获取的HTTP请求数据是否规范需要判断获取的HTTP请求数据是否为空,判断获取的HTTP请求数据是否符合HTTP格式,并获取的HTTP请求数据是否添加了模糊测试,若获取的HTTP请求数据不为空、符合HTTP格式且添加了模糊测试,则认为获取的HTTP请求数据规范。
步骤S110:根据模糊测试类型添加测试逻辑,执行所述测试逻辑,生成模糊测试数据;
其中,添加测试逻辑,可以是从网络上下载所需要的测试逻辑文件到网络应用安全测试工具中,可以是将现存的测试逻辑进行语法转换后输出存入网络应用安全测试工具中,还可以是自行编写测试逻辑,然后将在网络应用安全测试工具中运行该编写的测试逻辑。
可选的,在选择自行编写测试逻辑后,可以使用伪码系统来编写所需要测试逻辑。伪码系统支持一般的逻辑结构关键词,如if、else、for和where等,且支持一般的操作符、支持自定义变量和支持字符串contains、正则等方法;同时,伪码系统预定义了一些常量,比如请求头数据(request.headers),语法简单。
在添加测试逻辑后,系统中将会生成测试逻辑文件,当模糊测试类型为目录遍历、跨站脚本、结构化查询语言SQL注入和请求方法中的一种时,添加测试逻辑生成的逻辑文件为.xml(可扩展标记语言)格式,当模糊测试类型为字典攻击时,添加测试逻辑生成的逻辑文件为.txt(文本)格式。
当模糊测试类型为目录遍历、跨站脚本、结构化查询语言SQL注入和请求方法中的一种时添加的测试逻辑为策略,当模糊测试类型为字典攻击时,添加的测试逻辑为字典。
可选的,每个字典中的每条数据以“\t\n”结尾。
可选的,当模糊测试类型为目录遍历、跨站脚本、结构化查询语言SQL注入和请求方法中的一种时,可以在添加策略,生成的.xml格式的策略文件后,读取该生成的策略文件,在确定了该策略文件中伪码的行数后,计算逻辑结构关键词在该策略文件中的位置,确定所述策略文件的逻辑结构,并执行该逻辑结构,在执行该逻辑结构后,得到该策略文件每行的执行返回值,该执行返回值即为所需要生成的模糊测试数据。
可选的,可以通过获取策略文件的根节点,通过查找策略文件中根节点中预定标记的方法,来获取该预定标记结点集合,然后遍历整个预定标记结点集合,累计预定标志的属性标志不为空的节点,来得到策略文件中伪码的行数。
可选的,该预定标志可以为“RuleRow”。
可选的,可以通过遍历整个预定标记结点集合,得到预定标记的属性标志不为空的节点后,遍历每个属性标志不为空的预定标志的子节点,来获取每个子节点的内容结合,然后通过查找哈希表中的动态数据组来获取策略文件中逻辑结构关键词在伪码中的位置。
其中,逻辑结构包含了某个或某几个逻辑关键词测试策略执行过程中的执行先后逻辑关系,如逻辑关键词if和for,其两者之间的逻辑结构可以为for循环逻辑结构中嵌套if判断逻辑结构、if判断逻辑结构中嵌套for循环逻辑结构、单独的for循环逻辑结构和单独的if判断逻辑结构。
可选的,在得到策略文件中逻辑结构关键词在该策略文件中的位置后,可以通过存储各个节点经过xml文件解析器解析后的文本值来确定策略文件中各个逻辑结构关键词的逻辑结构。
其中,xml文件解析器中定义了对各个节点值的计算以及常量和变量的值,其中常量的值为最小单元。例如if节点下有equals节点,而equals节点下又有常量节点,若要计算if节点的文本值,那么调用xml文件解析器后,xml文件解析器内函数将会以递归的方式实现计算,首先找到if节点,再找到equals节点,再找到常量节点,然后得到常量节点的文本值后上抛,接着计算得到equals节点的文本值,最后计算得到if节点的文本值。
可选的,当模糊测试类型为字典攻击时,可以在添加字典,生成的.txt格式的字典文件后,确定系统中字典文件的数目,若字典文件的数目大于1,则对所有字典文件进行笛卡尔积运行,来得到笛卡尔积运算返回值,生成模糊测试数据;若字典文件数目为1,则直接返回该字典文件,生成模糊测试数据,即将该字典文件作为模糊测试数据。
可选的,在对字典文件中字典数据进行笛卡尔积运算,生成模糊测试数据后,还可以确定生成的模糊测试数据的总条数。
步骤S120:将HTTP请求数据中预定字段替换为所述模糊测试数据,得到HTTP模糊测试用例。
基于上述技术方案,本发明实施例提供的一种网络应用安全测试工具及模糊测试用例生成方法和系统,当遇到少见的或是特殊的网络应用安全测试情况,无法使用网络应用安全测试工具本身已存的模糊测试用例进行有效地网络应用安全测试时,在获取超文本传送协议HTTP请求数据,确定模糊测试类型后,根据模糊测试的类型添加测试逻辑,并执行所述测试逻辑,生成模糊测试数据,在生成模糊测试数据后将获取的HTTP请求数据中预定字段替换为所述模糊测试数据,生成原本不存在与该网络应用安全测试工具系统中的模糊测试用例,得到适用于该少见的或是特殊的网络应用安全测试情况的模糊测试用例,从而提高了网络应用安全测试工具的适用性和针对性。
可选的,图2示出了本发明实施例提供的模糊测试用例生成方法中生成模糊测试数据的方法流程图,参照图2,该生成模糊测试数据的方法可以包括:
步骤S200:根据模糊测试类型添加测试策略,生成策略文件;
当模糊测试类型为目录遍历、跨站脚本、结构化查询语言SQL注入和请求方法中的一种时,根据模糊测试类型添加测试策略,生成策略文件,生成的策略文件为.xml格式文件。
其中,所添加的策略为需测试的网络应用相适用的策略,通过该策略而生成的模糊检测用例可以有效对需测试的网络应用进行有效地安全测试。
步骤S210:读取所述策略文件,确定策略文件中伪码的行数,计算逻辑结构关键词在策略文件中的位置,确定所述策略文件的逻辑结构,并执行所述逻辑结构;
可选的,可以通过获取策略文件的根节点,通过查找策略文件中根节点中预定标记的方法,来获取该预定标记结点集合,然后遍历整个预定标记结点集合,累计预定标志的属性标志不为空的节点,来得到策略文件中伪码的行数。可选的,该预定标志可以为“RuleRow”。
可选的,可以通过遍历整个预定标记结点集合,得到预定标记的属性标志不为空的节点后,遍历每个属性标志不为空的预定标志的子节点,来获取每个子节点的内容结合,然后通过查找哈希表中的动态数据组来获取策略文件中逻辑结构关键词在伪码中的位置。
可选的,在得到策略文件中逻辑结构关键词在该策略文件中的位置后,可以通过存储各个节点经过xml文件解析器解析后的文本值来确定策略文件中各个逻辑结构关键词的逻辑结构。
步骤S220:得到所述策略文件的执行返回值,生成模糊测试数据。
可选的,图3示出了本发明实施例提供的模糊测试用例生成方法中生成模糊测试数据的另一方法流程图,参照图3,该生成模糊测试数据的另一方法可以包括:
步骤S300:根据模糊测试类型添加测试字典,生成字典文件;
当模糊测试类型为字典攻击时,根据模糊测试类型添加测试字典,生成字典文件,生成的策略文件为.txt格式文件。
其中,所添加的字典为需测试的网络应用相适用的字典,通过该字典而生成的模糊检测用例可以有效对需测试的网络应用进行有效地安全测试。
可选的,添加的字典中的每条数据以“\t\n”结尾
步骤S310:判断字典文件的数目;
步骤S320:若字典文件数目大于1,则对所有字典文件进行笛卡尔积运行,得到笛卡尔积运算返回值,生成模糊测试数据;
步骤S330:若字典文件数目为1,则直接返回该字典文件,生成模糊测试数据。
可选的,在对字典文件中字典数据进行笛卡尔积运算,生成模糊测试数据后,还可以确定生成的模糊测试数据的总条数。
可选的,图4示出了本发明实施例提供的模糊测试用例生成方法中判断获取的HTTP请求数据是否规范的方法流程图,参照图4,该判断获取的HTTP请求数据是否规范的方法可以包括:
步骤S400:判断所述HTTP请求数据是否不为空;
若获取的HTTP请求数据为空,即获取的HTTP请求数据没有实质内容,则可以直接判定获取的HTTP请求数据无效,不符合规范;若获取的HTTP请求数据不为空,则获取的HTTP请求数据有实质内容,获取的HTTP请求数据可能符合规范。
步骤S410:判断所述HTTP请求数据是否符合HTTP格式;
若获取的HTTP请求数据不符合HTTP格式,则可以判定获取的HTTP请求数据不符合规范;若获取的HTTP请求数据符合HTTP格式,则获取的HTTP请求数据可能符合规范。
步骤S420:判断所述HTTP请求数据是否添加了模糊测试;
若获取的HTTP请求数据没有添加模糊测试,则获取的HTTP请求数据将无法完成替换,生成模糊测试用例,可以判定获取的HTTP请求数据不符合规范;若获取的HTTP请求数据添加了模糊测试,则获取的HTTP请求数据可能符合规范。
步骤S430:若均是,则判定获取的HTTP请求数据规范。
当步骤S400、步骤S410和步骤S420中均判断为是,即获取的HTTP请求数据不为空、符合HTTP格式且添加了模糊测试,则可判定获取的HTTP请求数据规范。除了此种情况外,其他的所有情况,均判定获取的HTTP请求数据不规范。
本发明实施例提供的模糊测试用例生成方法,当遇到少见的或是特殊的网络应用安全测试情况,通过添加测试逻辑,并执行所述测试逻辑,最后生成适用于该少见的或是特殊的网络应用安全测试情况的模糊测试用例,从而提高了网络应用安全测试工具的适用性和针对性。
本发明还提供一种网络应用安全测试工具,该网络应用安全测试工具可以包括上述所述的模糊测试用例生成方法。
下面对本发明实施例提供的模糊测试用例生成系统进行介绍,下文描述的模糊测试用例生成系统与上文描述的模糊测试用例生成方法可相互对应参照。
图5为本发明实施例提供的模糊测试用例生成系统的系统框图,参照图5,该模糊测试用例生成系统可以包括:获取模块100、数据生成模块200和用例生成模块300,其中,
获取模块100,用于获取超文本传送协议HTTP请求数据,确定模糊测试类型;
数据生成模块200,用于根据模糊测试类型添加测试逻辑,执行所述测试逻辑,生成模糊测试数据;
用例生成模块300,用于将HTTP请求数据中预定字段替换为所述模糊测试数据,得到模糊测试用例。
可选的,图6示出了本发明实施例提供的模糊测试用例生成系统中数据生成模块200的结构框图,参照图6,该数据生成模块200可以包括:文件生成单元210、执行单元220和数据生成单元230,其中,
文件生成单元210,用于根据模糊测试类型添加测试策略,生成策略文件;或根据模糊测试类型添加测试字典,生成字典文件;
执行单元220,用于读取所述策略文件,确定策略文件中伪码的行数,计算逻辑结构关键词在策略文件中的位置,确定所述策略文件的逻辑结构,并执行所述逻辑结构;或确定字典文件的数目,若字典文件数目大于1,对所有字典文件进行笛卡尔积运行,若字典文件数目为1,则直接返回该字典文件;
数据生成单元230,用于得到所述策略文件每行的执行返回值,生成模糊测试数据;或得到笛卡尔积运算返回值,生成模糊测试数据;或得到返回字典文件,生成模糊测试数据。
可选的,图7示出了本发明实施例提供的模糊测试用例生成系统的另一系统框图,参照图7,该模糊测试用例生成系统还可以包括:检查模块400,
检查模块400,用于检查获取的HTTP请求数据是否规范。
可选的,图8示出了本发明实施例提供的模糊测试用例生成系统中检查模块400的结构框图,参照图8,该检查模块400可以包括:第一判断单元410、第二判断单元420、第三判断单元430和判定单元440,其中,
第一判断单元410,用于判断所述HTTP请求数据是否不为空;
第二判断单元420,用于判断所述HTTP请求数据是否符合HTTP格式;
第三判断单元430,永不判断所述HTTP请求数据是否添加了模糊测试;
判定单元440,当第一判断单元、第二判断单元和第三判断单元判断结果均为是时,判定获取的HTTP请求数据规范。
本发明实施例提供的模糊测试用例生成系统,当遇到少见的或是特殊的网络应用安全测试情况,通过添加测试逻辑,并执行所述测试逻辑,最后生成适用于该少见的或是特殊的网络应用安全测试情况的模糊测试用例,从而提高了网络应用安全测试工具的适用性和针对性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (5)
1.一种模糊测试用例生成方法,用于网络应用安全测试工具,其特征在于,包括:
获取超文本传送协议HTTP请求数据,确定模糊测试类型;
根据模糊测试类型添加测试逻辑,执行所述测试逻辑,生成模糊测试数据;
将HTTP请求数据中预定字段替换为所述模糊测试数据,得到HTTP模糊测试用例;
其中,所述模糊测试类型包括:目录遍历、跨站脚本、结构化查询语言SQL注入、请求方法和字典攻击;
所述测试逻辑为从网络上下载所需要的测试逻辑文件,或为将现存的测试逻辑进行语法转换所得,或为使用伪码系统自行编写的测试逻辑,所述伪码系统预定义多个常量;
当模糊测试类型为所述目录遍历、所述跨站脚本、所述结构化查询语言SQL注入或所述请求方法任意一种时,添加的测试逻辑为策略,在添加策略、生成的.xml格式的策略文件后,读取所述策略文件,确定策略文件中伪码的行数,计算逻辑结构关键词在策略文件中的位置,确定所述策略文件的逻辑结构,并执行所述逻辑结构;得到所述策略文件的执行返回值,生成模糊测试数据;
当模糊测试类型为所述字典攻击时,添加的测试逻辑为字典,在添加字典,生成的.txt格式的字典文件后,确定系统中字典文件的数目;若字典文件的数目大于1,则对所有字典文件进行笛卡尔积运算,来得到笛卡尔积运算返回值,生成所述模糊测试数据;若字典文件数目为1,则直接返回所述字典文件,生成所述模糊测试数据,即将所述字典文件作为所述模糊测试数据。
2.根据权利要求1所述的方法,其特征在于,通过模糊测试工具获取HTTP请求数据或手动构造HTTP请求数据。
3.根据权利要求1所述的方法,其特征在于,所述获取超文本传送协议HTTP请求数据后还包括:检查获取的HTTP请求数据是否规范,
判断获取的HTTP请求数据是否规范包括:
判断所述HTTP请求数据是否不为空;
判断所述HTTP请求数据是否符合HTTP格式;
判断所述HTTP请求数据是否添加了模糊测试;
若均是,则判定获取的HTTP请求数据规范。
4.一种模糊测试用例生成系统,其特征在于,包括:获取模块、数据生成模块和用例生成模块,其中,
所述获取模块,用于获取超文本传送协议HTTP请求数据,确定模糊测试类型,所述模糊测试类型包括目录遍历、跨站脚本、结构化查询语言SQL注入、请求方法和字典攻击;
所述数据生成模块,用于根据模糊测试类型添加测试逻辑,执行所述测试逻辑,生成模糊测试数据,所述测试逻辑为从网络上下载所需要的测试逻辑文件,或为将现存的测试逻辑进行语法转换所得,或为使用伪码系统自行编写的测试逻辑,所述伪码系统预定义多个常量;
所述用例生成模块,用于将HTTP请求数据中预定字段替换为所述模糊测试数据,得到模糊测试用例;
其中,所述数据生成模块为当模糊测试类型为所述目录遍历、所述跨站脚本、所述结构化查询语言SQL注入或所述请求方法任意一种时,添加的测试逻辑为策略,在添加策略、生成的.xml格式的策略文件后,读取所述策略文件,确定策略文件中伪码的行数,计算逻辑结构关键词在策略文件中的位置,确定所述策略文件的逻辑结构,并执行所述逻辑结构;得到所述策略文件的执行返回值,生成模糊测试数据;当模糊测试类型为所述字典攻击时,添加的测试逻辑为字典,在添加字典,生成的.txt格式的字典文件后,确定系统中字典文件的数目;若字典文件的数目大于1,则对所有字典文件进行笛卡尔积运算,来得到笛卡尔积运算返回值,生成所述模糊测试数据;若字典文件数目为1,则直接返回所述字典文件,生成所述模糊测试数据,即将所述字典文件作为所述模糊测试数据的模块。
5.根据权利要求4所述的模糊测试用例生成系统,其特征在于,还包括:检查模块,用于检查获取的HTTP请求数据是否规范,
所述检查模块包括:第一判断单元、第二判断单元、第三判断单元和判定单元,其中,
所述第一判断单元,用于判断所述HTTP请求数据是否不为空;
所述第二判断单元,用于判断所述HTTP请求数据是否符合HTTP格式;
所述第三判断单元,用于判断所述HTTP请求数据是否添加了模糊测试;
所述判定单元,当第一判断单元、第二判断单元和第三判断单元判断结果均为是时,判定获取的HTTP请求数据规范。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410671017.XA CN104320312B (zh) | 2014-11-20 | 2014-11-20 | 网络应用安全测试工具及模糊测试用例生成方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410671017.XA CN104320312B (zh) | 2014-11-20 | 2014-11-20 | 网络应用安全测试工具及模糊测试用例生成方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104320312A CN104320312A (zh) | 2015-01-28 |
CN104320312B true CN104320312B (zh) | 2018-01-02 |
Family
ID=52375487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410671017.XA Active CN104320312B (zh) | 2014-11-20 | 2014-11-20 | 网络应用安全测试工具及模糊测试用例生成方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104320312B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294102B (zh) * | 2015-05-20 | 2021-04-09 | 腾讯科技(深圳)有限公司 | 应用程序的测试方法、客户端、服务器及系统 |
CN106484611B (zh) * | 2015-09-02 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 基于自动化协议适配的模糊测试方法和装置 |
CN106557412B (zh) * | 2015-09-25 | 2019-07-05 | 腾讯科技(深圳)有限公司 | 一种模糊测试的方法及装置 |
CN106412067B (zh) * | 2016-09-30 | 2019-02-15 | 广东电网有限责任公司电力科学研究院 | 基于工控协议模糊测试的数据分层生成方法 |
CN108683554A (zh) * | 2018-04-04 | 2018-10-19 | 国家计算机网络与信息安全管理中心 | 一种模糊测试效果的多维度异常监测方法 |
CN109660519A (zh) * | 2018-11-23 | 2019-04-19 | 北京字节跳动网络技术有限公司 | 基于编程式的路由代理劫持方法、装置及电子设备 |
CN110191021B (zh) * | 2019-05-29 | 2021-04-30 | 北京百度网讯科技有限公司 | 一种协议测试方法、装置、电子设备及存储介质 |
CN110752895A (zh) * | 2019-10-22 | 2020-02-04 | 盛科网络(苏州)有限公司 | 以太网报文的编程方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080301647A1 (en) * | 2007-06-01 | 2008-12-04 | Microsoft Corporation | Delivering Malformed Data for Fuzz Testing to Software Applications |
CN101902367A (zh) * | 2009-05-31 | 2010-12-01 | 西门子(中国)有限公司 | 一种产生测试用例的方法及装置 |
CN103020529A (zh) * | 2012-10-31 | 2013-04-03 | 中国航天科工集团第二研究院七○六所 | 一种基于场景模型的软件漏洞分析方法 |
CN103530564A (zh) * | 2013-09-24 | 2014-01-22 | 国家电网公司 | 一种sql注入漏洞测试与验证方法及系统 |
CN103853650A (zh) * | 2012-11-28 | 2014-06-11 | 西门子公司 | 一种模糊测试的测试用例生成方法及装置 |
-
2014
- 2014-11-20 CN CN201410671017.XA patent/CN104320312B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080301647A1 (en) * | 2007-06-01 | 2008-12-04 | Microsoft Corporation | Delivering Malformed Data for Fuzz Testing to Software Applications |
CN101902367A (zh) * | 2009-05-31 | 2010-12-01 | 西门子(中国)有限公司 | 一种产生测试用例的方法及装置 |
CN103020529A (zh) * | 2012-10-31 | 2013-04-03 | 中国航天科工集团第二研究院七○六所 | 一种基于场景模型的软件漏洞分析方法 |
CN103853650A (zh) * | 2012-11-28 | 2014-06-11 | 西门子公司 | 一种模糊测试的测试用例生成方法及装置 |
CN103530564A (zh) * | 2013-09-24 | 2014-01-22 | 国家电网公司 | 一种sql注入漏洞测试与验证方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104320312A (zh) | 2015-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104320312B (zh) | 网络应用安全测试工具及模糊测试用例生成方法和系统 | |
US20200364033A1 (en) | API Specification Generation | |
KR102048648B1 (ko) | 시맨틱 IoT에 대한 Restful 오퍼레이션들 | |
Hogan et al. | An empirical survey of linked data conformance | |
US9197597B2 (en) | RDF object type and reification in the database | |
US20090327338A1 (en) | Hierarchy extraction from the websites | |
US20150058315A1 (en) | Self-learning semantic search engine | |
CN109791561A (zh) | 分布式语义描述符上的语义查询 | |
US7577671B2 (en) | Using attribute inheritance to identify crawl paths | |
WO2014210321A2 (en) | Omega names: name generation and derivation | |
US20050203920A1 (en) | Metadata-related mappings in a system | |
CN103077254B (zh) | 网页获取方法和装置 | |
US20130179467A1 (en) | Calculating Property Caching Exclusions In A Graph Evaluation Query Language | |
CN112307292A (zh) | 基于高级持续性威胁攻击的信息处理方法及系统 | |
US20190146954A1 (en) | Hierarchical seedlists for application data | |
CN111159590A (zh) | 一种基于前后端业务调用链路的串联方法及装置 | |
Garriga et al. | Service selection based on a practical interface assessment scheme | |
Saquicela et al. | Adding semantic annotations into (geospatial) restful services | |
Zhao et al. | Heterogeneous Social Linked Data Integration and Sharing for Public Transportation | |
Kehagias et al. | An ontology‐based mechanism for automatic categorization of web services | |
KR20140104544A (ko) | 의미 데이터 구축을 위한 시스템 및 방법 | |
Abidi et al. | Web service matchmaking using a hybrid of signature and specification matching methods | |
WO2011139195A1 (en) | Method and arrangement for control of web resources | |
Stacey et al. | Design and implementation of an archetype based interoperable knowledge eco-system for data buoys | |
Bosch | Reusing XML schemas’ information as a foundation for designing domain ontologies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |