Blog

Programmierer erobern die Sicherheit: Serie „Teilen und Lernen“ — Lokale Dateieinbindung und Pfaddurchquerung

July 4, 2019
Jaap Karan Singh

Im Gegensatz zu vielen Sicherheitslücken erfordert das Ausnutzen lokaler Dateieinschluss- und Pfaddurchquerungsprozesse für schändliche Zwecke einen ausreichend erfahrenen Angreifer, eine angemessene Menge an Zeit und vielleicht ein bisschen Glück. Das heißt nicht, dass diese Sicherheitslücke ignoriert werden kann. Erfahrene Angreifer können sie verwenden, um interne Dateien gegen ein Unternehmen einzusetzen, eine Verzeichnisstruktur abzubilden oder sogar Passwort- und Benutzerinformationen zu stehlen, die für gefährliche sekundäre Angriffe verwendet werden können.

In dieser Episode werden wir lernen:

  • Wie Hacker Sicherheitslücken in Bezug auf lokale Dateieinschluss und Pfaddurchquerung ausnutzen
  • Warum es gefährlich sein kann, uneingeschränkte lokale Dateiaufnahme und Pfaddurchquerung zuzulassen
  • Richtlinien und Techniken, die eingesetzt werden können, um dieses Problem zu finden und zu beheben.

Wie nutzen Angreifer Local File Inclusion und Path Traversal aus?

Der klassische Fernsehdetektiv Columbo pflegte immer zu sagen: „Nur noch eine Sache“, kurz bevor er eine wertvolle Information lieferte, die den vorliegenden Fall lösen würde. Das schien zu der Zeit belanglos und wurde vom Verdächtigen fast immer ignoriert, doch es erwies sich immer als ihr Verhängnis. Die Sicherheitslücken in Bezug auf lokale Dateien und Pfaddurchquerung sind sehr ähnlich.

Die Sicherheitslücken „Local File Inclusion“ und „Path Traversal“ nutzen den dynamischen Datei-Include-Mechanismus, der in den meisten Programmier-Frameworks wie ASP-, JSP- und PHP-Skripten vorhanden ist. Bei der lokalen Dateieinbindung verschiebt ein Angreifer den Namen einer Datei, die auf dem lokalen Server vorhanden ist, in einen Bereich in einer Webanwendung, z. B. in einen Header- oder Formulareingabebereich. Die Anwendung verarbeitet die Haupteingabe wie gewohnt, aber auch den Befehl include (page) oder einen ähnlichen Befehl. Beim Pfaddurchqueren definiert der Angreifer den Pfad zu einer verdächtigen Datei, wobei er normalerweise die Zeichen Punkt, Punkt und Schrägstrich (../) als Variablen verwendet. Es ist Columbo insofern sehr ähnlich, als dem Hacker der erste Teil des Arguments wirklich egal ist. Es ist einfach ein Mittel für sie, am Ende „nur noch eine Sache“ hinzuzufügen.

In beiden Fällen muss der Angreifer normalerweise eine Menge an Versuch und Irrtum durchführen. Sofern sie nicht mit der Struktur der Website vertraut sind, kann das Erraten von Pfadkonfigurationen und Dateinamen lange dauern. Allerdings folgen die meisten Websites bestimmten Mustern und haben mehr oder weniger ähnliche Verzeichnisse und Dateinamen. Es kann also nicht lange dauern, wie Sie denken. Und angesichts der Tatsache, dass die Auszahlung potenziell sehr lukrativ ist, besteht für Hacker ein großer Anreiz, einmal gefundene Sicherheitslücken in den Bereichen lokale Dateieinschluss und Pfaddurchquerung auszunutzen.

Warum sind die Sicherheitslücken Local File Inclusion und Path Traversal gefährlich?

Sicherheitslücken in Bezug auf lokale Dateien und Pfaddurchquerung sind gefährlich, da sie es Angreifern ermöglichen können, auf vertrauliche oder kritische Dateien zuzugreifen. Bei Datendateien besteht die Gefahr, dass der Hacker an etwas Wertvolles wie Benutzerpasswörter oder andere persönliche Informationen gelangen könnte. Ein primäres Ziel sind häufig Passwort- oder Benutzerkonfigurationsdateien, da diese den Zugriff auf den Rest der Site ermöglichen würden. Datenbanken sind ebenfalls Hauptziele. Sicherheitslücken in Bezug auf lokale Dateien und Pfaddurchquerung können es einem Angreifer im schlimmsten Fall ermöglichen, den gesamten Inhalt einer Datenbank zu stehlen.

Bei ausführbaren Dateien besteht die Gefahr, dass ein Angreifer durch den Zugriff auf sie bösartige Aktivitäten ausführen kann, z. B. die Zerstörung eines Teils einer Website oder sogar die Ausführung eines internen Denial-of-Service-Angriffs, bei dem Systemressourcen verschwendet werden. Das volle Ausmaß der Gefahr wird jedoch nur durch den Einfallsreichtum und die Fähigkeiten des Angreifers sowie durch die Dateien begrenzt, auf die er zugreifen kann und die bereits auf dem Zielserver vorhanden sind.

Beseitigung der Bedrohung durch lokale Dateiaufnahme und Pfaddurchquerung

Die Gefahr, die von Sicherheitslücken bei der lokalen Dateiaufnahme und Pfaddurchquerung ausgeht, kann durch gute Cybersicherheitspraktiken beseitigt werden. Das Wichtigste, an das Sie sich erinnern sollten, ist, niemals Benutzereingaben in „File Include“ oder anderen Befehlen mit ähnlichen Funktionen zuzulassen. Wenn eine Anwendung dies zulassen muss, geben Sie es nicht direkt weiter. Verwenden Sie stattdessen eine indirekte Referenzkarte. Eine indirekte Referenzkarte ordnet Benutzereingaben einer Reihe von fest codierten vertrauenswürdigen Werten zu, die dann sicher verwendet werden können.

Achten Sie wie bei vielen anderen Sicherheitslücken besonders auf alle benutzergesteuerten Eingabebereiche wie Cookies, HTTP-Header und Formularparameter. Zulässige Eingaben sollten auf die Whitelist gesetzt werden, alles andere sollte ausdrücklich verweigert werden. Wenn dies nicht möglich ist, verwenden Sie die Eingabeüberprüfung, um genau zu regeln, welche Werte zulässig sind, wie Zahlen, alphanumerische Werte usw.

Weitere Informationen zu Local File Inclusion und Path Traversal

Für weitere Informationen können Sie sich die OWASP ansehen Leitfaden zum Testen für Exploits zur lokalen Dateiaufnahme und Pfaddurchquerung. 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.

Slogan

Govern AI-driven development before it ships

Measure AI-assisted risk, enforce secure coding policy at commit, and accelerate secure delivery across your SDLC.

book a demo
Slogan

Explore more blogs

Lorem ipsum diam quis enim lobortis scelerisque fermentum dui faucibus in ornare quam viverra orci sagittis eu volutpat odio facilisis.

browse all
Case Study
Filter Label
This is some text inside of a div block.

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.

Learn More
Case Study
Filter Label
This is some text inside of a div block.

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

Learn More
Case Study
Filter Label
This is some text inside of a div block.

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.

Learn More
Blog
Filter Label
This is some text inside of a div block.

The Future of AI Software Governance Is Built on Strong Partnerships

Discover why Secure Code Warrior is becoming a channel-first company and how trusted partners help organizations adopt AI Software Governance securely and at scale.

Learn More
Blog
Filter Label
This is some text inside of a div block.

Citizen AI by Secure Code Warrior: Build an AI-Ready Workforce

Secure Code Warrior's AI literacy program for non-developer employees.

Learn More
Blog
Filter Label
This is some text inside of a div block.

Why most CISOs are navigating AI adoption blindfolded (and how they can remove it)

Today, Secure Code Warrior issued an all-new white paper covering a prescriptive, directional AI adoption model that security leaders can use to identify their adoption stage and make real progress in bringing the AI security risks within their organization under control.

Learn More

Secure AI-driven development before it ships

See developer risk, enforce policy, and prevent vulnerabilities across your software development lifecycle.

Book a demo