
PoC für CVE-2025-56399 - Unbeschränkter Datei-Upload, der zu RCE in alexusmai/laravel-file-manager (≤3.3.1) führt. Automatisiert Erkennung, CSRF-Extraktion und Datei-Upload.
CWE-434: Uneingeschränkter Upload von Dateien mit gefährlichem Typ
CVSS-Score: 8.5 (Hoch)
Dieses Tool bietet einen Proof of Concept (PoC) für CVE-2025-56399, eine kritische Schwachstelle in alexusmai/laravel-file-manager (Versionen ≤ 3.3.1).
Die Schwachstelle ermöglicht es einem authentifizierten Angreifer, eine Remote Code Execution (RCE) zu erreichen, indem er eine präparierte Datei hochlädt, die clientseitige Validierung umgeht und sie in eine PHP-Erweiterung umbenennt.
Dieses Skript automatisiert den gesamten Prozess:
| Attribut | Wert |
|---|---|
| Schwachstellentyp | Uneingeschränkter Datei-Upload → RCE |
| CWE | CWE-434 |
| CVSS-Score | 8.5 (Hoch) |
| Angriffsvektor | Netzwerk |
| Angriffskomplexität | Niedrig |
| Erforderliche Berechtigungen | Niedrig (Authentifiziert) |
| Benutzerinteraktion | Aktiv |
/file-manager).png-Datei mit PHP-Code hochladen.php zu änderngit clone https://github.com/Jenderal92/laravel-filemanager-unrestricted-upload.git
cd laravel-filemanager-unrestricted-upload
pip install -r requirements.txt
Anforderungen
· Python 2.7 · requests · colorama
📖 Verwendung
python2 lfm.py list.txt
Eingabeformat (list.txt)
https://target1.com
https://target2.com
http://target3.com
Ausgabe
· valid.txt – Liste der validierten Shell-URLs (hänge ?shinday=1 an, um darauf zuzugreifen)
Beispielausgabe:
https://target.com/storage/shxt_123456.php?shinday=1
🧪 Wie der Exploit funktioniert
/file-manager/initialize auf, um die Datenträgerkonfiguration abzurufen..htaccess hoch (zur Umgehung von Einschränkungen) und dann die Payload (shxt_<timestamp>.php) mit einem GIF-MIME-Typ.?shinday=1 die Zeichenfolge Shinday zurückgibt; falls ja, ist die Shell gültig und wird in valid.txt gespeichert.📂 Payload-Details
Die hochgeladene PHP-Datei ist eine einzeilige Web-Shell, die:
· Systeminformationen anzeigt (php_uname)
· Ein Datei-Upload-Formular bereitstellt (zum Hinzufügen weiterer Tools)
· Auf den Parameter ?shinday=1 mit der vollständigen Shell-Oberfläche antwortet
· Ansonsten ein gültiges GIF89a-Bild ausgibt, um der Erkennung zu entgehen
Greifen Sie über Folgendes auf die Shell zu:
https://target.com/path/to/shxt_123456.php?shinday=1
🛡️ Gegenmaßnahmen
Um sich vor dieser Schwachstelle zu schützen:
alexusmai/laravel-file-manager durch eine Alternative zu ersetzen.Route::group(['middleware' => ['auth', 'admin']], function () {
// File Manager routes
});
composer remove alexusmai/laravel-file-manager
.htaccess-Datei im Speicherverzeichnis:
<FilesMatch "\.(php|phtml|php3|php4|php5|phar)$">
Deny from all
</FilesMatch>
📦 Betroffene Versionen
| Paket | Betroffene Versionen |
|---|---|
| alexusmai/laravel-file-manager | ≤ 3.3.1 |
🔗 Verweise
· CVE-2025-56399 - NVD · GitHub Advisory · Snyk Vulnerability Database · VulDB Entry · alexusmai/laravel-file-manager
📜 Haftungsausschluss
WARNUNG: Dieses Tool ist nur für Bildungszwecke und autorisierte Sicherheitstests vorgesehen. Durch die Nutzung stimmen Sie Folgendem zu:
· Nur Systeme testen, die Ihnen gehören oder für die Sie ausdrückliche Erlaubnis haben · Es nicht für böswillige Zwecke verwenden · Alle geltenden Gesetze einhalten
Der Autor übernimmt keine Haftung für Missbrauch oder verursachte Schäden.
Weitere Haftungsausschlüsse finden Sie auf dem Deckblatt von Jenderal92. Sie können es HIER !!! einsehen