Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2023-32692-CodeIgniter4 — Beispielanwendung, anfällig für CVE-2023-32692 (Validierungsregel-Injektion im PHP-Framework CodeIgniter) | Kitploit
Tools/GitHubGitHub/mogwailabs/cve-2023-32692-codeigniter4
SchwachstellenanalyseCode-AnalyseWebanwendungs-ExploitationPenetrationstestsLernen & BildungLabs & Praxis
GitHubmogwailabs/cve-2023-32692-codeigniter4

CVE-2023-32692-CodeIgniter4

Beispielanwendung, anfällig für CVE-2023-32692 (Validierungsregel-Injektion im PHP-Framework CodeIgniter)

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
2vor 3 MonatenNoch nicht geprüft

CVE-2023-32692 — CodeIgniter 4 Validierungsregel-Injection

CVE-2023-32692 ist eine Code-Injection-Schwachstelle im CodeIgniter 4 PHP-Framework, die die Versionen 4.0.0 bis 4.3.4 betrifft. Behoben wurde sie in 4.3.5 (veröffentlicht im Juni 2023). Dies ist eine Demo-Umgebung für alle, die damit herumspielen möchten.

Weitere Details zur Schwachstelle finden sich im MOGWAI LABS Blog.

PoC-Umgebung

Dieses Repository enthält eine minimale CodeIgniter-4-Anwendung, die die Schwachstelle demonstriert. Es wird eine Dev Container-Konfiguration mitgeliefert, sodass du sie direkt aus VS Code (oder einem beliebigen kompatiblen Editor) starten kannst, ohne dass eine lokale PHP-Installation erforderlich ist.

Der zugrunde liegende Docker-Container verwendet PHP 8.3 und installiert die XDebug-Erweiterung, um Debugging zu ermöglichen. Zusätzliche PHP-Module, die das CodeIgniter-Framework benötigt, werden als lokale „Devcontainer-Features“ installiert, hauptsächlich weil ich diese Funktion ausprobieren wollte.

Die folgenden VS-Code-Erweiterungen sind enthalten (alle im Container installiert, nicht in deiner VS-Code-Instanz):

ErweiterungZweck
xdebug.php-debugPHP-XDebug-Unterstützung — Schritt-für-Schritt durch den verwundbaren Codepfad
bmewburn.vscode-intelephense-clientPHP Intelephense für die Codenavigation
humao.rest-clientHTTP-Client zum Ausführen der enthaltenen Anforderungsvorlagen

Installation

  1. Öffne das Repository in VS Code und öffne es erneut im Dev Container, wenn du dazu aufgefordert wirst (Docker erforderlich). Das kann eine Weile dauern.
  2. Erforderliche Pakete werden beim Erstellen des Containers automatisch über composer installiert, hier ist kein Eingriff nötig.
  3. Kopiere die Umgebungsvorlage:
root@kitploit:~
cp env .env

Starten der Beispielanwendung

Der Dev Container enthält Apache, aber der in PHP integrierte Entwicklungsserver ist für diesen PoC ausreichend. Öffne ein Terminal in VS Code und führe Folgendes aus:

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

Die Anwendung ist unter http://localhost:8080 erreichbar. Du kannst sie außerhalb des Containers mit deinem normalen Webbrowser aufrufen.


Debuggen mit XDebug

Die Datei .vscode/launch.json konfiguriert XDebug so, dass es auf TCP-Port 9003 lauscht (ebenfalls im Dockerfile des Dev Containers festgelegt):

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

Starte den Debug-Listener bevor du den PHP-Entwicklungsserver startest: Klicke in der VS-Code-Seitenleiste auf das Symbol „Run and Debug“ und drücke die Play-Taste neben „Listen for Xdebug“.

Debuggen der Anwendung im Dev Container


Verwundbarer Code

Der verwundbare Endpunkt ist in app/Controllers/Poc.php implementiert. Er stellt zwei Routen bereit:

RouteBeschreibung
POST /poc/updateVerwundbarer Endpunkt — verwendet stringbasierte Validierungsregeln
POST /poc/updateSafeSicherer Endpunkt — verwendet arraybasierte Validierungsregeln

Setze einen Haltepunkt in Poc::update() und verfolge, wie der Platzhalter {id} innerhalb der CodeIgniter-Validierungsengine zur Regelzeichenfolge erweitert wird. Der relevante Framework-Code befindet sich in vendor/codeigniter4/framework/system/Validation/Validation.php.


HTTP-Anforderungsvorlagen

Der Ordner http_requests/ enthält einsatzbereite Vorlagen für die VS-Code-REST-Client-Erweiterung:

DateiBeschreibung

Öffne eine beliebige .http-Datei und klicke über dem Anforderungsblock auf Send Request, um sie auszuführen.

Tool herunterladen
reqular_request.http
Legitime Standardanfrage — keine Injektion, Validierung läuft normal durch
basic_poc.httpInjiziert zusätzliche Validierungsregeln über den Parameter id
system_call.httpNutzt die Injektion aus, um system() aufzurufen und einen OS-Befehl auszuführen (touch /tmp/pwn)