Apache nginx解析漏洞复现

发布于:2023-09-14 ⋅ 阅读:(70) ⋅ 点赞:(0)

空字节漏洞

安装环境

将nginx解压后放到c盘根目录下:

在这里插入图片描述

运行startup.bat启动环境:

在这里插入图片描述

在HTML文件夹下有它的主页文件:

在这里插入图片描述

漏洞复现

nginx在遇到后缀名有php的文件时,会将该文件给php解释器处理,在读取文件时如果遇到00时就读取结束

在bp的浏览器输入10.9.75.164打开nginx:

在这里插入图片描述

访问主页目录下的info.php文件可以正常访问:

在这里插入图片描述

info.png该文件是一个图片马:

在这里插入图片描述

尝试访问后不能显示:

在这里插入图片描述

用bp抓包,发送到repeater模块,修改字段为info.png%00.php,发送后可以执行该图片马:

在这里插入图片描述

nginx在遇到后缀名有php的文件时,会将该文件给php解释器处理,在读取文件时如果遇到00时就读取结束,所以nginx会将info.php文件当做php文件执行。

背锅解析漏洞

安装环境

cd /vulhub/nginx/nginx_parsing_vulnerability

安装环境并启动:

sudo docker-compose up -d && sudo docker-compose up -d

启动成功:

在这里插入图片描述

漏洞复现

访问页面:

在这里插入图片描述

上传一个1.php文件,显示上传失败,bp抓包,修改包中的文件类型、后缀并添加一个图片文件的头,绕过对文件的过滤:

在这里插入图片描述

点击发送后上传成功,并给了一段文件的编号:

在这里插入图片描述

访问该文件的位置,只有一张图片:

在这里插入图片描述

后缀名中加入/.php该图片文件成功被当做php文件执行:

在这里插入图片描述

该漏洞之所以出现是因为下面配置被打开:

在这里插入图片描述

本文含有隐藏内容,请 开通VIP 后查看