Programmierer erobern Sicherheit: Serie „Teilen und Lernen“ — Dateieinbindung aus der Ferne

Diejenigen unter Ihnen, die diese Blogserie lesen, stellen möglicherweise viele Ähnlichkeiten zwischen der Sicherheitsanfälligkeit für Remote-Dateieinschluss und der zuvor erörterten Sicherheitsanfälligkeit für lokale Dateieinschluss und Pfaddurchquerung fest. Ihre Hauptursachen sind ähnlich, ebenso wie die empfohlenen Lösungen.
In vielerlei Hinsicht ist die Sicherheitslücke bezüglich Remote-Dateieinschluss viel gefährlicher und auch einfacher auszunutzen als ihr Gegenstück zu lokalen Dateien. Daher sollte sie so schnell wie möglich gefunden und behoben werden. Oder noch besser, Webanwendungen sollten so konzipiert sein, dass sie gar nicht erst auftreten.
In dieser Episode werden wir lernen:
- Wie Hacker die Sicherheitslücke zur Remote-Dateieinbindung ausnutzen
- Warum es gefährlich ist, die Aufnahme von Dateien aus der Ferne zuzulassen
- Techniken, mit denen dieses Problem behoben werden kann.
Wie nutzen Angreifer Remote File Inclusion aus?
Die Sicherheitsanfälligkeit für Remote-Dateieinschluss nutzt den Befehl oder Mechanismus „Dynamic File Include“ aus, der in den meisten Programmierframeworks vorhanden ist. Diese Funktion soll es Entwicklern ermöglichen, Dateien auf einem sekundären Server zu verwenden, um Aktivitäten auf dem Anwendungsserver auszuführen. Offensichtlich kann dies in den falschen Händen gefährlich sein.
Angreifer nutzen diese Fähigkeit aus, indem sie jede Website oder Anwendung finden, die unkontrollierte Benutzereingaben ermöglicht, die beispielsweise aus HTTP-Headern oder Eingabebereichen in interaktiven Formularen stammen können. Sie verwenden dies als Ausgangspunkt, um Datei-Include-Befehle zu generieren.
Wenn eine Site beispielsweise die GET-Funktion verwendet, um Seiten zu laden, wie page = request.getParameter („page'); include page;“, könnte ein Angreifer mithilfe des Befehls page eine Anfrage senden, allerdings mit der URL einer Website, die er kontrolliert, und dem Dateipfad zu der Datei, die er ausführen möchte. Die Abfrage wird dann an den Server weitergeleitet und die Remote-Datei wird auf dem Host ausgeführt. Die Aktivität ist zulässig, da sie jetzt Teil der vertrauenswürdigen App ist.
Warum ist die Remote File Inclusion Vulnerability gefährlich?
Die Gefahr, die von der Aufnahme von Dateien aus der Ferne ausgeht, ist extrem hoch. Im Gegensatz zu Sicherheitslücken beim lokalen Dateieinschluss, bei denen Dateien, die ein Angreifer ausführt, auf einem Host vorhanden sein müssen und vom Angreifer auch durch Versuch und Irrtum gefunden werden müssen, gibt es beim Remote-Dateieinschluss keine derartigen Einschränkungen. Offensichtlich kennt ein Angreifer den Speicherort der Dateien, die er ausnutzen möchte, da sie wahrscheinlich auf seinen eigenen Computern oder Websites, die er kontrolliert, existieren. Die Dateien können auch von ihnen selbst ausgewählt werden und müssen vor dem Exploit nicht auf dem Zielcomputer vorhanden sein. Die Datei könnte sogar aus Skripten bestehen, die speziell für die Ausnutzung eines Remote-Hosts geschrieben wurden.
Kurz gesagt, sobald ein Angreifer in der Lage ist, eine Sicherheitslücke durch Remote-Dateieinschluss zu finden und auszunutzen, hindert ihn nichts daran, die vollständige Kontrolle über eine Anwendung oder sogar eine gesamte Website zu erlangen. Sicherlich sind keine dort gespeicherten Daten vor ihrem Eindringen sicher.
Sicherheitslücke im Bereich Remote File Inclusion entfernen
Erlauben Sie niemals, dass Benutzereingaben direkt zur Ausführung an einen Dateieinschlussbefehl weitergeleitet werden. Verwenden Sie stattdessen eine indirekte Referenztabelle von Befehlen und führen Sie Befehle nur von dort aus aus. Eine indirekte Referenzzuordnung ordnet nicht vertrauenswürdige Benutzereingaben einer Reihe von fest codierten vertrauenswürdigen Werten auf dem Server zu. Stellen Sie sicher, dass Sie alle Bereiche auf die Whitelist setzen, in die Benutzer Daten eingeben können, und vergessen Sie nicht, HTTP-Header, Formularparameter und sogar Cookies in diese Liste aufzunehmen. Dadurch wird jedes Fenster geschlossen, das ein Angreifer, der einen Datei-Include-Befehl erstellen möchte, verwenden kann.
Als Bonus werden durch die korrekte Bereinigung und Validierung von benutzergenerierten Inhalten und die Verwendung von Referenzmaps zur Ausführung von Befehlen nicht nur die Sicherheitslücke beim Remote-Dateieinschluss geschlossen, sondern auch eine ganze Reihe anderer, darunter der gefährliche Cousin dieses Bugs, der Local File Inclusion and Path Traversal Exploit.
Weitere Informationen zu Remote File Inclusion
Für weitere Informationen können Sie sich die OWASP ansehen Referenzhandbuch für Exploits zur Remote-Dateieinbindung. Sie können Ihr neu gewonnenes Defensivwissen auch auf die Probe stellen mit dem kostenlose Demo der Secure Code Warrior-Plattform, die Cybersicherheitsteams zu ultimativen Cyberkriegern ausbildet. Um mehr über die Beseitigung dieser Sicherheitslücke und eine Galerie mit anderen Bedrohungen zu erfahren, besuchen Sie die Blog von Secure Code Warrior.
Govern AI-driven development before it ships
Measure AI-assisted risk, enforce secure coding policy at commit, and accelerate secure delivery across your SDLC.
Explore more blogs
Lorem ipsum diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis.
%252520%252520(3).avif)
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.

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

One Culture of Security: How Sage built their security champions program with agile secure code learning
Discover how Sage enhanced security with a flexible, relationship-focused approach, creating 200+ security champions and achieving measurable risk reduction.
Secure AI-driven development before it ships
See developer risk, enforce policy, and prevent vulnerabilities across your software development lifecycle.


