网络安全03---Nginx 解析漏洞复现

目录

一、准备环境

二、实验开始

2.1上传压缩包并解压

2.2进入目录,开始制作镜像

2.3可能会受之前环境影响,删除即可

​编辑 2.4制作成功结果

2.5我们的环境一个nginx一个php

2.6访问漏洞

2.7漏洞触发结果

2.8上传代码不存在漏洞

 2.9补充:在nginx放通了解析php才会去解析

2.10看看这个漏洞图片吧

三、真正原因

五、如何防范:


一、准备环境

ubentu虚拟机,docker环境,vulhub-master环境包(资源已上传)

二、实验开始

2.1上传压缩包并解压

unzip vulhub-master.zip

2.2进入目录,开始制作镜像

/root/vulhub-master/nginx/nginx_parsing_vulnerability
docker-compose up -d

网络安全03---Nginx 解析漏洞复现_第1张图片

2.3可能会受之前环境影响,删除即可

可能80端口冲突,关闭nginx即可

docker rm -f $(docker ps -aq)

网络安全03---Nginx 解析漏洞复现_第2张图片 2.4制作成功结果

2.5我们的环境一个nginx一个php

docker ps -a

2.6访问漏洞

访问http://your-ip/uploadfiles/nginx.pnghttp://your-ip/uploadfiles/nginx.png/.php即可查看效果。 

网络安全03---Nginx 解析漏洞复现_第3张图片

2.7漏洞触发结果

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

网络安全03---Nginx 解析漏洞复现_第4张图片

2.8上传代码不存在漏洞

网络安全03---Nginx 解析漏洞复现_第5张图片网络安全03---Nginx 解析漏洞复现_第6张图片

 2.9补充:在nginx放通了解析php才会去解析

网络安全03---Nginx 解析漏洞复现_第7张图片

2.10看看这个漏洞图片吧

网络安全03---Nginx 解析漏洞复现_第8张图片

可以见得此图片中有个php的简单打印代码,打印php常数,说明我图片中添加php代码就可以以php执行,但是正常来说我的图片根本解析不了php代码,为什么会出现上面我们所说的漏洞呢?

网络安全03---Nginx 解析漏洞复现_第9张图片

三、真正原因

用户配置不当造成的漏洞,那好吧,看看用户配置

cd /root/vulhub-master/nginx/nginx_parsing_vulnerability/php-fpm

这个文件含义,你的后缀安全限制为空 

网络安全03---Nginx 解析漏洞复现_第10张图片

因为我们php文件是从下往上找的,不管你的后缀.php正确与否,都没有,会往上找,找到图片,把图片当成php代码解析了

网络安全03---Nginx 解析漏洞复现_第11张图片

五、如何防范:

安全后缀添加个.php直接 不解析了---用户配置问题

php.ini中又有cgi.fix pathinfo这个参数,这个参数的意思为修复漏洞信息,把这个开启,它就不会往前找,但是用户如果关掉了,那么上面的漏洞自然也就执行了

完全人为的漏洞

你可能感兴趣的:(网络安全,web安全,安全)