CN103856373A - 基于HTTP协议变异的Web系统健壮性测试方法 - Google Patents

基于HTTP协议变异的Web系统健壮性测试方法 Download PDF

Info

Publication number
CN103856373A
CN103856373A CN201410103694.1A CN201410103694A CN103856373A CN 103856373 A CN103856373 A CN 103856373A CN 201410103694 A CN201410103694 A CN 201410103694A CN 103856373 A CN103856373 A CN 103856373A
Authority
CN
China
Prior art keywords
variation
http
field
mutation operator
web server
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.)
Granted
Application number
CN201410103694.1A
Other languages
English (en)
Other versions
CN103856373B (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.)
Northwestern Polytechnical University
Original Assignee
Northwestern Polytechnical University
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 Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN201410103694.1A priority Critical patent/CN103856373B/zh
Publication of CN103856373A publication Critical patent/CN103856373A/zh
Application granted granted Critical
Publication of CN103856373B publication Critical patent/CN103856373B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于HTTP协议变异的Web系统健壮性测试方法,用于解决解决Web系统健壮性测试的技术问题。技术方案是通过对HTTP数据包的协议状态、数据包结构、字段语义等方面的负面变异,生成异常HTTP数据包,发送给被测Web服务器,通过观察被测Web服务器的响应状态以及分析所返回的HTTP响应包协议状态,检验Web服务器的健壮性,解决了Web系统健壮性测试的技术问题。

Description

基于HTTP协议变异的Web系统健壮性测试方法
技术领域
本发明涉及一种Web系统健壮性测试方法,特别是涉及一种基于HTTP协议变异的Web系统健壮性测试方法。
背景技术
Web系统是当前最流行的网络应用系统,在一个Web系统投入运行之前,需要对Web系统进行功能测试、性能测试、安全性测试以及健壮性测试等各种测试,通过这些测试活动,能够及时发现和排除Web系统潜在的各种缺陷,使Web系统在功能、性能、安全性以及可用性等方面满足实际应用需求。
健壮性测试(Robustness Testing)技术用于测试一个系统在各种错误或异常条件下的健壮性和可用性。
一个Web系统通常由Web浏览器、Web服务器和HTTP协议等三部分组成,Web浏览器和Web服务器之间通过HTTP协议进行数据通信,通过HTTP数据包来交换信息。HTTP数据包分为HTTP请求包和HTTP应答包两种,Web浏览器使用HTTP请求包向Web服务器发出服务请求,HTTP请求包由三个部分组成:请求行、消息报头、请求正文;Web服务器使用HTTP应答包向Web浏览器返回应答信息,HTTP应答包也由三个部分组成:状态行、消息报头、响应正文。在HTTP请求包的每个部分中,由一个字段或多个字段组成,每个字段都定义了字段类型和取值范围。
当HTTP请求包中的某个字段或字段值出现某种错误或异常时,Web服务器可能做出三种反应:一是Web服务器检测到了错误或异常,则在返回的HTTP应答包中给出错误信息,指出HTTP请求包所包含的错误,说明Web服务器对这些错误具有良好的检测和抵御能力,系统健壮性较好;二是Web服务器未检测到错误或异常,则返回的是正常的HTTP应答包,但这些错误可能对Web服务器的正常运行带来潜在的风险,系统健壮性较差;三是Web服务器没有返回HTTP应答包,说明这些错误引起了Web服务器异常或死机,系统健壮性差。
利用Web系统的这种通信协议特性,人为地对HTTP请求包的字段类型和取值进行负面变异,生成异常HTTP数据包,发送给被测Web服务器,通过观察被测Web服务器的响应状态以及分析所返回的HTTP响应包协议状态,检验Web服务器的健壮性。这就是基于HTTP协议变异的Web系统健壮性测试方法的基本思想。
变异测试是一种软件测试技术,基本思想是首先定义一组变异算子,模拟程序中可能出现的错误,将变异算子作用于源程序,产生一组变异体,变异算子是对源程序语法的一个小的改变;然后输入测试用例,在原始程序和变异体上分别执行测试,比较两者的输出结果,进而判断软件能否检测到变异。如果两者输出相同,则证明软件未能检测出变异体,存在潜在的软件缺陷或故障;否则说明软件能够检测出该变异体及其所代表的故障。目前,变异测试主要用于软件的单元测试中,未见公开的关于HTTP协议变异测试的文献资料。
发明内容
为了解决Web系统健壮性测试的技术问题,本发明提供一种基于HTTP协议变异的Web系统健壮性测试方法。该方法通过对HTTP数据包的协议状态、数据包结构、字段语义等方面的负面变异,生成异常HTTP数据包,发送给被测Web服务器,通过观察被测Web服务器的响应状态以及分析所返回的HTTP响应包协议状态,检验Web服务器的健壮性,可以解决Web系统健壮性测试的技术问题。
本发明解决其技术问题所采用的技术方案是:一种基于HTTP协议变异的Web系统健壮性测试方法,其特点是采用以下步骤:
步骤一、HTTP协议变异方法;
(1)字段重复变异:对HTTP请求包中的一个或多个字段进行重复,变异为新的请求包;
(2)字段替换变异:进一步分为空字段替换、字段语义替换和随机字符串替换;
①空字段替换:使用空字段替换HTTP请求包中的一个或多个字段进行变异;
②字段语义替换;使用不同含义的字段值替换字段语义进行变异;
③随机字符串替换:首先确定一个完备的字符数组,其中包含所有想要用来替换的字符,然后随机抽取若干字符进行组合,最后用组合的字符串替换HTTP请求包中的内容;
(3)字段溢出变异:对HTTP请求包进行极限扩充,看能否收到相应的应答消息,这里的极限值是指超过正常数据包的大小;
使用变异算子来表示上述的变异规则,通过变异算子将正常数据包转换成异常数据包;变异算子的构造是变异测试的关键部分,根据HTTP协议特性,将变异算子分为两类:一是单项变异算子,实现字段重复变异、字段替换变异和字段溢出变异,对应的变异算子有重复变异算子、替换变异算子、溢出变异算子等三种;二是组合变异算子,将三种单项变异算子组合后,构造出重复-替换算子、重复-溢出变异算子、替换-溢出变异算子以及重复-替换-溢出变异算子;
步骤二、Web系统变异测试方法;
(1)利用单项变异算子和组合变异算子,对HTTP请求包的数据进行变异处理,形成相应的异常事例,将各种异常事例集合起来,构成异常事例库;
(2)利用每个异常事例生成相应的异常HTTP请求包,发送给被测Web服务器;
(3)如果超时未收到Web服务器的HTTP应答包,说明这些错误引起了Web服务器异常或死机,系统健壮性差;如果收到了Web服务器的HTTP应答包,并返回的是正常的HTTP应答包,说明Web服务器未检测到这些错误,Web服务器存在潜在的风险,系统健壮性较差;如果收到了Web服务器的HTTP应答包,并在返回的HTTP应答包中给出错误信息,说明Web服务器对这些错误具有良好的检测和抵御能力,系统健壮性较好;
(4)遍历异常事例库中的每一个异常事例,直至完成所有的异常事例测试。
本发明的有益效果是:由于该方法通过对HTTP数据包的协议状态、数据包结构、字段语义等方面的负面变异,生成异常HTTP数据包,发送给被测Web服务器,通过观察被测Web服务器的响应状态以及分析所返回的HTTP响应包协议状态,检验Web服务器的健壮性,解决了Web系统健壮性测试的技术问题。
下面结合附图和具体实施方式对本发明作详细说明。
附图说明
图1是本发明基于HTTP协议变异的Web系统健壮性测试方法的流程图。
具体实施方式
参照图1。本发明基于HTTP协议变异的Web系统健壮性测试方法具体步骤如下:
本方法包括两个组成部分:HTTP协议变异法和Web系统变异测试法。
1.HTTP协议变异法。
HTTP协议变异法采用如下的规则对HTTP请求包中的字段进行变异:
(1)字段重复变异:对HTTP请求包中的一个或多个字段进行重复,变异为新的请求包。例如,原始HTTP请求包为“GET/HTTP/1.1Host:www.nwpu.edu.cn”,对Host字段进行一次重复的结果为“GET/HTTP/1.1Host:www.nwpu.edu.cn Host:www.nwpu.edu.cn”。
(2)字段替换变异:可进一步分为空字段替换、字段语义替换和随机字符串替换。
①空字段替换:使用空字段来替换HTTP请求包中的一个或多个字段进行变异。例如,假设原始HTTP请求包为“GET/HTTP/1.1Host:www.nwpu.edu.cn”,则可以使用空字段替换其中的Host字段,将原HTTP请求包变异为“GET/HTTP/1.1”。
②字段语义替换;使用不同含义的字段值来替换字段语义进行变异。例如,在HTTP请求包中,第一个字段为请求方法,假设正常的请求方法为“GET”,则可使用“POST”等其他请求方法来替换原请求包中的“GET”请求方法。
③随机字符串替换:首先确定一个完备的字符数组,其中包含所有想要用来替换的字符,然后随机抽取若干字符进行组合,最后用组合的字符串替换HTTP请求包中的内容。
(3)字段溢出变异:对HTTP请求包进行极限扩充,看能否收到相应的应答消息,这里的极限值是指超过正常数据包的大小。
使用变异算子来表示上述的变异规则,通过变异算子将正常数据包转换成异常数据包,也称作变异规则或者变异转换。变异算子的构造是变异测试的关键部分,根据HTTP协议特性,将变异算子分为两类:一是单项变异算子,主要实现字段重复变异、字段替换变异和字段溢出变异,对应的变异算子有重复变异算子、替换变异算子、溢出变异算子等三种;二是组合变异算子,将三种单项变异算子组合后,构造出新的变异算子,主要有重复-替换算子、重复-溢出变异算子、替换-溢出变异算子、重复-替换-溢出变异算子等四种。
2.Web系统变异测试法。
Web系统变异测试方法如下:
(1)利用单项变异算子和组合变异算子,对HTTP请求包的数据进行变异处理,形成相应的异常事例,将各种异常事例集合起来,构成异常事例库;
(2)利用每个异常事例生成相应的异常HTTP请求包,发送给被测Web服务器;
(3)如果超时未收到Web服务器的HTTP应答包,说明这些错误引起了Web服务器异常或死机,系统健壮性差;如果收到了Web服务器的HTTP应答包,并返回的是正常的HTTP应答包,说明Web服务器未检测到这些错误,Web服务器存在潜在的风险,系统健壮性较差;如果收到了Web服务器的HTTP应答包,并在返回的HTTP应答包中给出错误信息,说明Web服务器对这些错误具有良好的检测和抵御能力,系统健壮性较好;
(4)遍历异常事例库中的每一个异常事例,直至完成所有的异常事例测试。

Claims (1)

1.一种基于HTTP协议变异的Web系统健壮性测试方法,其特征在于包括以下步骤:
步骤一、HTTP协议变异方法;
(1)字段重复变异:对HTTP请求包中的一个或多个字段进行重复,变异为新的请求包;
(2)字段替换变异:进一步分为空字段替换、字段语义替换和随机字符串替换;
①空字段替换:使用空字段替换HTTP请求包中的一个或多个字段进行变异;
②字段语义替换;使用不同含义的字段值替换字段语义进行变异;
③随机字符串替换:首先确定一个完备的字符数组,其中包含所有想要用来替换的字符,然后随机抽取若干字符进行组合,最后用组合的字符串替换HTTP请求包中的内容;
(3)字段溢出变异:对HTTP请求包进行极限扩充,看能否收到相应的应答消息,这里的极限值是指超过正常数据包的大小;
使用变异算子来表示上述的变异规则,通过变异算子将正常数据包转换成异常数据包;变异算子的构造是变异测试的关键部分,根据HTTP协议特性,将变异算子分为两类:一是单项变异算子,实现字段重复变异、字段替换变异和字段溢出变异,对应的变异算子有重复变异算子、替换变异算子、溢出变异算子等三种;二是组合变异算子,将三种单项变异算子组合后,构造出重复-替换算子、重复-溢出变异算子、替换-溢出变异算子以及重复-替换-溢出变异算子;
步骤二、Web系统变异测试方法;
(1)利用单项变异算子和组合变异算子,对HTTP请求包的数据进行变异处理,形成相应的异常事例,将各种异常事例集合起来,构成异常事例库;
(2)利用每个异常事例生成相应的异常HTTP请求包,发送给被测Web服务器;
(3)如果超时未收到Web服务器的HTTP应答包,说明这些错误引起了Web服务器异常或死机,系统健壮性差;如果收到了Web服务器的HTTP应答包,并返回的是正常的HTTP应答包,说明Web服务器未检测到这些错误,Web服务器存在潜在的风险,系统健壮性较差;如果收到了Web服务器的HTTP应答包,并在返回的HTTP应答包中给出错误信息,说明Web服务器对这些错误具有良好的检测和抵御能力,系统健壮性较好;
(4)遍历异常事例库中的每一个异常事例,直至完成所有的异常事例测试。
CN201410103694.1A 2014-03-20 2014-03-20 基于HTTP协议变异的Web系统健壮性测试方法 Expired - Fee Related CN103856373B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410103694.1A CN103856373B (zh) 2014-03-20 2014-03-20 基于HTTP协议变异的Web系统健壮性测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410103694.1A CN103856373B (zh) 2014-03-20 2014-03-20 基于HTTP协议变异的Web系统健壮性测试方法

Publications (2)

Publication Number Publication Date
CN103856373A true CN103856373A (zh) 2014-06-11
CN103856373B CN103856373B (zh) 2017-01-25

Family

ID=50863612

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410103694.1A Expired - Fee Related CN103856373B (zh) 2014-03-20 2014-03-20 基于HTTP协议变异的Web系统健壮性测试方法

Country Status (1)

Country Link
CN (1) CN103856373B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105790968A (zh) * 2014-12-18 2016-07-20 中国移动通信集团黑龙江有限公司 一种评估监测互联网业务异常变化情况的方法及装置
CN108881102A (zh) * 2017-05-08 2018-11-23 福建省天奕网络科技有限公司 一种数据合法性检测能力的测试方法及系统
CN112769655A (zh) * 2021-03-02 2021-05-07 北京百家科技集团有限公司 一种网络变异测试方法、装置及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103532777A (zh) * 2013-10-08 2014-01-22 江苏大学 基于SOAP消息最坏差异输入变异的Web Service脆弱性测试方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
简炜 等: "Web系统稳定性评价方法研究", 《网络安全》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105790968A (zh) * 2014-12-18 2016-07-20 中国移动通信集团黑龙江有限公司 一种评估监测互联网业务异常变化情况的方法及装置
CN108881102A (zh) * 2017-05-08 2018-11-23 福建省天奕网络科技有限公司 一种数据合法性检测能力的测试方法及系统
CN112769655A (zh) * 2021-03-02 2021-05-07 北京百家科技集团有限公司 一种网络变异测试方法、装置及系统
CN112769655B (zh) * 2021-03-02 2022-08-12 北京百家科技集团有限公司 一种网络变异测试方法、装置及系统

Also Published As

Publication number Publication date
CN103856373B (zh) 2017-01-25

Similar Documents

Publication Publication Date Title
EP3534263A1 (en) Systems and methods for web analytics testing and web development
CN104579822A (zh) 基于Http协议的移动应用自动化性能测试系统及方法
CN106354634A (zh) 接口测试方法及装置
CN102737019A (zh) 机器行为确定方法、网页浏览器及网页服务器
CN101902367A (zh) 一种产生测试用例的方法及装置
CN104184728A (zh) 一种Web应用系统的安全检测方法及安全检测装置
CN105302885B (zh) 一种全文数据的提取方法和装置
KR101443071B1 (ko) 웹페이지의 에러 체크 시스템
CN110750458A (zh) 大数据平台测试方法、装置、可读存储介质及电子设备
CN102761628B (zh) 泛域名识别、处理装置及方法
CN105162646A (zh) 一种多协议接口测试系统及方法
CN110764980A (zh) 日志处理方法和装置
CN113572726B (zh) 一种多模态网络控制-数据平面一致性校验方法及装置
CN103793318A (zh) 一种模块稳定性的分布式测试方法及装置
CN102999424B (zh) 一种并行远程自动化测试的方法
CN105164691A (zh) 利用计算机网络为测试计算机软件应用优化测试数据有效载荷的选择
CN107168844B (zh) 一种性能监控的方法及装置
CN114205274A (zh) 网络设备的测试方法及其装置
CN103856373A (zh) 基于HTTP协议变异的Web系统健壮性测试方法
CN106027284A (zh) 网络的故障诊断方法及装置
CN103995901B (zh) 一种确定数据节点失效的方法
Chen et al. Performance analysis and verification of safety communication protocol in train control system
CN105071991B (zh) 多个防火墙的ip连通性的测试方法
US20160337216A1 (en) System and method for testing a coap server
US9329960B2 (en) Methods, systems, and computer readable media for utilizing abstracted user-defined data to conduct network protocol testing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170125

Termination date: 20170320