首先在vmware 安装靶机(ubantu_vilhub靶机:https://www.123pan.com/s/AdsTTd-L2Kf3.html 提取码:SAFE)
安装靶机之后输入enjoy账户密码 root1234% 进入主页面
一、Ngnix 解析漏洞
对于一个文件,如果ngnix解析到php后缀名,那么该文件将会被当成php进行处理。如一张图片:abc.png/.php-> abc.png 会被当成php格式解析 (在图片访问链接的时候加上/.php后文件将以php格式解析)
打开终端,输入以下命令:
#1 进入漏洞所在漏洞:
cd /home/enjoy/vulhub-master/nginx/nginx_parsing_vulnerability
#2 切换到root用户:
su root
#输入密码:root1234% 然后回车
#4 构建服务镜像:
docker-compose build
#5 替换当前正在运行的容器
docker-compose up -d
# 查看配置信息
docker-compose config
然后输入ifcofig,命令查看虚拟机ip地址,在本地浏览器输入虚拟机ip:8080即可访问虚拟机tomcat服务:
首先准备一张图片和一个一句话木马php文件info.php:
<?php
phpinfo();
?>
此时我们使用copy命令在图片中植入一句话木马:
copy body.png /B + info.php /A webshell.png
用记事本打开webshell.png 发现木马已经成功植入:
此时点击上传该图片木马
然后构建url访问该图片,发现图片可以正常访问
此时我们在图片后缀名后加上/*.php(*可以为空或者任意字符),发现图片中的php木马被执行,获取到目标主机的php信息
二、apache 解析漏洞
1、多后缀解析漏洞
继续使用该靶场,切换目录到 /home/enjoy/vulhub-master/httpd/apache_parsing_vulnerability ,然后创建容器:
cd /home/enjoy/vulhub-master/httpd/apache_parsing_vulnerability
docker-compose build
docker-compose up -d
docker-compose config
使用浏览器访问url地址 : 靶机ip+端口号(这里显示 80)
apahe 解析文件时候有一特性,Apache默认一个文件可以有多个以点分割的后缀,apache会从最右边开始识别其后缀名,只要一个文件含有.php后缀的文件即将被识别成PHP文件,而没必要将php放到末尾。
将刚刚创建的图片马复制一份,并将其名字改为 webshell.php.png(在文件名中插入.php)
点击上传刚刚改名后的图片木马文件
基于图片在目标主机的位置构建我们的url地址 :靶机ip+/uploadfiles/webshell.php.png,回车访问,发现php代码被执行,从而获取到服务器php信息:
2、换行解析漏洞
APache 2.4.0~2.4.29 版本中存在一个解析漏洞,在解析PHP时,test.php\x0A将被按照PHP 后缀进行解析,导致绕过一些服务器的安全策略
继续使用该靶场,切换目录到 /home/enjoy/vulhub-master/httpd/CVE-2017-15715,然后创建容器:
cd /home/enjoy/vulhub-master/httpd/CVE-2017-15715
docker-compose build
docker-compose up -d
docker-compose config
访问链接 靶机ip :8080/index.php
这里我们直接上传php木马文件会报错:
此时我们可以利用换行解析漏洞上传并执行木马文件,首先打开bupsuite工具,并php一句话木马文件,点击上传:
我们在保存文件名后面加上 %0a ,将%0a选中并进行url编码,然后forward提交:
访问url地址:靶机ip+ :8080/evil.php%0a 获取到目标主机的php信息