CVE-2021-46075
Exploit-Titel: Vehicle Service Management System - 'Multiple' Privilege Escalation führt zu CRUD-Operationen
CVE: CVE-2021-46075
CVSS: 7.2 HIGH
Referenzen:
Beschreibung:
Eine Privilege-Escalation-Sicherheitslücke besteht im Sourcecodester Vehicle Service Management System 1.0. Mitarbeiterkontobenutzer können auf die Admin-Ressourcen zugreifen und CRUD-Operationen durchführen.
1. Vehicle Service Management System - 'Benutzerliste' (/admin/?page=user/list) (/admin/?page=user/manage_user)
Ausnutzung:
- Rufen Sie das Admin-Panel auf: http://localhost/vehicle_service/admin
- Melden Sie sich mit dem Admin-Konto in Browser A (Chrome) an.
- Melden Sie sich mit dem Mitarbeiterkonto in Browser B (Firefox) an.
- Navigieren Sie im Admin-Konto (Chrome) zum Bereich Benutzerliste und klicken Sie auf die Schaltfläche „Create New“.
- Kopieren Sie den Link zum Erstellen eines neuen Benutzers: http://localhost/vehicle_service/admin/?page=user/manage_user
- Im Mitarbeiterkonto (Firefox) gibt es keinen Bereich Benutzerliste, da das Mitarbeiterkonto keine Rechte zum Erstellen eines Benutzers hat.
- Fügen Sie den kopierten Link in Browser B (Firefox) ein.
- Jetzt können wir auf die Seite zum Erstellen eines Benutzers zugreifen.
- Geben Sie die erforderlichen Details ein und klicken Sie auf die Schaltfläche „Save“.
- Navigieren Sie im Admin-Konto (Chrome) zum Bereich Benutzerliste: http://localhost/vehicle_service/admin/?page=user/list
- Der neue Benutzer wurde erfolgreich erstellt.
- Das Mitarbeiterkonto kann auf die Seite der Benutzerliste und die Seite zum Erstellen eines Benutzers zugreifen.
- Das Mitarbeiterkonto kann Benutzer erstellen, lesen, aktualisieren und löschen.
2. Vehicle Service Management System - 'Kategorie-Liste' (/admin/?page=maintenance/category) (/admin/?page=maintenance/manage_category)
Ausnutzung:
- Rufen Sie das Admin-Panel auf: http://localhost/vehicle_service/admin
- Melden Sie sich mit dem Admin-Konto in Browser A (Chrome) an.
- Melden Sie sich mit dem Mitarbeiterkonto in Browser B (Firefox) an.
- Navigieren Sie im Admin-Konto (Chrome) zum Bereich Kategorie-Liste und klicken Sie auf die Schaltfläche „Create New“.
- Kopieren Sie den Link zum Erstellen einer neuen Kategorie: http://localhost/vehicle_service/admin/?page=maintenance/manage_category
- Im Mitarbeiterkonto (Firefox) gibt es keinen Bereich Kategorie-Liste, da das Mitarbeiterkonto keine Rechte zum Erstellen einer Kategorie hat.
- Fügen Sie den kopierten Link in Browser B (Firefox) ein.
- Jetzt können wir auf die Seite zum Erstellen einer Kategorie zugreifen.
- Geben Sie die erforderlichen Details ein und klicken Sie auf die Schaltfläche „Save“.
- Navigieren Sie im Admin-Konto (Chrome) zum Bereich Kategorie-Liste: http://localhost/vehicle_service/admin/?page=maintenance/category
- Die neue Kategorie wurde erfolgreich erstellt.
- Das Mitarbeiterkonto kann auf die Seite der Kategorie-Liste und die Seite zum Erstellen einer Kategorie zugreifen.
- Das Mitarbeiterkonto kann Kategorien erstellen, lesen, aktualisieren und löschen.
3. Vehicle Service Management System - 'Service-Liste' (/admin/?page=maintenance/services) (/admin/?page=maintenance/manage_service)
Ausnutzung:
- Rufen Sie das Admin-Panel auf: http://localhost/vehicle_service/admin
- Melden Sie sich mit dem Admin-Konto in Browser A (Chrome) an.
- Melden Sie sich mit dem Mitarbeiterkonto in Browser B (Firefox) an.
- Navigieren Sie im Admin-Konto (Chrome) zum Bereich Service-Liste und klicken Sie auf die Schaltfläche „Create New“.
- Kopieren Sie den Link zum Erstellen eines neuen Service: http://localhost/vehicle_service/admin/?page=maintenance/manage_service
- Im Mitarbeiterkonto (Firefox) gibt es keinen Bereich Service-Liste, da das Mitarbeiterkonto keine Rechte zum Erstellen eines Service hat.
- Fügen Sie den kopierten Link in Browser B (Firefox) ein.
- Jetzt können wir auf die Seite zum Erstellen eines Service zugreifen.
- Geben Sie die erforderlichen Details ein und klicken Sie auf die Schaltfläche „Save“.
- Navigieren Sie im Admin-Konto (Chrome) zum Bereich Service-Liste: http://localhost/vehicle_service/admin/?page=maintenance/services
- Der neue Serive wurde erfolgreich erstellt.
- Das Mitarbeiterkonto kann auf die Seite der Service-Liste und die Seite zum Erstellen eines Service zugreifen.
- Das Mitarbeiterkonto kann Services erstellen, lesen, aktualisieren und löschen.
4. Vehicle Service Management System - 'Einstellungen' (/admin/?page=system_info)
Ausnutzung:
- Rufen Sie das Admin-Panel auf: http://localhost/vehicle_service/admin
- Melden Sie sich mit dem Admin-Konto in Browser A (Chrome) an.
- Melden Sie sich mit dem Mitarbeiterkonto in Browser B (Firefox) an.
- Navigieren Sie im Admin-Konto (Chrome) zum Bereich Einstellungen.
- Kopieren Sie den Link des Bereichs Einstellungen: http://localhost/vehicle_service/admin/?page=system_info
- Im Mitarbeiterkonto (Firefox) gibt es keinen Bereich Einstellungen, da das Mitarbeiterkonto keine Rechte zum Zugriff auf die Einstellungen hat.
- Fügen Sie den kopierten Link in Browser B (Firefox) ein.
- Jetzt können wir auf die Seite der Einstellungen zugreifen.
- Geben Sie die erforderlichen Details ein und klicken Sie auf die Schaltfläche „Save“.
- Navigieren Sie im Admin-Konto (Chrome) zum Bereich Einstellungen: http://localhost/vehicle_service/admin/?page=system_info
- Die Details wurden erfolgreich aktualisiert.
- Das Mitarbeiterkonto kann auf die Seite der Einstellungen zugreifen.
- Das Mitarbeiterkonto kann die Einstellungen aktualisieren.
Auswirkung:
Ein entfernter Angreifer erhält erweiterten Zugriff auf Ressourcen, die normalerweise nicht verfügbar sein sollten. Mitarbeiterkontobenutzer können auf die Admin-Ressourcen zugreifen und CRUD-Operationen durchführen.
Abhilfe:
Es wird empfohlen, Folgendes zu implementieren:
- Ordnungsgemäße Verwaltung von Privilegienkonten
- Überwachen und Verwalten aller privilegierten Sitzungen
- Starke Passwortrichtlinien und deren Durchsetzung
- Bereinigen von Benutzereingaben und Sichern der Datenbanken