Linux Debian12使用podman安装upload-labs靶场环境

发布时间 2023-12-27 10:32:49作者: 晨曦初露

一、upload-labs简介

PHP语言编写,持续收集渗透测试和CTF中针对文件上传漏洞的靶场,总共21关,每一关都包含着不同的上传绕过方式。

二、安装podman环境

Linux Debian系统如果没有安装podman容器环境,可以参考这篇文章先安装podman环境,
Linux Debian11使用国内源安装Podman环境

三、podman安装upload-labs靶场环境

1.podman搜索upload-labs镜像

打开命令终端,输入下面命令:

sudo podman search upload-labs

2.podman拉取upload-labs镜像

sudo podman pull docker.io/c0ny1/upload-labs

3.查看podman拉取到的upload-labs镜像

sudo podman images

4.podman创建upoad-labs容器

运行镜像,将镜像内的80端口映射到本地的1026端口上面

sudo podman run -d --name upload-labs -p 1026:80 docker.io/c0ny1/upload-labs

5.在浏览器中输入http://127.0.0.1:1026/

在上传文件后,发现错误提示:“../upload文件夹不存在,请手工创建!“

解决方法:需要创建一个upload文件夹,并将此目录下的所有档案与子目录的拥有者都设为www-data,群体的使用者都设为www-data

6.进入运行中的upload-labs容器

我们可以在Linux下终端执行

sudo podman ps

看到正在运行的upload-labs容器,我们复制其容器ID值:3477fd8f4f6,这个值根据自己实际情况替换即可,执行下面命令。

sudo podman exec -it [容器ID] /bin/bash

进入upload-labs容器,/var/www/html 是当前容器内网站的根目录。

执行下面命令,创建upload文件夹

sudo mkdir upload

执行下面命令,将权限变更为www-data,让所有用户都能写

sudo chown www-data:www-data upload

文件详细信息可通过ls -l查看

到这一步,恭喜你upload-labs靶场环境就搭建成功了!

7.再次在浏览器中输入http://127.0.0.1:1026/

上传文件就正常了

四、upload-labs容器退出和开启

1.退出

执行:sudo podman ps 列出运行中的容器

执行:sudo podman stop [容器ID]

2.开启

执行:sudo podman ps -a 列出所有容器

执行:sudo podman start [容器ID]