Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2023-32692-CodeIgniter4 — Aplicación de ejemplo, vulnerable a CVE-2023-32692 (Inyección de reglas de validación en el framework PHP CodeIgniter) | Kitploit
Herramientas/GitHubGitHub/mogwailabs/cve-2023-32692-codeigniter4
Análisis de VulnerabilidadesAnálisis de CódigoExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónLabs y Práctica
GitHubmogwailabs/cve-2023-32692-codeigniter4

CVE-2023-32692-CodeIgniter4

Aplicación de ejemplo, vulnerable a CVE-2023-32692 (Inyección de reglas de validación en el framework PHP CodeIgniter)

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio
2hace 3 mesesAún no revisado

CVE-2023-32692 — Inyección de reglas de validación en CodeIgniter 4

CVE-2023-32692 es una vulnerabilidad de inyección de código en el framework PHP CodeIgniter 4, que afecta a las versiones 4.0.0 a 4.3.4. Se corrigió en 4.3.5 (publicada en junio de 2023). Este es un entorno de demostración para cualquiera que quiera experimentar con ella.

Los detalles de la vulnerabilidad se pueden encontrar en el blog de MOGWAI LABS.

Entorno PoC

Este repositorio contiene una aplicación mínima de CodeIgniter 4 que demuestra la vulnerabilidad. Incluye una configuración de Dev Container para que puedas ponerla en marcha directamente desde VS Code (o cualquier editor compatible) sin necesidad de una instalación local de PHP.

El contenedor Docker subyacente usa PHP 8.3 e instala la extensión XDebug para permitir la depuración. Los módulos PHP adicionales requeridos por el framework CodeIgniter se instalan como "Devcontainer features" locales, básicamente porque quería probar esa funcionalidad.

Se incluyen las siguientes extensiones de VS Code (todas instaladas dentro del contenedor, no en tu instancia de VS Code):

ExtensionPurpose
xdebug.php-debugSoporte PHP XDebug: recorre paso a paso la ruta de código vulnerable
bmewburn.vscode-intelephense-clientPHP Intelephense para navegación de código
humao.rest-clientCliente HTTP para ejecutar las plantillas de solicitud incluidas

Instalación

  1. Abre el repositorio en VS Code y vuelve a abrirlo en el Dev Container cuando se te solicite (requiere Docker). Este proceso puede tardar un poco.
  2. Los paquetes requeridos se instalan automáticamente mediante composer cuando se construye el contenedor; no necesitas hacer nada aquí.
  3. Copia la plantilla de entorno:
root@kitploit:~
cp env .env

Iniciando la Aplicación de Ejemplo

El Dev Container incluye Apache, pero el servidor de desarrollo integrado de PHP es suficiente para este PoC. Abre una terminal dentro de VS Code y ejecuta:

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

La aplicación estará disponible en http://localhost:8080. Puedes acceder a ella desde fuera del contenedor con tu navegador web habitual.


Depuración con XDebug

El archivo .vscode/launch.json configura XDebug para escuchar en el puerto TCP 9003 (también definido en el Dockerfile del Dev Container):

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

Inicia el listener de depuración antes de iniciar el servidor de desarrollo de PHP: haz clic en el icono "Run and Debug" de la barra lateral de VS Code y pulsa el botón de reproducción junto a "Listen for Xdebug".

Depurando la aplicación dentro del Dev Container


Código Vulnerable

El endpoint vulnerable está implementado en app/Controllers/Poc.php. Expone dos rutas:

RouteDescription
POST /poc/updateEndpoint vulnerable — usa reglas de validación basadas en cadenas
POST /poc/updateSafeEndpoint seguro — usa reglas de validación basadas en arrays

Establece un punto de interrupción en Poc::update() y rastrea cómo el marcador de posición {id} se expande dentro de la cadena de reglas en el motor de validación de CodeIgniter. El código relevante del framework está en vendor/codeigniter4/framework/system/Validation/Validation.php.


Plantillas de Solicitudes HTTP

La carpeta http_requests/ contiene plantillas listas para usar para la extensión REST Client de VS Code:

FileDescription

Abre cualquier archivo .http y haz clic en Send Request sobre el bloque de solicitud para ejecutarlo.

Descargar herramienta
reqular_request.http
Solicitud legítima de referencia — sin inyección, la validación pasa con normalidad
basic_poc.httpInyecta reglas de validación adicionales a través del parámetro id
system_call.httpExplota la inyección para llamar a system() y ejecutar un comando del sistema (touch /tmp/pwn)