Umgehung von authentifizeirung für Video zugriff
Der freundlichen Hinweis von Nils ging der per mail an video@
Die Zugriffskontrolle für Videodateien ist leicht umgehbar, d.h. alle Videos sind ohne Authentifizierung zugänglich.
Das Problem liegt an fehlerhaften URL-Decoding bei Aufruf von /internal/auth durch nginx. Gewollt war, dass für Thumbnails keine Zugriffsberechtigung erforderlich ist, jedoch wird nur geprüft ob die URL auf "jpg" endet, was nicht notwendigerweise dem (Datei-)Pfad entspricht.Daher wird z.B. https://rwth.video/files/pub/anleitung/anleitung-aufbau-grundlagen-720p.mp4 korrekt abgelehnt,
jedoch https://rwth.video/files/pub/anleitung/anleitung-aufbau-grundlagen-720p.mp4?jpg zeigt das entsprechende Video auch ohne Berechtigung.
Möglicher Fix:
entweder: die url vor urllib.parse.unquote
bei "?" splitten und alles vor dem ersten "?" nehmen (query interessiert an der Stelle ja niemanden)
oder: urlparse
statt unquote
nutzen um an den pfad zu kommen, danach kann man immer noch unquote
nehmen um zeichen zu dekodieren.