Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2023-32692-CodeIgniter4 — Aplicação de exemplo, vulnerável a CVE-2023-32692 (Injeção de Regras de Validação no Framework PHP CodeIgniter) | Kitploit
Ferramentas/GitHubGitHub/mogwailabs/cve-2023-32692-codeigniter4
Análise de VulnerabilidadesAnálise de CódigoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoLabs e Prática
GitHubmogwailabs/cve-2023-32692-codeigniter4

CVE-2023-32692-CodeIgniter4

Aplicação de exemplo, vulnerável a CVE-2023-32692 (Injeção de Regras de Validação no Framework PHP CodeIgniter)

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver Repositório
2há 3 mesesAinda não revisado

CVE-2023-32692 — Injeção de Regra de Validação no CodeIgniter 4

CVE-2023-32692 é uma vulnerabilidade de injeção de código no framework PHP CodeIgniter 4, afetando as versões 4.0.0 até 4.3.4. Foi corrigida na versão 4.3.5 (lançada em junho de 2023). Este é um ambiente de demonstração para quem quiser experimentar.

Detalhes da vulnerabilidade podem ser encontrados no blog da MOGWAI LABS.

Ambiente de Prova de Conceito (PoC)

Este repositório contém uma aplicação mínima do CodeIgniter 4 que demonstra a vulnerabilidade. Ele vem com uma configuração de Dev Container para que você possa iniciá-lo diretamente do VS Code (ou qualquer editor compatível) sem a necessidade de instalação local do PHP.

O contêiner Docker subjacente usa PHP 8.3 e instala a extensão XDebug para permitir depuração. Módulos PHP adicionais, necessários pelo framework CodeIgniter, são instalados como 'recursos do Devcontainer' locais, basicamente porque eu queria testar esse recurso.

As seguintes extensões do VS Code estão incluídas (todas instaladas dentro do contêiner, não na sua instância do VS Code):

ExtensionPurpose
xdebug.php-debugSuporte ao PHP XDebug — percorrer o caminho do código vulnerável
bmewburn.vscode-intelephense-clientPHP Intelephense para navegação de código
humao.rest-clientCliente HTTP para executar os modelos de requisição incluídos

Instalação

  1. Abra o repositório no VS Code e reabra-o no Dev Container quando solicitado (requer Docker). Isso pode demorar um pouco.
  2. Os pacotes necessários são instalados automaticamente via composer quando o contêiner é construído, não é necessário fazer nada aqui.
  3. Copie o template de ambiente:
root@kitploit:~
cp env .env

Iniciando a Aplicação de Exemplo

O Dev Container inclui Apache, mas o servidor de desenvolvimento embutido do PHP é suficiente para esta PoC. Abra um terminal dentro do VS Code e execute:

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

A aplicação estará disponível em http://localhost:8080. Você pode acessá-la fora do contêiner, usando seu navegador web normal.


Depuração com XDebug

O arquivo .vscode/launch.json configura o XDebug para escutar na porta TCP 9003 (também definida no Dockerfile do Dev Container):

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

Inicie o listener de depuração antes de iniciar o servidor de desenvolvimento PHP: clique no ícone "Executar e Depurar" na barra lateral do VS Code e pressione o botão de play ao lado de "Listen for Xdebug".

Depurando a aplicação dentro do Dev Container


Código Vulnerável

O endpoint vulnerável está implementado em app/Controllers/Poc.php. Ele expõe duas rotas:

RouteDescription
POST /poc/updateEndpoint vulnerável — usa regras de validação baseadas em string
POST /poc/updateSafeEndpoint seguro — usa regras de validação baseadas em array

Defina um ponto de interrupção em Poc::update() e trace como o placeholder {id} é expandido na string de regra dentro do motor de validação do CodeIgniter. O código relevante do framework está em vendor/codeigniter4/framework/system/Validation/Validation.php.


Modelos de Requisição HTTP

A pasta http_requests/ contém modelos prontos para uso da extensão REST Client do VS Code:

FileDescription
reqular_request.http

Abra qualquer arquivo .http e clique em Enviar Requisição acima do bloco de requisição para executá-lo.


Baixar ferramenta
Requisição legítima de base — sem injeção, validação passa normalmente
basic_poc.httpInjeta regras de validação adicionais via o parâmetro id
system_call.httpExplora a injeção para chamar system() e executar um comando do SO (touch /tmp/pwn)