白帽学校第3期第28班 李艺彬 虚拟化 - 脆弱 Docker 配置 https://github.com/yeahhbean/Laravel-CVE-2018-15133
本项目是为了验证 CVE-2018-15133 漏洞(Laravel APP_KEY 反序列化漏洞)而构建的 Docker 环境。
仅通过 Dockerfile 和 docker-compose.yaml 即可搭建脆弱环境,并确认了通过漏洞利用代码(exploit)成功进行了 PoC。
通过 Dockerfile 和 docker-compose.yaml 自动安装并启动脆弱环境。
| 文件名 | 说明 |
|---|---|
| Dockerfile | 用于安装 PHP + Composer + Laravel 5.7 |
| docker-compose.yaml | 整体服务(Nginx, PHP, MySQL)配置 |
| nginx/default.conf | Nginx 反向代理配置文件 |
| exploit.py | 基于 APP_KEY 的 PoC 代码 |
目录结构

进入目录 cd C:\Users\Admin\Desktop\WHS\CVE

构建 Docker 镜像 docker-compose build

启动 Docker 容器 docker-compose up -d

进入容器 docker exec -it laravel_app bash

退出容器并执行 PoC exit python exploit.py

浏览器访问 打开 Web 浏览器并访问 http://localhost:8080

# 1. 下载源码并进入目录
cd [项目目录]
# 2. 构建 Docker 镜像
docker-compose build
# 3. 启动 Docker 容器
docker-compose up -d
---
成功运行后,可在 http://localhost:8080 查看 Laravel 默认页面。
---
## PoC(漏洞验证)
# 1. 在容器内提取 Laravel APP_KEY
docker exec -it laravel_app bash
cat /var/www/html/laravel/.env | grep APP_KEY
# 2. 将提取的 APP_KEY 输入 exploit.py 并执行
python exploit.py
# 3. 如果正常返回 Laravel 页面的 HTML,则说明通过 APP_KEY 的 payload 已成功传递。
---
## 注意事项
- Laravel 5.7.28 之后的版本已修补此漏洞,不再生效。
- PoC 代码(exploit.py)参考了公开的攻击方式编写。
---
## 参考
- https://nvd.nist.gov/vuln/detail/cve-2018-15133
- https://laravel.com/docs/5.7/releases#laravel-5.7.27