服务器容器漏洞-nginx配置漏洞CRLF
1、介绍
该漏洞是由于nginx配置导致的漏洞,所以无关nginx的版本。
由于配置中使用了$uri变量,该变量为请求url的path部分,默认会进行url解码操作。导致变量嵌入响应头部字段时,出现CRLF响应拆分漏洞。可以进行url重定向,设置cookie或者写入脚本。
2、业务场景
- 控制paylaod必须是包含在path中,但是任意设置又会导致404。
- 导致该漏洞,必然要求将$uri写入响应头部中。有两种机制。
- 一是重定向跳转,$uri作为Location的组成部分。
- Location匹配协议、host或端口信息,进行重定向时使用$uri变量
- 匹配协议主要是http转https。
- 而匹配host或端口信息,一般是原来可用的主机名或端口临时或长久的进行停用,那么可以做跳转操作
- 二是nginx主动添加响应头部字段,比如set-cookie设置值包含$uri
3、漏洞防护
尽量不使用$uri变量