
Публичный PoC для CVE-2025-25257: FortiWeb предварительная аутентификация SQLi до RCE
Отказ от ответственности: Данное подтверждение концепции (PoC) предоставляется только для авторизованного тестирования безопасности и исследовательских целей. Несанкционированное использование против систем, которыми вы не владеете или на тестирование которых у вас нет явного разрешения, незаконно. Пользователи обязаны соблюдать все применимые законы и нормативные требования.
CVE-2025-25257 — это критическая уязвимость в Fortinet FortiWeb, брандмауэре веб-приложений, в его компоненте Fabric Connector. Она позволяет злоумышленникам выполнять произвольные системные команды без аутентификации, что представляет серьезный риск полной компрометации системы.
| Диапазон версий | Статус |
|---|---|
| 7.6.0 – 7.6.3 | Уязвимо |
| 7.4.0 – 7.4.7 | Уязвимо |
| 7.2.0 – 7.2.10 | Уязвимо |
| 7.0.10 и более ранние | Уязвимо |
Эта уязвимость возникает из-за небезопасной обработки HTTP-заголовка Authorization: Bearer <token> в функции get_fabric_user_by_token(). Из-за недостаточной санитизации входных данных злоумышленники могут внедрить вредоносные SQL-команды (SQL-инъекция, CWE-89).
Воздействие:
SELECT ... INTO OUTFILE, злоумышленники могут записать вредоносные файлы (например, веб-шеллы или Python-скрипты) на сервер, что позволяет получить полный контроль над системой.Включенные файлы:
CVE-2025-25257.py — скрипт эксплойта на PythonREADME.md — полная документацияexploit_workflow.svg — диаграмма рабочего процесса атакиЭксплойт выполняется по следующим шагам, как показано на диаграмме Mermaid ниже (отображается нативно на GitHub) и на статическом изображении exploit_workflow.svg:
graph TD
A[Attacker] --> B[Target Endpoint]
B --> C[SQL Injection]
C --> D[Webshell Creation]
D --> E[Command Execution]
E --> F[System Compromise]/api/fabric/device/status.webshell.php) на сервер.User-Agent к веб-шеллу, выполняя произвольные системные команды.| Действие | Подробности |
|---|---|
| Немедленно установите патч | Обновитесь до исправленной версии: 7.6.4+, 7.4.8+, 7.2.11+ или 7.0.11+ |
| Временное смягчение | Ограничьте или отключите доступ к интерфейсу администратора по HTTP/HTTPS |
| Обнаружение | - Отслеживайте заголовки Authorization на наличие SQL-синтаксиса- Используйте IDS/IPS для обнаружения попыток SQL-инъекции на /api/fabric/device/status- Проверяйте наличие неожиданных файлов (например, .php, .py или CGI-скриптов) |
Ссылки:
Этот инструмент предназначен только для авторизованного тестирования безопасности и исследовательских целей. Убедитесь, что у вас есть явное разрешение на тестирование целевой системы.
requests, argparsepip install requestspython3 cve_2025_25257.py -t https://target-ip
| Опция | Описание |
|---|---|
-t | Целевой URL (например, https://target-ip) |
-T | Файл, содержащий несколько целевых URL |
--proxy | Маршрутизация трафика через прокси (например, http://127.0.0.1:8080) |
Пост-эксплуатация: После успешной эксплуатации скрипт выводит URL веб-шелла (например, https://target-ip/webshell.php). Команды можно отправлять к веб-шеллу через заголовок User-Agent с помощью таких инструментов, как curl или браузер.
python3 cve_2025_25257.py -t https://192.168.1.100 --proxy http://127.0.0.1:8080
Вывод: В случае успеха скрипт отобразит:
[+] Webshell deployed at: https://192.168.1.100/webshell.php
[+] Send commands via User-Agent header, e.g., `curl -A "whoami" https://192.168.1.100/webshell.php`
CVE-2025-25257 — это серьезная, легко эксплуатируемая уязвимость в FortiWeb, позволяющая неаутентифицированным злоумышленникам получить полный контроль над системой. Немедленное обновление патча критически важно, и организациям следует отслеживать признаки эксплуатации.
Визуальные материалы: Диаграмма Mermaid выше отображается нативно на GitHub. Статический файл exploit_workflow.svg (включен в репозиторий) предоставляет тот же рабочий процесс для просмотра офлайн или в презентациях с использованием масштабируемой векторной графики для высококачественного отображения.