计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

服务器软件漏洞测试程序的设计与实现(1)(2)

2013-12-09 01:08
导读:脚本中依次列出各个样本包,每个样本包分成几个数据域,每个数据域用一个数据项来表示。 GET /pub/index.htm HTTP/1.1的脚本描述为:SAMPS ITEM COMM GET ITEM PAT

脚本中依次列出各个样本包,每个样本包分成几个数据域,每个数据域用一个数据项来表示。
GET /pub/index.htm HTTP/1.1的脚本描述为:SAMPS
ITEM COMM GET
ITEM PATH /pub/
ITEM FILE index.htm
ITEM VER HTTP/1.1
RESULT …
SAMPE每个数据项由三部分组成,以第一个数据项ITEMS COMMI GET 为例: ITEMS,关键字,标识数据项开始(每个数据项占一行,因此无须关键字标识数据项结束);COMM:数据项类型名,数据项类型名决定了它的变换处理函数;GET: 数据项的内容。2.2测试数据包生成模块
测试数据包生成模块是整个测试工具的关键所在,只有生成最可能导致服务器出问题的请求数据包,才能发现服务器软件的漏洞所在。但又不能产生过多的数据包,使得测试效率太低。从统计测试的角度来说,就是要生成最可能导致服务器出错的数据包的样本集。
测试数据包生成模块对脚本的处理过程为:从脚本中读出一个样本包,脚本处理函数构造描述样本包的链表,链表的结构为:
typedef struct RULELIST
{
rulenode* rulelisthead;
rulenode* rulelistend;
}RULELIST;
样本包中的每一项为链表中的一个节点rulenode;
结点rulenode的定义为
typedef struct _rulenod
{
char type[8]; //数据项类型名
char item[128]; //数据项内容
_rulenode *nextnode; //指向下一个结点的指针
}rulenode;构造好链表后,对该样本包里一个数据项的内容进行变换,而保持其它数据项不变,生成测试数据包,发送给服务器,分析返回信息,将测试结果写入记录文件,处理完该样本包的所有数据项后,释放链表,读出下一样本包,重复上面的处理过程,直至脚本结束。
模块中对数据项内容进行变换的处理函数做成DLL动态链接库,调用时根据数据项类型名进行调用。这样使得该测试程序易于扩展,如果被测试软件的数据包中有原测试程序未定义的数据项类型,只需在脚本中加入新的数据项类型, 同时将对应的处理函数做成DLL动态链接库的形式,拷贝至测试程序目录下即可,而原有的程序一点也不必改动。2.3响应信息分析模块 (科教作文网http://zw.ΝsΕAc.Com编辑整理)
响应信息分析模块主要对返回信息进行特征串搜索,记录下服务器软件出现异常时的情况。特征串定义在脚本中,特征串搜索采用Boyer-Moore字符串匹配算法.如果返回信息中有匹配的字符串,就意味着服务器可能出错.例如,IIS 返回 “The remote procedure call failed ” ,就是RPC 服务出现错误。由于很多情况下返回信息很难预料,即便采用人工智能的方法也难判断服务器到底出了什么问题。所以响应信息分析模块只是检测异常,将异常记录下来,进一步的分析判断还需要人工介入。
共2页: 1 [2] 下一页 论文出处(作者):
PowerBuilder中实现数据窗口列不可编辑的一种方法
遥感信息在城市规划中的应用与展望
上一篇:PowerBuilder中实现数据窗口列不可编辑的一种方法 下一篇:没有了