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 里尽量避免直接带 ?
相关推荐
佛山个人技术开发1 小时前
GitCode SSH连接配置教程
运维·ssh·gitcode
OpsEye2 小时前
系统负载高一定是CPU问题吗?
运维·cpu·it
AOwhisky3 小时前
MySQL 学习笔记(第六期):MySQL 备份与恢复
运维·数据库·笔记·学习·mysql·云计算
赵民勇3 小时前
Linux file命令详解
linux·运维
li-xun4 小时前
LINUX DO 社区注册机制调整与公益 AI 服务动态
linux·运维·人工智能
j_xxx404_4 小时前
MySQL表操作硬核解析:从 CREATE TABLE 到磁盘文件、ALTER TABLE 与 DDL 风险
运维·服务器·数据库·c++·mysql·adb·ai
前端程序猿i4 小时前
Nginx 教程:从入门到能上线
运维·nginx
明辰之林4 小时前
Nginx 1.26.2 → 1.30.2 升级指南(离线环境)
nginx
木雷坞4 小时前
Qdrant Docker 部署教程:数据卷、API Key 和集合初始化
运维·docker·容器·知识图谱
团象科技4 小时前
外贸站选海外服务器 拆解跨境运营中常被忽略的核心性能细节
运维·服务器