Uneingeschränkter Datei-Upload in der Hotelbewertungsfunktion in QloApps Version 1.7.0 und früher ermöglicht nicht authentifizierten Angreifern Remote-Codeausführung.
🎯 Betroffener Endpunkt
/module/qlohotelreview/default
⚠️ Ursache
Die Schwachstelle existiert aufgrund von:
Fehlender Validierung der Dateierweiterung.
Hochgeladene Dateien werden direkt vom Server ausgeführt.
Keine Authentifizierungs- oder Autorisierungsprüfungen am Endpunkt.
Ein erfolgreicher Exploit erlaubt einem Angreifer:
Ausführen beliebiger Betriebssystembefehle.
Lesen/Schreiben/Löschen sensibler Serverdateien.
Zugriff auf Datenbank-Anmeldeinformationen.
Wechsel zu internen Netzwerkdiensten.
Vollständige Kompromittierung des Hosting-Servers.
Diese Schwachstelle führt zu einem vollständigen Verlust von Vertraulichkeit, Integrität und Verfügbarkeit (CIA-Triade).
🛠️ Proof of Concept (PoC) auf QloApps Version 1.7.0
Wir benötigen eine gültige id_order und ein Ajax-Token, um den anfälligen Endpunkt zu erreichen. Für die id_order führen wir manuell eine Brute-Force-Attacke durch, beginnend bei 1, oder wir erstellen ein Gastkonto und buchen ein Zimmer, um diese id_order zu erhalten. Das Ajax-Token können wir von jeder Hotelzimmerseite abrufen.
1. Ajax-Token abrufen
2. Ein Hotel bewerten und unsere präparierte Image+PHP-Webshell hochladen.