一种Web服务器识别的方法及装置的制作方法

文档序号:7861752阅读:248来源:国知局
专利名称:一种Web服务器识别的方法及装置的制作方法
技术领域
本发明涉及网络通信技术领域,尤其涉及一种Web服务器识别的方法和装置。
背景技术
随着Web服务器在Internet上的比重的增加,越来越多的黑客开始使用Web服务器作为入侵系统的入口点,而服务器上的识别技术通常是系统信息收集的基本步骤。为了有效的防御黑客的入侵,提前对已经的运行在Web服务器上的业务系统进行安全评估和安全防护,需要对Web服务器采用的具体服务版本进行识别,以便针对特定的服务器提供有效的安全评估检测,增加评估的准确性,其中服务器类型的探测起着非常重要的作用,探测的准确性对最终的检测起着决定性的作用。现有技术中,通常使用HTTP中的Server字段进行判断,例如HTTP响应结构·HTTP/1. I 2001 OKDate:Tue, 08 May 2012 02:55:55 GMTServer ApacheConnection:closeTransfer-Encoding:chunkedContent-Type:text/html;charset=gbk根据其中所述字段Server =Apache,可以判断服务器为Apache服务器。利用Server进行判断通常来说可以做大体的检测,但是对于一些已经修改过server字段的返回值的WEB应用服务器来说就无法正确判断。

发明内容
有鉴于此,本发明的目的是提供一种Web服务器识别的方法和装置,能够更准确有效的进行Web应用服务器类型的识别。为实现本发明目的,本发明实现方案具体如下一种识别Web服务器的方法,所述方法包括步骤A、向目标Web服务器发送能够获取服务器类型的HTTP请求报文;步骤B、接收目标Web服务器反馈的与发送的HTTP请求报文相对应的携带有响应状态码的HTTP响应报文,所述的响应状态码与目标Web服务器类型相互对应;步骤C、根据所述HTTP响应报文中的响应状态码以及预配置的Web服务器特征库,获取对应的服务器版本类型。优选地,在所述步骤A之前还包括针对需要检测的目标Web服务器,根据HTTP请求库中提供的HTTP请求,并按照HTTP标准构造所述的HTTP请求报文。优选地,其中所述步骤C中根据所述HTTP响应报文中的响应状态码以及预配置的Web服务器特征库,获取对应的服务器版本类型,具体包括步骤Cl、根据HTTP响应报文中响应状态码提取响应特征向量,将同一服务器的多个响应特征向量组成特征向量组,并对所述特征向量组进行向量运算,得出一个最终的向量;步骤C2、将所述最终的向量和预先配置的Web服务器特征库中的Web服务器的响应向量进行匹配,当匹配成功时,获取对应的服务器版本类型。本发明同时提供一种识别Web服务器的装置,所述 装置包括HTTP请求报文发送模块,用于向目标Web服务器发送能够获取服务器类型的HTTP请求报文;HTTP响应报文接收模块,用于接收目标Web服务器反馈的与发送的HTTP请求报文相对应的携带有响应状态码的HTTP响应报文,所述的响应状态码与目标Web服务器类型相互对应;Web服务器类型获取模块,用于根据所述HTTP响应报文中的响应状态码以及预配置的Web服务器特征库,获取对应的服务器版本类型。优选地,所述装置进一步包括HTTP请求报文构造模块,用于针对需要检测的目标Web服务器,根据HTTP请求库中提供的HTTP请求,并按照HTTP标准构造所述的HTTP请求报文。优选地,所述Web服务器类型获取模块进一步包括响应向量计算模块,用于根据HTTP响应报文中响应状态码提取响应特征向量,将同一服务器的多个响应特征向量组成特征向量组,并对所述特征向量组进行向量运算,得出一个最终的向量;特征匹配模块,用于将所述最终的向量和预先配置的Web服务器特征库中的Web服务器的响应向量进行匹配,当匹配成功时,获取对应的服务器版本类型。与现有的技术方案相比,本发明通过HTTP响应报文中的响应状态码以及预配置的Web服务器特征库,获取对应的服务器版本类型,本方案能够很准确的识别常见的一些Web服务器的具体的版本,克服了传统识别方法中的识别率不高,对具体的服务器类型有较大依赖的缺陷,能大大的提高漏洞扫描设备识别Web服务器的准确性,同时提高漏洞扫描设备Web服务器漏洞检测的准确性。


图I为本发明实施例Web服务器识别的方法流程示意图。图2为本发明实施例Web服务器识别的另一种方法流程示意图。图3为本发明实施例Web服务器识别的装置逻辑结构图。图4为本发明实施例Web服务器识别的装置进一步逻辑结构图。图5为本发明实施例Web服务器类型获取子模块逻辑结构图。
具体实施例方式本发明实施例提供一种Web服务器识别的方法和装置,所述方法和装置适用于漏洞扫描设备。通过向所述的目标Web服务器发送能够获取服务器类型的HTTP请求报文,然后接收所述目标Web服务器反馈的与发送的请求报文相对应的携带有响应状态码的HTTP响应头,最后将所述HTTP响应头中的响应状态码与Web服务器特征库匹配获取对应的服务器版本,实现Web服务器的识别。为使本发明实施例技术方案更加清楚和明白,以下结合本发明具体实施例加以详细说明。如图I所示,为本发明提供的Web服务器识别的方法流程图,其中所述方法包括步骤A、向目标Web服务器发送能够获取服务器类型的HTTP请求报文;在漏洞扫描设备识别Web服务器时,首先需要向目标Web服务器发送能够获取服务器类型的请求报文。所述请求报文包含有请求头,请求头经过网络的传输,到指定的目标服务器后,交由目标服务器上的Web服务器处理进程进行处理,解析出客户所需要的指定资源后,将指定的资源构建一个响应结构,包括响应头和响应体,响应头告知客户端服务器做出了何种响应以及相应体的内容。步骤B、接收目标Web服务器反馈的与发送的请求报文相对应的携带有响应状态码的HTTP响应报文,所述的响应状态码与目标Web服务器类型相互对应;
当目标Web服务器反馈与发送的请求报文相对应的携带有响应状态码的HTTP响应时,漏洞扫描设备接收所述的HTTP响应,组成指定的格式,以便进行服务器类型的匹配,需要说明的是,其中所述的响应状态码与目标服务器的类型相互对应。步骤C、根据所述HTTP响应报文中的响应状态码以及预配置的Web服务器特征库,获取对应的服务器版本类型。每一个Web服务器对应一个不同的响应状态码,当漏洞扫描设备收到目标服务器发送的HTTP响应时,将HTTP响应中响应状态码与预配置的Web服务器特征库进行匹配,以获取相对应的服务器版本类型。需要说明的是,所述的Web服务器特征库可以为现有技术中存在的特征库,也可以是根据需要进行自行配置的特征库,特征库存储的为预先存储和整理好的多种服务器的响应向量,不能对所述的特征库进行狭义的理解。进一步地,所述步骤A中请求报文是由客户端针对需要检测的目标Web服务器,根据HTTP请求库中提供的HTTP请求并按照HTTP标准进行构造。通常请求头的格式有如下格式GET/HTTP/1. IAccept: image/gif, image/jpeg, image/p jpeg, image/p jpeg, appl ication/χ-shockw ave-flash,Accept-Language: zh-cn, en-US; q=0. 5User-Agent:MoziIla/4. 0 (compatible;MSIE 8. 0;Window 5. I ;Trident/4. 0;n)Accept-Encoding:gzip, deflateHost:www. dptechnology. netConnection: Keep-AliveCookie:utma=165483882. 2015548410. 133534462. 133541622. I;_utmz=165483882. I请求头经过网络的传输到指定的服务器后,交由指定的服务器上的WEB服务器处理进程进行处理,解析出客户端所需要的指定的资源后,将指定的资源构建一个响应结构,包含响应头和响应体,响应头告知客户端服务器做了何种响应。需要进一步说明的是,所述的HTTP请求库为已有HTTP请求库或根据需要直接构建HTTP请求库。在请求库存在类似如下的请求报文GET/\r\n\r\nGET/\r\n\r\n0PTI0NS*HTTP/1. l\r\n Host: +host+\r\n\r\n (其中+host+,表不该处替换为目的主机)这一系列的请求报文请求不同的Web服务器,每种类型的Web服务器都可能返回不一样的响应状态码,最终确定一个唯一的特征,用于识别该Web服务器所使用的具体版本。进一步地,其中所述步骤C中根据所述HTTP响应报文中的响应状态码以及预配置的Web服务器特征库,获取对应的服务器版本类型,具体包括步骤Cl、根据HTTP响应中响应状态码提取具体的响应特征向量,将同一服务器的多个特征向量组成一组对应的特征向量,并将响应向量进行向量运算,得出一个最终的向量;步骤C2、将所述最终的向量和预先配置的Web服务器响应特征库中Web服务器的响应向量进行匹配,当匹配成功时,获取对应的服务器版本类型。具体地,当收到目标服务器发送的HTTP响应时,漏洞扫描设备按照一定的规则,根据HTTP响应中响应状态码提取针对一个服务器的多个具体的响应特征向量,然后将所·述的多个具体的特征向量进行向量计算,组成一组对应的特征向量之后,最后计算得出一个最终的向量。所述的请求报文通常需要至少10种的请求对应向量,可以精确的描述一个类型Web服务器的常规响应特征。再将针对目标服务器的所述的最终向量和预先配置的Web服务器响应特征库中预先存储和整理好的多种服务器的响应向量进行匹配,找到具体的Web服务器版本类型,完成Web服务器类型的识别过程。请进一步参照图2,为本发明Web服务器识别方法的另一具体实施例,所述方法步骤为步骤I、针对需要检测的Web应用服务器,按照HTTP请求库中提供的一系列特有的HTTP请求报文,构造HTTP请求报文;步骤2、将构造好的HTTP请求报文发送至目标服务器;步骤3、判断所述的HTTP请求报文是否发送成功,若否,则提示并记录错误,Web服务器识别过程结束,若是,则转至步骤4 ;步骤4、判读目标服务器是否有响应,若否,则提示并记录错误,Web服务器识别过程结束,若是,则转至步骤5;步骤5、提取目标服务器HTTP响应报文中与所述的HTTP请求报文相对应的特征;步骤6、按照一定的规则,将步骤5提取的特征进行向量组合计算,先组合成一组响应向量,然后计算得出一个最终的向量;步骤7、将步骤6计算所得的最终的向量与预先配置的Web服务器响应向量库中响应向量进行特征匹配;步骤8、判断向量特征匹配是否成功,若否,则提示并记录错误,Web服务器识别过程结束,若是,上报与请求报文对应的Web服务器类型并结束Web服务器类型识别过程。本发明同时提供一种识别Web服务器的装置,如图3所示,所述装置包括
HTTP请求报文发送模块,用于向目标Web服务器发送能够获取服务器类型的HTTP请求报文;在漏洞扫描设备识别Web服务器时,首先HTTP请求报文发送模块需要向目标Web服务器发送能够获取服务器类型的请求报文。所述请求报文包含有请求头,请求头经过网络的传输,到指定的目标服务器后,交由目标服务器上的Web服务器处理进程进行处理,解析出客户所需要的指定资源后,将指定的资源构建一个响应结构,包括响应头和响应体,响应头告知客户端服务器做出了何种响应以及相应体的内容。HTTP响应报文接收模块,用于接收目标Web服务器反馈的与发送的HTTP请求报文相对应的携带有响应状态码的HTTP响应报文,所述的响应状态码与目标Web服务器类型相互对应;具体地,当目标Web服务器反馈与发送的请求报文相对应的携带有响应状态码的HTTP响应时,HTTP响应报文接受模块接收所述的HTTP响应,组成指定的格式,以便进行 服务器类型的匹配,需要说明的是,其中所述的响应状态码与目标服务器的类型相互对应。Web服务器类型获取模块,用于根据所述HTTP响应报文中的响应状态码以及预配置的Web服务器特征库,获取对应的服务器版本类型。每一个Web服务器对应一个不同的响应状态码,当HTTP响应报文接收模块收到目标服务器发送的HTTP响应时,Web服务器类型获取模块将HTTP响应中响应状态码与预配置的Web服务器特征库进行匹配,以获取相对应的服务器版本类型。需要说明的是,所述的Web服务器特征库可以为现有技术中存在的特征库,也可以是根据需要进行自行配置的特征库,特征库存储的为预先存储和整理好的多种服务器的响应向量,不能对所述的特征库进行狭义的理解。请进一步地参考图4,所述装置进一步包括HTTP请求报文构造模块,用于针对需要检测的目标Web服务器,根据HTTP请求库中提供的HTTP请求,并按照HTTP标准构造所述的HTTP请求报文。请进一步参照图5,所述Web服务器类型获取模块进一步包括响应向量计算模块,用于根据HTTP响应报文中响应状态码提取响应特征向量,将同一服务器的多个响应特征向量组成特征向量组,并对所述特征向量组进行向量运算,得出一个最终的向量;特征匹配模块,用于将所述最终的向量和预先配置的Web服务器特征库中的Web服务器的响应向量进行匹配,当匹配成功时,获取对应的服务器版本类型。具体地,当收到目标服务器发送的HTTP响应时,响应向量计算模块按照一定的规贝U,根据HTTP响应中响应状态码提取针对一个服务器的多个具体的响应特征向量,然后将所述的多个具体的特征向量进行向量计算,组成一组对应的特征向量之后,最后计算得出一个最终的向量。所述的请求报文通常需要至少10种的请求对应向量,可以精确的描述一个类型Web服务器的常规响应特征。再将针对目标服务器的所述的最终向量和预先配置的Web服务器响应特征库中预先存储和整理好的多种服务器的响应向量进行匹配,找到具体的Web服务器版本类型,完成Web服务器类型的识别过程。以上所述的本发明实施例适用于漏洞扫描设备,但是本发明并不仅限于本发明实施例,还适用于其他类似的设备。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。·
权利要求
1.一种识别Web服务器的方法,其特征在于,所述方法包括 步骤A、向目标Web服务器发送能够获取服务器类型的HTTP请求报文; 步骤B、接收目标Web服务器反馈的与发送的HTTP请求报文相对应的携带有响应状态码的HTTP响应报文,所述的响应状态码与目标Web服务器类型相互对应; 步骤C、根据所述HTTP响应报文中的响应状态码以及预配置的Web服务器特征库,获取对应的服务器版本类型。
2.如权利要求I所述的方法,其特征在于,在所述步骤A之前还包括针对需要检测的目标Web服务器,根据HTTP请求库中提供的HTTP请求,并按照HTTP标准构造所述的HTTP请求报文。
3.如权利要求I所述的方法,其特征在于,其中所述步骤C中根据所述HTTP响应报文中的响应状态码以及预配置的Web服务器特征库,获取对应的服务器版本类型,具体包括 步骤Cl、根据HTTP响应报文中响应状态码提取响应特征向量,将同一服务器的多个响应特征向量组成特征向量组,并对所述特征向量组进行向量运算,得出一个最终的向量; 步骤C2、将所述最终的向量和预先配置的Web服务器特征库中的Web服务器的响应向量进行匹配,当匹配成功时,获取对应的服务器版本类型。
4.一种识别Web服务器的装置,其特征在于,所述装置包括 HTTP请求报文发送模块,用于向目标Web服务器发送能够获取服务器类型的HTTP请求报文; HTTP响应报文接收模块,用于接收目标Web服务器反馈的与发送的HTTP请求报文相对应的携带有响应状态码的HTTP响应报文,所述的响应状态码与目标Web服务器类型相互对应; Web服务器类型获取模块,用于根据所述HTTP响应报文中的响应状态码以及预配置的Web服务器特征库,获取对应的服务器版本类型。
5.如权利要求4所述的装置,其特征在于,所述装置进一步包括 HTTP请求报文构造模块,用于针对需要检测的目标Web服务器,根据HTTP请求库中提供的HTTP请求,并按照HTTP标准构造所述的HTTP请求报文。
6.如权利要求4所述的装置,其特征在于,所述Web服务器类型获取模块进一步包括 响应向量计算模块,用于根据HTTP响应报文中响应状态码提取响应特征向量,将同一服务器的多个响应特征向量组成特征向量组,并对所述特征向量组进行向量运算,得出一个最终的向量; 特征匹配模块,用于将所述最终的向量和预先配置的Web服务器特征库中的Web服务器的响应向量进行匹配,当匹配成功时,获取对应的服务器版本类型。
全文摘要
本发明公开了一种识别Web服务器的方法和装置。所述方法和装置通过向目标Web服务器发送能够获取服务器类型的HTTP请求报文;接收目标Web服务器反馈的与发送的HTTP请求报文相对应的携带有响应状态码的HTTP响应报文,所述的响应状态码与目标Web服务器类型相互对应;根据所述HTTP响应报文中的响应状态码以及预配置的Web服务器特征库,获取对应的服务器版本类型。通过本发明,能够很准确的识别常见的一些Web服务器的具体的版本,大大的提高了识别Web服务器的准确性。
文档编号H04L29/08GK102904940SQ20121036935
公开日2013年1月30日 申请日期2012年9月27日 优先权日2012年9月27日
发明者王树太 申请人:杭州迪普科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1