Apache nginx解析漏洞复现

文章目录

  • 空字节漏洞
    • 安装环境
    • 漏洞复现
  • 背锅解析漏洞
    • 安装环境
    • 漏洞复现

空字节漏洞

安装环境

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

Apache nginx解析漏洞复现_第1张图片

运行startup.bat启动环境:

Apache nginx解析漏洞复现_第2张图片

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

Apache nginx解析漏洞复现_第3张图片

漏洞复现

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

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

Apache nginx解析漏洞复现_第4张图片

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

Apache nginx解析漏洞复现_第5张图片

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

Apache nginx解析漏洞复现_第6张图片

尝试访问后不能显示:

Apache nginx解析漏洞复现_第7张图片

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

Apache nginx解析漏洞复现_第8张图片

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

背锅解析漏洞

安装环境

cd /vulhub/nginx/nginx_parsing_vulnerability

安装环境并启动:

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

启动成功:

Apache nginx解析漏洞复现_第9张图片

漏洞复现

访问页面:

Apache nginx解析漏洞复现_第10张图片

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

Apache nginx解析漏洞复现_第11张图片

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

Apache nginx解析漏洞复现_第12张图片

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

Apache nginx解析漏洞复现_第13张图片

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

Apache nginx解析漏洞复现_第14张图片

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

Apache nginx解析漏洞复现_第15张图片

你可能感兴趣的:(漏洞复现,网络安全,apache,nginx,运维)