Nginx-Rift 漏洞

漏洞参考文档:https://github.com/DepthFirstDisclosures/Nginx-Rift

触发条件

先明确漏洞触发必备3个条件(缺一不可)

  1. 一条rewrite后面紧跟着另一条rewrite/if/set指令;
  2. 前一条 rewrite 用了匿名捕获组1 2 $3...;
  3. rewrite 替换字符串里包含问号?。

有问题举例:

条件1:

powershell 复制代码
rewrite ^/(.*)$ /api/$1?a=1;
set $test 1; # 紧跟,触发条件1

条件2:

powershell 复制代码
# 第一条重写用了 $1 $2 这种匿名取值
# 就是正则里用了小括号 () 抓内容,后面用 $1 拿出来用。

rewrite ^/(user)/(.*)$ /$1/$2

条件3:

powershell 复制代码
# 重写 携带了?
rewrite ^/(.*)$ /api/$1?a=1;

快速自查 & 修复

  1. 检查配置里有没有连续 rewrite+rewrite/if/set
  2. 重写里别用 1 2,改用命名捕获组
  3. 重写 URL 里尽量避免直接带 ?
相关推荐
乘云数字DATABUFF4 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
荣--6 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森6 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜6 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB7 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
XIAOHEZIcode9 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220709 天前
如何搭建本地yum源(上)
运维
ping某10 天前
为什么 Nginx 明明监听了 80,转发后端时却用了 4xxxx 端口?
后端·nginx
大树8812 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠12 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql