Skip to main content
idego
Cybersicherheit

Sicherheitslücken beim Datei-Upload

Von Idego Group

Sicherheitslücken beim Datei-Upload

Das Hochladen von Dateien ist eine häufige Funktion von Webanwendungen. Viele Entwickler glauben jedoch fälschlicherweise, dass die Aufgabe abgeschlossen ist, sobald eine Datei erfolgreich den Server erreicht. Dieses Versäumnis schafft Sicherheitslücken, die Bedrohungsakteure ausnutzen. Echte Vollständigkeit erfordert zwei Bedingungen: Der Upload ist erfolgreich UND findet sicher statt.

Erweiterungsbasierte Umgehungen

Entwickler validieren Dateitypen häufig durch Erweiterungsprüfung mittels Whitelists oder Blacklists. Diese Ansätze haben jedoch Schwachstellen. Groß-/Kleinschreibungssensitive Regex-Muster ermöglichen Uploads wie shell.pHp, um Einschränkungen zu umgehen. Unzureichend verankerte Muster erlauben Dateien wie shell.php.jpg. Die Kürzung von Dateinamen kann dazu führen, dass eine Datei auf .php statt .jpg endet.

Null-Byte-Injektion

Das Umbenennen von Dateien als shell.php%00.jpg nutzt aus, wie bestimmte Sprachen Null-Bytes als Terminatoren behandeln, und ermöglicht die PHP-Ausführung trotz scheinbarer Endung auf .jpg.

SVG- und XML-Bedrohungen

SVG-Dateien sind XML-Daten, die für gespeicherte Cross-Site-Scripting-Angriffe anfällig sind. In SVG-Dateien eingebettetes bösartiges JavaScript wird ausgeführt, wenn Benutzer sie herunterladen.

Verzeichnisdurchquerung

Dateinamen wie ../../../etc/passwd können kritische Serverdateien überschreiben. Die Abhilfe erfordert die Verwendung zufällig generierter Dateinamen, wobei die Originalnamen separat als Metadaten gespeichert werden.

Denial of Service

Gleichzeitige Uploads großer Dateien erschöpfen Serverressourcen oder Festplattenspeicher. Die Dateigrößenvalidierung bietet wesentlichen Schutz.

Content-Type-Spoofing

Der Content-Type-Header lässt sich durch Abfangtools leicht manipulieren. Die Serverinterpretation stützt sich auf den tatsächlichen Dateiinhalt, nicht auf Header.

Magic-Number-Umgehung

Angreifer stellen gültigen Dateisignaturen wie GIF89a bösartigen Dateien voran, um Magic-Number-Validierungssysteme zu täuschen.

Befehlsinjektion

Wenn Dateinamen an Systembinärdateien übergeben werden, ermöglichen Namen wie file;whoami;pwd.jpg die Befehlsausführung. Zufällige Dateinamen eliminieren dieses Risiko.

Sicherheitsempfehlungen

Entwickler sollten Benutzereingaben grundsätzlich nicht vertrauen. Die Implementierung spezialisierter Validierungssoftware, die Pflege aktualisierter Abhängigkeiten und die Bewertung mehrerer Validierungsfaktoren stärken die Abwehrmaßnahmen.

Verwandte Artikel