Blog

Entwickler meistern Sicherheit: Share & Learn-Serie – Unbeschränkte Datei-Uploads

January 10, 2019
Jaap Karan Singh

Das Problem der uneingeschränkten Datei-Uploads ist kein Angriff an sich, sondern ein häufiger Zustand, der Angreifern einen einfachen Zugang zu Anwendungen und Netzwerkressourcen ermöglicht. Man kann es sich wie das Herumlaufen in nasser Kleidung bei Kälte vorstellen. Das allein macht einen zwar nicht unbedingt krank, aber es schwächt die Widerstandskräfte so weit, dass jeder opportunistische Virus die Abwehrkräfte des Körpers leicht überwinden kann.

In der Cybersicherheit nutzen Angreifer Anwendungen oder Programme, die uneingeschränkte Datei-Uploads zulassen, oft blitzschnell aus. Die Folgen können verheerend sein. Geschickte Angreifer können ihren uneingeschränkten Zugriff nutzen, um schädliche Dateien hochzuladen, Skripte zum Diebstahl von Anmeldedaten einzurichten oder mithilfe der Berechtigungen der Anwendung tiefere Angriffe auf ein Netzwerk zu starten. Selbst ein weniger versierter Angreifer könnte diese Art von ungehindertem Zugriff nutzen, um Denial-of-Service-Angriffe durchzuführen oder eine Anwendung zum Absturz zu bringen.

Glücklicherweise gibt es eine ganze Reihe von Möglichkeiten, das Problem der uneingeschränkten Datei-Uploads zu bewältigen und potenzielle Angreifer in ihre Schranken zu weisen. Zu diesem Zweck werden wir drei Schlüsselaspekte von uneingeschränkten Datei-Uploads erörtern:

  • Wie sie funktionieren
  • Warum sie so gefährlich sind
  • Wie Sie Abwehrmaßnahmen ergreifen können, um sie zu stoppen.

Wie nutzen Angriffe uneingeschränkte Datei-Uploads aus?

Es gibt viele Gründe, warum Websites der Öffentlichkeit das Hochladen von Dateien ermöglichen möchten. Vielleicht sucht ein Unternehmen neue Mitarbeiter und möchte ihnen ermöglichen, ihre Lebensläufe im Rahmen des Bewerbungsprozesses hochzuladen. Banken ermutigen ihre Kunden möglicherweise dazu, wichtige Unterlagen zu Hause auszufüllen, etwa bei der Beantragung eines Kredits oder eines neuen Kontos. Tourismus- oder Social-Media-Seiten laden Nutzer möglicherweise dazu ein, ihre Fotos zum Teilen mit anderen hochzuladen.

Es gibt viele triftige Gründe, Datei-Uploads zu erlauben. Und standardmäßig erlauben die meisten neuen Anwendungen wahrscheinlich jede Art von Datei-Upload ohne Einschränkungen. Das Problem beginnt, wenn ein potenzieller Angreifer bemerkt, dass für diese Uploads keine Beschränkungen gelten.

Das Fehlen von Upload-Beschränkungen macht Websites anfällig für drei Arten von Angriffen. Angefangen bei der einfachsten Methode: Ein böswilliger Benutzer kann einfach riesige Dateien hochladen, wie etwa komprimierte Archive, die Hunderte von Gigabyte an Informationen enthalten. Dies verbraucht nicht nur die Bandbreite, sondern kann auch den der Anwendung zugewiesenen Speicherplatz überlasten.

Als Nächstes auf der Liste der berüchtigten Methoden steht ein Benutzer, der eine schädliche Datei wie einen Virus oder sogar etwas Gefährlicheres wie Ransomware hochlädt. Das ist ein bisschen wie der alte Aberglaube, dass man einen Vampir ausdrücklich in sein Haus einladen muss. Wenn Sie ein Schild aufhängen, das besagt, dass jeder frei eintreten kann, ist das genau wie bei uneingeschränkten Datei-Uploads. Sie kontrollieren nicht mehr, was durch Ihre Tür kommt, und sollten wahrscheinlich damit rechnen, dass nicht jeder Besucher – oder jede Datei – harmlos ist. Manche könnten Monster sein.

Schließlich kann ein versierter Angreifer uneingeschränkte Uploads nutzen, um einen Fuß in ein Netzwerk zu bekommen und tiefere Angriffe durchzuführen. Da es keine Beschränkungen dafür gibt, was jemand hochladen kann, kann ein Angreifer seine eigene Web-Shell über diesen Prozess einschleusen. Danach kann er Befehle an seine Shell senden, die dann auf dem Server mit derselben Berechtigungsstufe wie die Anwendung ausgeführt werden.

Warum ist ein uneingeschränkter Dateizugriff so gefährlich?

Obwohl die Bereitstellung einer Anwendung mit uneingeschränktem Dateizugriff nicht sofort gefährlich ist, ist es im Grunde so, als würde man ein Loch in seine Cybersicherheitsabwehr reißen und jemanden dazu einladen, das Unternehmen anzugreifen. Früher oder später wird jemand darauf reagieren.

Auf der grundlegendsten Ebene benötigen Angreifer nicht einmal viel Geschick, um Chaos anzurichten. Das einfache Zippen extrem großer Dateien und deren Hochladen kann ausreichen, um legitimen Benutzern den Dienst zu verweigern. Mit der Zeit kann dies sogar die Anwendung oder eine ganze Website zum Absturz bringen, je nachdem, wie die App programmiert und vernetzt ist.

Ein uneingeschränkter Dateizugriff könnte auch eine Lücke in Netzwerk-Firewalls und andere Schutzmaßnahmen reißen. Es spielt keine Rolle, ob Sie einen Scanner für eingehende E-Mails oder die Webaktivitäten Ihrer Mitarbeiter haben, wenn Sie einen Pfad für Angreifer geschaffen haben, um Malware direkt in Ihr Kernnetzwerk hochzuladen. Die Malware könnte die Anwendung oder sogar den Server, auf dem sie läuft, zum Absturz bringen, obwohl das wahrscheinlich das bestmögliche Ergebnis ist. Im schlimmsten Fall kann ein wirklich schädliches Programm wie Ransomware den kompromittierten Server nutzen, um sich im gesamten Netzwerk auszubreiten.

Versiertere Angreifer gehen bei der Ausnutzung einer Anwendung mit uneingeschränktem Dateizugriff wahrscheinlich weniger offensichtlich vor. Stattdessen nutzen sie die Schwachstelle, um die Anwendung zu kompromittieren und von dort aus tiefer in das Netzwerk einzudringen, wobei sie langsam vorgehen und versuchen, nicht entdeckt zu werden. Dies kann durch das Hochladen einer Web-Shell oder einer anderen .exe-Datei geschehen, an die dann direkt Befehle gesendet werden, sobald sie platziert wurde. Alles, was der Benutzer über seine Shell ausführt, wird normalerweise vom Server mit den Berechtigungsstufen ausgeführt, die für die hostende Anwendung festgelegt sind. Für den Server stammen diese Befehle von der Anwendung und werden wahrscheinlich nicht weiter überprüft oder untersucht.

All das macht die Schwachstelle des uneingeschränkten Dateizugriffs zu einer der gefährlichsten in Ihrem Netzwerk. Es ist wahrscheinlich keine Frage des „Ob“, sondern des „Wann“ es zu einem Problem kommt.

Wie beseitige ich die Schwachstelle des uneingeschränkten Dateizugriffs?

Wie lässt sich das Problem des unbeschränkten Dateizugriffs lösen? Am einfachsten ist es, Beschränkungen für die zulässigen Dateitypen festzulegen. Diese können dem Benutzer mitgeteilt werden, etwa indem man angibt, dass nur Word- oder Textdateien akzeptiert werden, oder bei einer Bild-Plattform nur .jpg- oder .gif-Dateien. Im Backend sollten Sie eine Whitelist mit zulässigen Dateiendungen erstellen und alle anderen blockieren. Auch die maximale Länge von Dateinamen sollte begrenzt werden. Enthält ein Dateiname Sonderzeichen, die auf den Versuch hindeuten könnten, einen ausführbaren Befehl auszulösen, sollte die Datei ebenfalls abgelehnt werden.

Neben Dateitypen und Namensregeln sollten Sie auch die maximale Dateigröße beschränken. Diese sollte für den jeweiligen Dateityp, den die Anwendung erwartet, angemessen sein. Das könnte ein Limit von etwa 10 Megabyte für Word-Dokumente und etwas mehr, vielleicht 50 Megabyte, für Grafikdateien bedeuten. Es ist auch möglich, Mindestgrößen festzulegen, allerdings nur, wenn der erwartete Größenbereich genau bekannt ist, was beispielsweise beim Hochladen spezifischer Formulare der Fall sein kann.

Angreifer könnten dennoch einen Weg finden, eine Shell oder andere Schadprogramme an den Größen- und Typbeschränkungen vorbeizuschleusen. Um dies zu verhindern, sollten hochgeladene Dateien immer in einem privaten Verzeichnis ohne Ausführungsrechte gespeichert werden. Für zusätzliche Sicherheit können Dateien vom System in eine zufällige Zeichenfolge umbenannt werden. Dies verhindert, dass unbefugte externe Benutzer den Speicherort ihrer hochgeladenen Datei finden, was ihnen Aufschluss über Ihr Netzwerk geben könnte. In diesem Fall müssen Sie jedoch eine Tabelle führen, die die zufälligen Dateinamen den ursprünglichen Bezeichnungen zuordnet.

Schließlich sollte alles, was über einen Upload ins Netzwerk gelangt, von den unternehmenseigenen Sicherheitslösungen auf Malware und Viren gescannt werden. Dies erkennt zwar nicht alles, ist aber eine wichtige Sicherheitsebene, mit der sich bis zu 90 Prozent oder mehr der gängigsten schädlichen Dateien, die über Datei-Uploads eingeschleust werden sollen, abfangen lassen.

Das Problem unbeschränkter Datei-Uploads eindämmen

Sobald mehrere Sicherheitsebenen im Backend implementiert sind, ist das Problem unbeschränkter Datei-Uploads gelöst. Sie eliminieren das Risiko, indem Sie Ihre Datei-Uploads einschränken – sie sind also nicht mehr unbeschränkt. Nur sichere Dateien erhalten Zutritt, während Viren und Malware draußen bleiben.

Weiterführende Informationen finden Sie im Prevention Cheat Sheet von OWASP zum Thema Unrestricted File Upload, das die häufigsten Probleme bei dieser Schwachstelle erläutert. Sie können Ihr neu erworbenes Wissen auch mit dem kostenlosen Showcase der Secure Code Warrior-Plattform testen, die Cybersicherheitsteams zu Experten ausbildet. Um mehr über die Abwehr dieser und anderer Bedrohungen zu erfahren, besuchen Sie den Secure Code Warrior-Blog.

Bereit, diese Schwachstelle direkt anzugehen? Testen Sie Ihre Fähigkeiten auf dem Schlachtfeld:

Slogan

Kontrollieren Sie KI-gestützte Entwicklung, bevor sie in Produktion geht

Bewerten Sie KI-gestützte Risiken, setzen Sie Richtlinien für sicheren Code direkt beim Commit durch und beschleunigen Sie die sichere Bereitstellung über Ihren gesamten SDLC hinweg.

Demo buchen
Ressourcenbibliothek

Weitere Blogs entdecken

Erhalten Sie Zugang zu Experteninhalten über sichere Programmierung, KI-Governance und Software-Risikomanagement.

alle anzeigen
Fallstudie
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Mehr erfahren
Fallstudie
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

Mehr erfahren
Fallstudie
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Eine Sicherheitskultur: Wie Sage sein Champions-Programm aufgebaut hat

Erfahren Sie, wie Sage die Sicherheit durch einen flexiblen, beziehungsorientierten Ansatz gestärkt, über 200 Security Champions ausgebildet und eine messbare Risikoreduzierung erzielt hat.

Mehr erfahren
Blog
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Cybersecurity Awareness Month 2026: Das Verständnis von KI-Sicherheit ist entscheidend für die Unternehmensverteidigung

Wir haben einen Punkt erreicht, an dem die meisten führenden KI-Unternehmen öffentlich eine weltweite Verlangsamung der KI-Entwicklung gefordert haben, damit die Sicherheitsvorkehrungen Schritt halten können. Doch die Wahrheit ist: Ernsthafte Sicherheitsprobleme sind bereits Realität geworden. Dies bringt unzählige Sicherheitsverantwortliche und Führungsteams in eine dringliche Lage, da die finanziellen Kosten und Risiken durch die Implementierung von KI stetig steigen.

Mehr erfahren
Blog
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Enabler 8: Branding für Ihr Programm

Ein Programm für sicheres Programmieren braucht mehr als nur großartige Inhalte, um erfolgreich zu sein. Enabler 8 zeigt, wie Branding die Teilnahme zu einem begehrten, statusorientierten Erlebnis macht.

Mehr erfahren
Blog
Filterbezeichnung
Dies ist ein Text innerhalb eines Div-Blocks.

Jeder Mitarbeiter steht jetzt an vorderster Front der KI-Cybersicherheit

Die Unternehmenslandschaft wandelt sich mit einer Geschwindigkeit, die kaum jemand vorhergesehen hat, bis es zu spät war. Wir haben offiziell die Schwelle von handgeschriebenem Code und einfacher Copilot-Unterstützung hin zur Ära des Agentic Development Lifecycle (ADLC) überschritten. Während autonome KI-Agenten eine beispiellose Effizienz in vielen Bereichen versprechen, bringen sie auch eine völlig neue Klasse von Sicherheits- und Regulierungsrisiken mit sich.

Mehr erfahren

Sichere KI-gestützte Entwicklung vor dem Release

Erkennen Sie Entwicklerrisiken, setzen Sie Richtlinien durch und verhindern Sie Schwachstellen über den gesamten Softwareentwicklungszyklus hinweg.

Demo buchen
Keine Elemente gefunden.