Apache HTTPD 多后缀解析漏洞
1.查看python版本
这里python版本很重要,因为版本过低可能会导致后面的结果运行不成功
这里我就遇到了因为版本过低而执行不了docker-compose up -d的情况
查看python版本
cd /usr/bin
ls -al python*
当版本过低时安装高版本的
(1)切换到local目录
cd /usr/local/
(2)创建python3文件夹,存放编译后的下载包
#创建python3文件夹
mkdir python3
#切换到python3文件夹
cd python3
(3)下载python3.9.9版本
wget https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tar.xz
(4)解压python到src文件夹
tar xf Python-3.9.9.tar.xz
cp -r ./Python-3.9.9 /usr/local/src/
(5)切换到该目录
cd /usr/local/src/Python-3.9.9
(6)安装到python3文件夹
./configure --prefix=/usr/local/python3
(7)编译
make
make成功后执行
make install
这里python就安装完成
(8)创建软连接
切换到bin目录下
cd /usr/bin
查看软连接
ls -al python*
这里如果说python是2.几版本那么就删除python
rm -rf python
在重新添加软连接
ln -s /usr/local/python3/bin/python3 /usr/bin/python
这里需要注意路径,如果你没有执行成功make和make install那么你这里的/bin/python3 路径便会不存在,所有一定要切换到/usr/local/python3/bin/python3进行查看是否存在
2.安装pip3
(1)先更新pip
pip3 install --upgrade pip
(2)执行安装docker-compose命令
pip3 install docker-compose
(3)安装git
yum install -y git
3.下载vulhub
cd opt/
git clone https://github.com/vulhub/vulhub.git
4.进入目录 vulhub/httpd/apache_parsing_vulnerability
cd vulhub/httpd/apache_parsing_vulnerability
docker-compose up -d
查看运行的容器
docker-compose ps
表示镜像已经拉取成功为80端口可以直接访问了
(1)上传文件
因此这里1.php.jpg会被当成1.php文件进行读取
(2)提交
(3)访问
因为我在1.php.jpg中写入的是phpinfo()文件则会执行phpinfo
因此漏洞复现成功