Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!
CVE-2023-7173 — Proof-of-Concept für CVE-2023-7173, eine gespeicherte XSS im Hospital Management System 1.0, mit Docker-Setup und Reproduktionsschritten. | Kitploit
Verwundbare Version: Hospital Management System 1.0
Beschreibung der Schwachstelle
Stored Cross-Site Scripting (XSS) ist eine schwerwiegende Webschwachstelle, die es ermöglicht, bösartigen Code in eine Website einzuschleusen, in der Datenbank zu speichern und später auszuführen, wenn andere Benutzer die infizierte Seite aufrufen. In diesem speziellen Fall befindet sich die Schwachstelle auf der Benutzer-Login-Seite eines Krankenhausverwaltungssystems (HMS), wobei der Parameter „Fullname" anfällig für Stored-XSS-Angriffe ist. Das Fehlen einer ordnungsgemäßen Eingabevalidierung und Datenbereinigung ermöglicht es einem Angreifer, bösartige Skripte einzuschleusen, die möglicherweise Benutzerkonten gefährden, vertrauliche Informationen stehlen oder unbefugte Aktionen ausführen.
Schritte zur Reproduktion (PoC)
Repository klonen:
root@kitploit:~
git clone https://github.com/sharathc213/CVE-2023-7172.git
cd CVE-2023-7172
Docker Compose ausführen:
root@kitploit:~
docker-compose up -d
Auf das Benutzerregistrierungsformular zugreifen:
Öffnen Sie einen Webbrowser und navigieren Sie zum Benutzerregistrierungsformular unter http://localhost:8080/hms/registration.php
Das Registrierungsformular ausfüllen:
Geben Sie die folgende Payload in das Feld „Fullname" ein:
Füllen Sie die anderen Pflichtfelder mit gültigen Informationen aus.
Das Registrierungsformular absenden:
Klicken Sie auf die Schaltfläche „Submit", um die Registrierungsdaten an den Server zu senden.
Auf erfolgreiche Registrierung prüfen:
Sie erhalten eine Bestätigungsmeldung über die erfolgreiche Registrierung.
Mit der registrierten E-Mail-Adresse anmelden:
Navigieren Sie zur Login-Seite unter http://localhost:8080/hms/user-login.php.
Die registrierte E-Mail-Adresse eingeben:
Geben Sie im Anmeldeformular die für die Registrierung verwendete E-Mail-Adresse ein.
Anmelden:
Senden Sie das Anmeldeformular ab, indem Sie auf die Schaltfläche „Log In" klicken.
Beobachten der XSS-Payload:
Nach erfolgreicher Anmeldung sollte die XSS-Payload ein Alert-Fenster auslösen, das die Cookies des Benutzers anzeigt und damit das Vorhandensein der Stored-XSS-Schwachstelle bestätigt.
Auswirkungen von Stored XSS in einem Krankenhausverwaltungssystem
Eine Stored-XSS-Schwachstelle in einem Krankenhausverwaltungssystem kann schwerwiegende Folgen haben, darunter:
Offenlegung von Patientendaten:
Möglicher Diebstahl sensibler Patientendaten für Identitätsdiebstahl oder Betrug.
Risiken für die Patientensicherheit:
Unbefugte Änderungen an Patientenakten könnten die Patientensicherheit gefährden.
Unbefugte Aktionen:
Ein Angreifer könnte Aktionen im Namen von Benutzern ausführen, was zu unbefugtem Zugriff und potenziellem Missbrauch führt.
Vertrauensverlust:
Schädigung des Rufs der Gesundheitseinrichtung aufgrund von gebrochenem Vertrauen.
Nichteinhaltung gesetzlicher Vorschriften:
Verstoß gegen Datenschutzbestimmungen, was zu Geldstrafen und rechtlichen Konsequenzen führt.
Störung von Gesundheitsdiensten:
Mögliche Unterbrechungen der Patientenversorgung, Verschreibungsfehler oder Fehldiagnosen mit schwerwiegenden gesundheitlichen Auswirkungen.
Rechtliche und ethische Implikationen:
Rechtliche Haftung für verursachte Schäden sowie ethische Bedenken hinsichtlich der Privatsphäre der Patienten.
Finanzielle Konsequenzen:
Kosten im Zusammenhang mit der Behebung des Verstoßes, einschließlich Untersuchungen, System-Upgrades und Anwaltskosten.
Empfehlungen zur Schadensbegrenzung
Um diese Schwachstelle zu beheben, implementieren Sie die folgenden Maßnahmen zur Schadensbegrenzung:
Eingabevalidierung und Datenbereinigung:
Implementieren Sie strenge Eingabevalidierungs- und Datenbereinigungsroutinen, um sicherzustellen, dass benutzergenerierte Inhalte frei von bösartigem Code sind. Dies umfasst die Validierung von Daten sowohl auf Client- als auch auf Serverseite.
Haftungsausschluss
Dieses Projekt ist absichtlich verwundbar und sollte nur für Bildungs- und Testzwecke verwendet werden. Stellen Sie dies nicht in einer Produktionsumgebung bereit.