nginx服务器的漏洞检测方法和装置制造方法及图纸

技术编号:12775358 阅读:80 留言:0更新日期:2016-01-27 18:46
本发明专利技术公开了一种nginx服务器的漏洞检测方法和装置。其中,该方法包括:向nginx服务器发送第一网络地址的访问请求,并获取nginx服务器响应第一网络地址的访问请求返回的第一内容类型;向nginx服务器发送第二网络地址的访问请求,并获取nginx服务器响应第二网络地址的访问请求返回的第二内容类型,以及如果判断出第一内容类型和第二内容类型不相同,则确定nginx服务器有漏洞。通过本发明专利技术,解决了现有技术中检测nginx服务器漏洞不准确的问题,进而达到了提高检测nginx服务器漏洞准确性的效果。

【技术实现步骤摘要】

本专利技术涉及服务器检测领域,具体而言,涉及一种nginx服务器的漏洞检测方法和装置
技术介绍
现有技术利用白盒测试检测nginx服务器的配置文件,检测配置文件中发有漏洞特征,如果有漏洞特征,则认为该nginx服务器具有漏洞。但是,在利用白盒测试可能检测到错误的配置文件,造成漏检或者错检,从而导致检测到nginx服务器的漏洞不准确的问题。针对现有技术中检测nginx服务器漏洞不准确的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术实施例提供了一种nginx服务器的漏洞检测方法和装置,以解决现有技术中检测nginx服务器漏洞不准确的技术问题。根据本专利技术实施例的一个方面,提供了一种nginx服务器的漏洞检测方法,该nginx服务器的漏洞检测方法包括:向nginx服务器发送第一网络地址的访问请求,并获取所述nginx服务器响应所述第一网络地址的访问请求返回的第一内容类型;向所述nginx服务器发送第二网络地址的访问请求,并获取所述nginx服务器响应所述第二网络地址的访问请求返回的第二内容类型,其中,所述第一网络地址与所述第二网络地址的内容类型相同;判断所述第一内容类型和所述第二内容类型是否相同;以及如果判断出所述第一内容类型和所述第二内容类型不相同,则确定所述nginx服务器有漏洞。根据本专利技术实施例的另一方面,还提供了一种nginx服务器的漏洞检测装置,该nginx服务器的漏洞检测装置包括:第一请求单元,用于向nginx服务器发送第一网络地址的访问请求,并获取所述nginx服务器响应所述第一网络地址的访问请求返回的第一内容类型;第二请求单元,用于向所述nginx服务器发送第二网络地址的访问请求,并获取所述nginx服务器响应所述第二网络地址的访问请求返回的第二内容类型,其中,所述第一网络地址与所述第二网络地址的内容类型相同;第一判断单元,用于判断所述第一内容类型和所述第二内容类型是否相同;以及确定单元,用于在判断出所述第一内容类型和所述第二内容类型不相同时,确定所述nginx服务器有漏洞。在本专利技术实施例中,本专利技术实施例提供了一种nginx服务器的漏洞检测方法,采用向nginx服务器发送第一网络地址的访问请求,并获取nginx服务器响应第一网络地址的访问请求返回的第一内容类型;向nginx服务器发送第二网络地址的访问请求,并获取nginx服务器响应第二网络地址的访问请求返回的第二内容类型,其中,第一网络地址与第二网络地址的内容类型相同;判断第一内容类型和第二内容类型是否相同;以及如果判断出第一内容类型和第二内容类型不相同,则确定nginx服务器有漏洞的方式,通过判断第一内容类型和第二内容类型的不同,达到了检测nginx服务器漏洞的目的,解决了现有技术中检测nginx服务器漏洞不准确的问题,进而达到了提高检测nginx服务器漏洞准确性的效果。【附图说明】此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是根据本专利技术实施例的nginx服务器的漏洞检测方法的流程图;图2是根据本专利技术实施例的nginx服务器的漏洞检测装置的示意图;图3是根据本专利技术优选实施例的nginx服务器的漏洞检测方法的流程图;图4是根据本专利技术实施例的终端和nginx服务器进行交互的时序图;以及图5是根据本专利技术实施例的一种终端的结构示意图。【具体实施方式】为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。漏洞介绍:nginx服务器是一款高性能的web服务器,使用非常广泛,其不仅经常被用作反向代理,也可以非常好的支持PHP的运行。但是,该服务器中存在一个较为严重的安全问题,即默认情况下可能导致服务器错误的将任何类型的文件均以php的方式进行解析,使得恶意的攻击者可能利用该漏洞以php的方式运行恶意文件,从而攻陷支持php的nginx服务器。漏洞分析:nginx服务器默认以cgi的方式支持php的运行,譬如在配置文件当中可以按照如下方式对Php进行解析:locat1n ?.php$ {root html ;fastcgi_passl27.0.0.1:9000 ;fastcgi_index index, php ;fastcgi_param SCRIPT_FILENAME/scripts$fastcgi_script_name ;include fastcgi_params ;}Nginx服务器中的locat1n对请求进行选择的时候会使用通用资源标识符(Uniform Resource Identifier,简称URI)环境变量进行选择,其中传递到后端Fastcgi的关键变量SCRIPT_FILENAME由nginx服务器生成的$fastcgi_script_name决定,而通过分析可以看到$fastcgi_script_name是直接由URI环境变量控制的,为了较好的支持PATH_INFO的提取,在php的配置选项里存在cg1.fix_pathinfo选项,其目的是为了从SCRIPT_FILENAME里取出真正的脚本名。那么假设存在一个http://www.test, com/test, jpg,以如下的网址访问:http://www.test, com/test, jpg/test, php将会得到一个URI 环境变量“/test, jpg/test, php”经过locat1n指令,该请求将会交给后端的fastcgi处理,nginx服务器为其设置环境变量SCRIPT_FILENAME,内容为:/scripts/test, jpg/test, php后端的fastcgi在接收到该网址时,会根据fix_pathinfo配置决定是否对SCRIPT_FILENAME进行额外的处理,一般情况下如果不对fix_pathinfo进行开启将影响使用PATH_INFO进行路由选择的应用,所以一般将该配置开启。php通过该选项之后将查找其中真正的脚本文件名字,查找的方式也是查看文件是否存在,这个时候将分离出SCRIPT_FILENAME和PATH_INF0分别为:/scripts/test, jpg 和 test, php最后,以/scripts/test, jpg作为此次请求需要执行的本文档来自技高网
...

【技术保护点】
一种nginx服务器的漏洞检测方法,其特征在于,包括:向nginx服务器发送第一网络地址的访问请求,并获取所述nginx服务器响应所述第一网络地址的访问请求返回的第一内容类型;向所述nginx服务器发送第二网络地址的访问请求,并获取所述nginx服务器响应所述第二网络地址的访问请求返回的第二内容类型,其中,所述第一网络地址与所述第二网络地址的内容类型相同;判断所述第一内容类型和所述第二内容类型是否相同;以及如果判断出所述第一内容类型和所述第二内容类型不相同,则确定所述nginx服务器有漏洞。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘鹏翁家才黄富兴罗嘉飞何双宁许鑫城董昭郑兴张海清马杰彭贵春
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1