
Ambiente PoC basato su Docker per la vulnerabilità di unserializzazione CVE-2018-15133 di Laravel APP_KEY. Include script di exploit per verificare l'esecuzione remota di codice tramite payload dannosi su Laravel <= 5.7.27.
WhiteHat School 3ª generazione, classe 28, Lee Yebin - Virtualizzazione: configurazione Docker vulnerabile https://github.com/yeahhbean/Laravel-CVE-2018-15133
Questo progetto è un ambiente basato su Docker, allestito per la verifica (PoC) della vulnerabilità CVE-2018-15133 (vulnerabilità di unserializzazione di Laravel APP_KEY). Ho costruito l'ambiente vulnerabile usando solo Dockerfile e docker-compose.yaml e ho confermato che il PoC viene eseguito correttamente tramite l'exploit.
L'ambiente vulnerabile viene installato e avviato automaticamente tramite Dockerfile e docker-compose.yaml.
| File | Descrizione |
|---|
| Dockerfile | Per l'installazione di PHP + Composer + Laravel 5.7 |
| docker-compose.yaml | Configurazione di tutti i servizi (Nginx, PHP, MySQL) |
| nginx/default.conf | File di configurazione del reverse proxy Nginx |
| exploit.py | Codice PoC basato su APP_KEY |
Struttura delle directory

Cambio di directory: cd C:\Users\Admin\Desktop\WHS\CVE

Build dell'immagine Docker: docker-compose build

Avvio dei container Docker: docker-compose up -d

Accesso al container: docker exec -it laravel_app bash

Uscita dal container ed esecuzione del PoC: exit python exploit.py

Accesso dal browser: aprire un browser e andare su http://localhost:8080

# 1. Download del codice sorgente e spostamento nella directory
cd [directory del progetto]
# 2. Build dell'immagine Docker
docker-compose build
# 3. Avvio dei container Docker
docker-compose up -d
Se tutto viene eseguito correttamente, puoi vedere la pagina predefinita di Laravel all'indirizzo http://localhost:8080.
docker exec -it laravel_app bash cat /var/www/html/laravel/.env | grep APP_KEY
python exploit.py
Nelle versioni di Laravel successive alla 5.7.28 la vulnerabilità è stata corretta, quindi non funziona più.
Il codice PoC (exploit.py) è stato scritto facendo riferimento a tecniche di attacco pubbliche.