Nginx 解析漏洞复现
1.实验目的
1、能成功搭建漏洞测试与测试工具所需的运行环境
2、能成功利用漏洞原理测试复现漏洞
2覆盖知识点
用户配置不当造成的解析漏洞
3实验环境与操作
实验环境
1、VMware Workstation 16
2、Ubuntu 20.4(靶场安装环境)
3、kali Linux
4、Vulhub靶场
5、Burp Suite
实验准备阶段
打开Ubuntu靶机进入vulhub/nginx/nginx_parsing_vulnerability目录下
然后启动docker、docker-compose
Docker-compose up -d
我们开启镜像后我们打开相应的网站可以看到它是一个类似于图片上传的网站内容,根据提示我们分别去访问
http://192.168.32.135/uploadfiles/nginx.png
http://192.168.32.135/uploadfiles/nginx.png/.php
可以清楚看到当我们增加了/.php后缀后,图片就被解析成了PHP文件了,然后我们使用burpsuit工具对它进行上传图片动作的抓包可以看到它是能够成功上传并且没有什么问题所在,所以一个图片能够被php解析只能是代码没有对php语言解析即用户在配置过程中并没有处理对于php解析的安全限制。
根据上述的思路,我们去验证看看是否是这样的,返回Ubuntu靶机中
查看有关php的设置文件看看是否有相应的东西
可以看到在这个文件中,配置的安全限制为空,而且php文件是从下往上找的,不管你的后缀.php正确与否,都没有,会往上找,找到图片,就图片当成php代码解析了当图片
利用这个原理我们就可以构造一个有php恶意代码的png图片文件,将它上传并通过代码定义的功能执行getshell
4 防范措施
安全后缀添加个.php直接不解析