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 里尽量避免直接带 ?
相关推荐
Acrellea14 小时前
ADL200W/ADL400W 导轨电表:一块小表终结光储防逆流之痛
运维·能源
xiaoxiangsiyan14 小时前
企业网络运维自动化与管理协议深度指南
linux·运维·服务器·网络·学习·自动化
AIgorithmGEEK14 小时前
Linux 进程控制完全指南:fork、wait、exec 三部曲
linux·运维·多进程·进程创建·进程等待·进程终止·exec家族
wgh65314 小时前
旁挂组网双机热备负载分担
运维·服务器
2401_8949155314 小时前
部署 GEO 优化源码常见报错排查:端口、伪静态、缓存问题解决
java·运维·服务器·后端·缓存·开源
Lysander.Jovian14 小时前
Nginx服务2
运维·数据库·nginx
小张同学a.14 小时前
zabbix企业级监控平台4——分布式监控与grafana数据可视化
linux·运维·数据库·分布式·信息可视化·zabbix·grafana
酷可达拉斯15 小时前
自动化运维-从零开始编写ansible剧本(二)
linux·运维·服务器·centos·自动化
A-刘晨阳15 小时前
Kubernetes 非共享存储详解:emptyDir 与 hostPath 从入门到实践
运维·云原生·容器·kubernetes·hostpath·emptydir
Nomarsgo15 小时前
联控 Lionconit PTC-1006手持工业平板电脑在野外输电线路巡检中的应用方案
运维·科技·自动化·汽车·电脑