Nginx_(背锅)解析漏洞复现

发布时间 2023-09-07 22:42:34作者: ExpiredSaury

Nginx 解析漏洞复现

说明 内容
漏洞编号
漏洞名称
漏洞评级
影响范围
漏洞描述 Nginx 解析漏洞 该解析漏洞是PHP CGI 的漏洞,在PHP的配置文件中有一个关键的选项
cgi.fix_pathinfo默认开启,当URL中有不存在的文件,PHP就会向前递归解析 在一个文件路径(/xx.jpg)后面加上/xx.PHP会将 /xx.jpg /xx.php 解析为 php 文件
修复方案

1.1、漏洞描述

这个漏洞其实和代码执行没有太大关系,其主要原因是错误地解析了请求的URI,错误地获取到用户请求的文件名,导致出现权限绕过、代码执行的连带影响

Nginx 解析漏洞 该解析漏洞是PHP CGI 的漏洞,在PHP的配置文件中有一个关键的选项
cgi.fix_pathinfo默认开启,当URL中有不存在的文件,PHP就会向前递归解析 在一个文件路径(/xx.jpg)后面加上/.php会将/xx.jpg/.php解析为php文件

1.2、漏洞等级

1.3、影响版本

1.4、漏洞复现

1、基础环境

Path:Vulhub/nginx/nginx_parsing_vulnerability


启动测试环境:

sudo docker-compose up -d

访问http://your-ip即可看到

image-20230907214802369

2、漏洞扫描

3、漏洞验证

上传1.php一句话木马,上传失败

image-20230907214834230

修改文件名,文件类型,文件内容

image-20230907214958009

uploadfiles/4a47a0db6e60853dedfcfdf08a5ca249.png

访问上传的图片

image-20230907215057180

增加/.php后缀,被解析成PHP文件

image-20230907215142637

造成这一问题主要跟 PHP的安全选项有关 cgi

image-20230907215343110

1.5、深度利用

GetShell

image-20230907215610706

image-20230907215650644