Sichere Datei-Upload-Architektur: Worauf zu achten ist
23. September 2026
Datei-Upload ist eine unverzichtbare Funktion vieler Webanwendungen: Profilfoto, Dokument, Anhang. Doch weil Upload einem Angreifer erlaubt, selbst gewählten Inhalt auf Ihren Server zu legen, öffnet er bei unsorgfältigem Design ernste Risiken — von Codeausführung auf dem Server bis zu Speicher- und Verteilungsmissbrauch. Dieser Artikel behandelt die Bausteine einer sicheren Upload-Architektur.
Risiken
- Codeausführung auf dem Server: eine hochgeladene Skriptdatei (z. B.
.php), die im Web-Root an einem ausführbaren Ort landet, erlaubt dem Angreifer, sie per Browser aufzurufen und Code auszuführen. - Falsches Ausliefern des Inhaltstyps: eine schädliche HTML/SVG, die als browserausgeführtes Skript ausgeliefert wird (ähnlich Stored XSS), betrifft andere Nutzer.
- Speicher- und Ressourcenmissbrauch: sehr große oder zahlreiche Dateien können Platte und Bandbreite erschöpfen.
- Pfadmanipulation: Sequenzen wie
../im Dateinamen können die Datei an einen unerwarteten Ort schreiben.
Bausteine einer sicheren Architektur
- Dateien AUSSERHALB des Web-Roots speichern oder in Objektspeicher. Hochgeladener Inhalt darf nicht in einem direkt ausführbaren Pfad liegen.
- Den Dateinamen selbst erzeugen. Nicht den vom Nutzer gelieferten Namen verwenden; eine zufällige ID erzeugen und den Originalnamen nur als Metadatum behalten. Das verhindert Pfadmanipulation und Überschreiben.
- Den Inhaltstyp aus dem Inhalt validieren. Nicht der Endung oder dem vom Client gemeldeten MIME allein vertrauen; den echten Typ (Magic Bytes) gegen eine Allowlist prüfen.
- Beim Ausliefern sichere Header nutzen. Für Downloads
Content-Disposition: attachmentmit korrektemContent-Typeverhindert Ausführung;X-Content-Type-Options: nosniffergänzen. - Größen- und Ratenlimits setzen, um Ressourcenmissbrauch zu reduzieren.
- Bilder neu kodieren. Serverseitiges Neukodieren entfernt die meisten eingebetteten schädlichen Inhalte.
Zusammenfassung
Sicherer Datei-Upload beruht auf dem Prinzip “Nutzerinhalt nie als ausführbar behandeln.” Speichern Sie Dateien außerhalb des Web-Roots, erzeugen Sie den Namen selbst, validieren Sie den Typ aus dem Inhalt, liefern Sie mit sicheren Headern aus und setzen Sie Größen-/Ratenlimits. Zusammen verhindern diese Schichten, dass Upload zur Angriffstür wird.
Quellen: OWASP File Upload Cheat Sheet, CWE-434.
Ist Ihr Datei-Upload-Ablauf sicher gestaltet? Der External-Surface- und Active-Verification-Scan von CyberTestify bewertet erkannte Upload-Punkte.