
PoC - Beliebiges Dateischreiben in Gibbon LMS für RCE (CVE-2023-45878)
Beliebiges Dateischreiben in Gibbon LMS für RCE (CVE-2023-45878)
GibbonEdu Gibbon LMS Version 25.0.1 und früher ermöglicht beliebiges Dateischreiben, da rubrics_visualise_saveAjax.php keine Authentifizierung erfordert. Der Endpunkt akzeptiert die Parameter img, path und gibbonPersonID. Der Parameter img wird als base64-kodiertes Bild erwartet. Wenn der Parameter path gesetzt ist, wird der angegebene Pfad als Zielordner verwendet, verkettet mit dem absoluten Pfad des Installationsverzeichnisses. Der Inhalt des Parameters img wird base64-dekodiert und in den angegebenen Dateipfad geschrieben. Dies ermöglicht die Erstellung von PHP-Dateien, die eine Remote Code Execution (nicht authentifiziert) erlauben.
Dieses Skript bietet eine Pseudo-interaktive Shell. Eine einzelne PHP-Datei wird auf das entfernte System hochgeladen, und das lokale Skript stellt einen Wrapper bereit, um direkt damit zu interagieren. Wenn ein Befehl gesendet wird, gibt es die HTTP-Antwort des PHP-Payloads zurück. Falls die Payload-Datei vom entfernten System entfernt wird, erkennt das Skript eine 404-Fehlerseitenantwort und führt einen erneuten Upload durch und sendet den letzten Befehl erneut.
python3 gibbonlms_cmd_shell.py url
python3 gibbonlms_cmd_shell.py http://example.com
Dieses Skript wird nur zu Bildungszwecken bereitgestellt. Bitte pwnen Sie verantwortungsbewusst.