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
Outils/GitHubGitHub/mogwailabs/cve-2023-32692-codeigniter4
Analyse des VulnérabilitésAnalyse de CodeExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationLabs et Pratique
GitHubmogwailabs/cve-2023-32692-codeigniter4

CVE-2023-32692-CodeIgniter4

Exemple d'application, vulnérable à CVE-2023-32692 (Injection de règles de validation dans le framework PHP CodeIgniter)

Voir le dépôt
21il y a 3 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

CVE-2023-32692 — Injection de règle de validation dans CodeIgniter 4

CVE-2023-32692 est une vulnérabilité d'injection de code dans le framework PHP CodeIgniter 4, affectant les versions 4.0.0 à 4.3.4. Elle a été corrigée dans la version 4.3.5 (publiée en juin 2023). Il s'agit d'un environnement de démonstration pour toute personne souhaitant l'expérimenter.

Les détails de la vulnérabilité sont disponibles sur le blog MOGWAI LABS.

Environnement du PoC

Ce dépôt contient une application CodeIgniter 4 minimale qui démontre la vulnérabilité. Il est livré avec une configuration de Dev Container afin que vous puissiez le lancer directement depuis VS Code (ou tout éditeur compatible) sans installation PHP locale requise.

Le conteneur Docker sous-jacent utilise PHP 8.3 et installe l'extension XDebug pour permettre le débogage. Les modules PHP supplémentaires requis par le framework CodeIgniter sont installés en tant que fonctionnalités locales de Devcontainer, essentiellement parce que je voulais tester cette fonctionnalité.

Les extensions VS Code suivantes sont incluses (toutes installées à l'intérieur du conteneur, pas dans votre instance VS Code) :

ExtensionObjectif
xdebug.php-debugSupport PHP XDebug — parcourez pas à pas le chemin de code vulnérable
bmewburn.vscode-intelephense-clientPHP Intelephense pour la navigation dans le code
humao.rest-clientClient HTTP pour exécuter les modèles de requêtes inclus

Installation

  1. Ouvrez le dépôt dans VS Code et rouvrez-le dans le Dev Container lorsque vous y êtes invité (nécessite Docker). Cela peut prendre un certain temps.
  2. Les paquets requis sont installés automatiquement via composer lors de la construction du conteneur, aucune action supplémentaire n'est nécessaire.
  3. Copiez le modèle d'environnement :
root@kitploit:~
cp env .env

Démarrage de l'Application Exemple

Le Dev Container inclut Apache, mais le serveur de développement intégré de PHP est suffisant pour ce PoC. Ouvrez un terminal dans VS Code et exécutez :

root@kitploit:~
./spark serve --host 0.0.0.0

L'application sera disponible à l'adresse http://localhost:8080. Vous pouvez y accéder depuis l'extérieur du conteneur, en utilisant votre navigateur web habituel.


Débogage avec XDebug

Le fichier .vscode/launch.json configure XDebug pour écouter sur le port TCP 9003 (également défini dans le Dockerfile du Dev Container) :

root@kitploit:~
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for Xdebug",
            "type": "php",
            "request": "launch",
            "port": 9003
        }
    ]
}

Démarrez l'écouteur de débogage avant de lancer le serveur de développement PHP : cliquez sur l'icône "Run and Debug" dans la barre latérale de VS Code et appuyez sur le bouton play à côté de "Listen for Xdebug".

Débogage de l'application à l'intérieur du conteneur Dev Container


Code Vulnérable

Le point d'accès vulnérable est implémenté dans app/Controllers/Poc.php. Il expose deux routes :

RouteDescription
POST /poc/updatePoint d'accès vulnérable — utilise des règles de validation basées sur des chaînes
POST /poc/updateSafePoint d'accès sûr — utilise des règles de validation basées sur des tableaux

Placez un point d'arrêt dans Poc::update() et tracez la façon dont le marqueur {id} est développé dans la chaîne de règle à l'intérieur du moteur de validation CodeIgniter. Le code pertinent du framework se trouve dans vendor/codeigniter4/framework/system/Validation/Validation.php.


Modèles de Requêtes HTTP

Le dossier http_requests/ contient des modèles prêts à l'emploi pour l'extension REST Client de VS Code :

FichierDescription
reqular_request.httpRequête légitime de base — pas d'injection, validation passe normalement
basic_poc.httpInjecte des règles de validation supplémentaires via le paramètre id
system_call.httpExploite l'injection pour appeler system() et exécuter une commande OS (touch /tmp/pwn)

Ouvrez n'importe quel fichier .http et cliquez sur Send Request au-dessus du bloc de requête pour l'exécuter.

Télécharger l’outil