ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:17.20KB ,
资源ID:4590129      下载积分:8 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4590129.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(服务器软件漏洞测试程序的设计与实现.docx)为本站上传会员【快乐****生活】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

服务器软件漏洞测试程序的设计与实现.docx

1、服务器软件漏洞测试程序的设计与实现   摘要:服务器软件漏洞是导致网络不安全的重要因素,当前还没有什么方法能保证服务器软件没有漏洞,因此漏洞测试在网络安全方面占有重要地位。本文给出了一个通用漏洞测试程序的设计与实现,设计方案采用脚本、样本包及动态链接库技术,使得测试程序与协议无关,提高了通用性。 关键词:网络安全; 漏洞测试; 样本包; 动态链接库 网络安全是当前的热门话题,互联网安全性差的重要表现是服务器软件大多存在漏洞,黑客的入侵行为大多是利用服务器漏洞实现的。现在,每天都有新的服务器软件出现,但这些软件基本上都存在着漏洞,按照传统的测试方法,依靠测试人员去分析代码来完成测试,显

2、然是满足不了需求的。网络服务器软件的漏洞测试是一个十分重要的问题,设计一个较为自动化、通用的漏洞测试工具是十分必要的。 一般漏洞研究方法是先熟悉软件功能,分析服务协议,检查程序代码,然后再推测什么情况下会出现漏洞。这是一个工作量很大的过程,而且开发出来的测试程序也是针对特定软件,不能通用。我们的测试软件要做到通用,就要找出网络服务器软件的共同特性,采用易于配置,易于扩展的结构。 1.网络服务的共性及漏洞产生原因 网络服务基本上都是基于客户机-服务器模型。 请求数据包 响应数据报 图1 客户机发出请求数据包,服务器返回响应数据包,即Request-R

3、esponse方式。服务的共性就在于客户机与服务器通过数据包进行通信。每个服务都有自己的应用层协议。服务器软件的应用层协议决定了服务器对请求数据包里的内容怎么解释,所以协议也就体现在数据包中。服务器软件的漏洞一般是因为服务器对异常的请求数据包不能正确响应。对于异常的请求数据包,像数据包里有太长的文件名或文件目录路径包含特殊字符等,如果服务器软件不能正确处理,就可能导致缓冲区溢出、泄露服务器重要信息、拒绝服务等问题,使得入侵者有机可乘。如IIS服务器的UNICODE编码漏洞,对于未打补丁的IIS服务器,如果入侵者输入类似的请求,IIS服务器会将文件路径中的%255c解释为“/”,绕过系统安全策略

4、在服务器上执行dir 命令,并将结果返回给客户端。利用这种方法,可在服务器上执行任何系统命令,能轻而易举的控制整个服务器。我们的测试程序就是要能自动生成各种可能导致服务器不正常工作的请求数据包,并分析返回的响应信息,找出漏洞所在。 2.测试程序的设计方案 为了通用,测试程序不能过多涉及到具体协议,而测试数据包的格式又要符合具体协议,这是一个矛盾。我们采用样本包和动态链接库的方法来解决这个矛盾。样本包,即有代表性的数据包,依www服务为例,请求数据包“GET /pub/ HTTP/”可以很好的代表一类请求,就可以作为一个样本包。如果只对这个样本包中的某个数据域进行变换,则生成数据包的格式一

5、般也是满足www服务通信协议的。对于一个具体服务,它的协议体现在通信所用的数据包中,我们可以收集一个足以体现该服务协议的样本包集,采用一个脚本来描述这些样本包,要测试不同的服务软件,只须编写与之对应的脚本即可。测试程序只对脚本进行处理,不必与具体协议相关,也就实现了通用性。整个测试程序的系统框图如图2所示,测试数据包生成模块处理脚本,生成测试数据包,发送给服务器;响应信息分析模块分析返回信息,并将分析结果保存在记录文件中。 脚本 记录文件 图2 脚本 脚本是对样本包集的描述,服务器软件的协议体现在脚本中。测试数据包就是对样本包的某个域进行变换后得到的数据包。

6、 为了便于程序处理,定义了几个关键字: SAMPS , 样本包开始;ITEM , 数据项; SAMPE ,样本包结束; RESULT ,返回结果特征串; “ ; ”,注释,如果一行以 “;” 打头,则这一行是注释行。 脚本中依次列出各个样本包,每个样本包分成几个数据域,每个数据域用一个数据项来表示。 GET /pub/ HTTP/的脚本描述为 SAMPS ITEM COMM GET ITEM PATH /pub/ ITEM FILE ITEM VER HTTP/ RESULT … SAMPE 每个数据项由三部分组成,以第一个数据项ITEMS COMMI G

7、ET 为例: ITEMS,关键字,标识数据项开始;COMM:数据项类型名,数据项类型名决定了它的变换处理函数;GET: 数据项的内容。 测试数据包生成模块 测试数据包生成模块是整个测试工具的关键所在,只有生成最可能导致服务器出问题的请求数据包,才能发现服务器软件的漏洞所在。但又不能产生过多的数据包,使得测试效率太低。从统计测试的角度来说,就是要生成最可能导致服务器出错的数据包的样本集。 测试数据包生成模块对脚本的处理过程为:从脚本中读出一个样本包,脚本处理函数构造描述样本包的链表,链表的结构为: typedef struct RULELIST { rulenode* ruleli

8、sthead; rulenode* rulelistend; }RULELIST; 样本包中的每一项为链表中的一个节点rulenode; 结点rulenode的定义为 typedef struct _rulenod { char type; //数据项类型名 char item[128]; //数据项内容 _rulenode *nextnode; //指向下一个结点的指针 }rulenode; 构造好链表后,对该样本包里一个数据项的内容进行变换,而保持其它数据项不变,生成测试数据包,发送给服务器,分析返回信息,将测试结果写入记录文件,处理完该样本包的所有

9、数据项后,释放链表,读出下一样本包,重复上面的处理过程,直至脚本结束。 模块中对数据项内容进行变换的处理函数做成DLL动态链接库,调用时根据数据项类型名进行调用。这样使得该测试程序易于扩展,如果被测试软件的数据包中有原测试程序未定义的数据项类型,只需在脚本中加入新的数据项类型, 同时将对应的处理函数做成DLL动态链接库的形式,拷贝至测试程序目录下即可,而原有的程序一点也不必改动。 响应信息分析模块 响应信息分析模块主要对返回信息进行特征串搜索,记录下服务器软件出现异常时的情况。特征串定义在脚本中,特征串搜索采用Boyer-Moore字符串匹配算法.如果返回信息中有匹配的字符串,就意味着

10、服务器可能出错.例如,IIS 返回 “The remote procedure call failed ” ,就是RPC 服务出现错误。由于很多情况下返回信息很难预料,即便采用人工智能的方法也难判断服务器到底出了什么问题。所以响应信息分析模块只是检测异常,将异常记录下来,进一步的分析判断还需要人工介入。   3.实现中的关键问题 测试程序用vc++写成,在实现中有几个关键问题: 样本包的获取 样本包可以通过分析网络服务器软件的协议,手工设置;也可以通过截包程序来获得样本包。要想得到好的测试效果,这两种方法要综合应用。另一个问题是特殊字符的处理,如““r”,”“n”等,测试程序

11、利用它们作为分隔符,但样本包中也可能包含这些字符。对于这类字符,在脚本中用“%”后加特殊字符的ASCII码来表示,”“r”即为“%0D”。从脚本中读取特殊字符后的转换函数为 …. if(s= = ‘% ‘ ) //字符串s 中s为%,s[i+1],s[i+2]为特殊字符的ASCII码 { str[j]=(isdigit(s[i+1]) ? (s[i+1]-‘0‘):(toupper(s[i+1])-‘A‘+10))*16 +(isdigit(s[i+2]) ? (s[i+2]-‘0‘):(toupper(s[i+2])-‘A‘+10)); //转换后存入str[j] i+

12、2; j++; } 数据项的变换函数 这是影响测试工具效果最重要的因素,在某种程度上也是与协议相关的,具体的实现要根据经验,甚至分析协议,一定要变换出各种特殊情况。例如,对文件名,需要测试文件名过长、文件名为空、文件名中包含特殊字符等,对基于 Windows的系统,尤其要测试系统对不同类型文件(如有 .exe , .asp , .php, .htr等扩展名的文件)的响应情况,IIS服务器的许多漏洞都与此有关。 变换函数的原型为 int TEANSER(FILE* fp,char* item); 一个数据项有很多种变换结果,为了实现方便,处理时,一次得出一个数据项的所有变换结

13、果,写入临时文件,再从临时文件中读出变换后所得的数据项内容,组包后发送给服务器。这样变换函数不需要保持状态,编程起来就容易多了。变换函数做成DLL动态连接库形式,如果有新的数据项类型,只需在脚本中定义新的数据项类型名,编写对应的DLL库,处理时,处理函数会自动调用它来进行变换处理。实现自动调用的主要代码 …. typedef VOID (*MYPROC)(FILE*,char*); //函数原型 FILE* fp //临时文件指针; ….. if (!deffunc(idx-type) // idx为指向当前结点的指针,deffunc判断当前数据项类型是否 // 已在测试工具

14、中定义,如已定义,返回真。 { // 如果数据类型未定义 HINSTANCE h; CString str; MYPROC proc; If ((h=LoadLibrary(idx-type)) = = NULL) // 装入对应的动态链接库 { CString str; ("can‘t load the library %", idx-type); MessageBox(str, "ERROR"); } proc=(MYPROC)GetProcAddress(h, idx-type); //取得变换函数地址 (proc)(fp, idx-item); //调用变换函数,执行变换 } else //如果数据类型已经定义,直接调用相应函数处理 …. 测试包的发送 有的测试包发送前要发送一些固定的信息,像一些需要认证后才提供的服务,对于这类测试包,每次发送前先发送固定信息,再发送请求数据包。 4.结束语 服务器软件漏洞测试是实现网络安全的一个重要手段,本测试程序能有效的构造测试数据包,自动测试,分析响应结果。而且采用了脚本和动态链接库的方法,易于扩展,可用来测试多种服务器软件。我们用该软件对一些常用服务器软件进行测试,取得了较好的测试效果。

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服