文章目录
- 空字节漏洞
- 安装环境
- 漏洞复现
- 背锅解析漏洞
- 安装环境
- 漏洞复现
空字节漏洞
安装环境
将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文件执行:
该漏洞之所以出现是因为下面配置被打开: