
Docker-basierte PoC-Umgebung für die CVE-2018-15133 Laravel APP_KEY-Unserialization-Schwachstelle. Enthält Exploit-Skript zur Verifizierung von Remote Code Execution durch bösartige Payloads auf Laravel <= 5.7.27.
White Hat School 3. Jahrgang, Klasse 28, Lee Yebin – Virtualisierung – verwundbare Docker-Konfiguration https://github.com/yeahhbean/Laravel-CVE-2018-15133
Dieses Projekt ist eine Docker-basierte Umgebung, die zur Verifizierung (PoC) der CVE-2018-15133-Schwachstelle (Laravel-APP_KEY-Deserialisierungsschwachstelle) eingerichtet wurde.
Allein mit Dockerfile und docker-compose.yaml wird die verwundbare Umgebung aufgebaut, und es wurde bestätigt, dass der PoC über den Exploit ordnungsgemäß durchgeführt wird.
Über Dockerfile und docker-compose.yaml wird die verwundbare Umgebung automatisch installiert und gestartet.
| Dateiname | Beschreibung |
|---|
| Dockerfile | Installation von PHP + Composer + Laravel 5.7 |
| docker-compose.yaml | Konfiguration aller Dienste (Nginx, PHP, MySQL) |
| nginx/default.conf | Nginx-Reverse-Proxy-Konfigurationsdatei |
| exploit.py | PoC-Code auf Basis des APP_KEY |
Verzeichnisstruktur

Verzeichniswechsel: cd C:\Users\Admin\Desktop\WHS\CVE

Docker-Image erstellen: docker-compose build

Docker-Container starten: docker-compose up -d

Container-Zugriff: docker exec -it laravel_app bash

Container verlassen und PoC ausführen: exit python exploit.py

Browser-Zugriff: Webbrowser öffnen und http://localhost:8080 aufrufen

# 1. 소스 다운로드 및 디렉토리 이동
cd [프로젝트 디렉토리]
# 2. Docker 이미지 빌드
docker-compose build
# 3. Docker 컨테이너 실행
docker-compose up -d
Nach erfolgreicher Ausführung können Sie die Laravel-Standardseite unter http://localhost:8080 aufrufen.
docker exec -it laravel_app bash cat /var/www/html/laravel/.env | grep APP_KEY
python exploit.py
In Versionen nach Laravel 5.7.28 wurde diese Schwachstelle gepatcht und der Exploit funktioniert dort nicht mehr.
Der PoC-Code (exploit.py) wurde unter Bezugnahme auf öffentlich bekannte Angriffsmethoden erstellt.