CWE ID: 73
Name: External Control of File Name or Path
Das Produkt erlaubt die Steuerung oder Beeinflussung von Pfaden oder Dateinamen durch Benutzereingaben, die in Dateisystemoperationen verwendet werden.
Effektivität: Unknown
Beschreibung: Wenn der Satz an Dateinamen begrenzt oder bekannt ist, erstellen Sie eine Zuordnung von einem Satz fester Eingabewerte (z. B. numerischer IDs) zu den tatsächlichen Dateinamen und verwerfen Sie alle anderen Eingaben. Beispielsweise könnte ID 1 auf “inbox.txt” und ID 2 auf “profile.txt” abgebildet werden. Funktionen wie die ESAPI AccessReferenceMap bieten diese Funktionalität.
Effektivität: Unknown
Beschreibung: Für alle Sicherheitsprüfungen, die clientseitig durchgeführt werden, stellen Sie sicher, dass diese Prüfungen serverseitig dupliziert werden, um CWE-602 zu vermeiden. Angreifer können die clientseitigen Prüfungen umgehen, indem sie Werte nach Durchführung der Prüfungen modifizieren oder den Client ändern, um die clientseitigen Prüfungen vollständig zu entfernen. Anschließend würden diese modifizierten Werte an den Server übermittelt.
Effektivität: Unknown
Beschreibung: Verwenden Sie eine eingebaute Funktion zur Pfadkanonisierung (wie realpath() in C), die die kanonische Version des Pfadnamens erzeugt und dabei effektiv “.."-Sequenzen und symbolische Links entfernt (CWE-23, CWE-59).
Effektivität: Unknown
Beschreibung: Nutzen Sie Betriebssystemberechtigungen und führen Sie als ein Benutzer mit eingeschränkten Privilegien aus, um den Umfang eines erfolgreichen Angriffs zu begrenzen.
Effektivität: Unknown
Beschreibung: Wenn Sie PHP verwenden, konfigurieren Sie Ihre Anwendung so, dass register_globals
nicht verwendet wird. Entwickeln Sie Ihre Anwendung während der Implementierung so, dass sie sich nicht auf diese Funktion stützt, und seien Sie vorsichtig bei der Implementierung einer register_globals
-Emulation, die anfällig für Schwachstellen wie CWE-95, CWE-621 und ähnlichen Problemen ist.
Effektivität: Unknown
Beschreibung: Nutzen Sie Werkzeuge und Techniken, die eine manuelle (menschliche) Analyse erfordern, wie beispielsweise Penetration Testing, Threat Modeling und interaktive Tools, die es dem Tester ermöglichen, eine aktive Session aufzuzeichnen und zu modifizieren. Diese können effektiver sein als rein automatisierte Verfahren. Dies gilt insbesondere für Schwachstellen, die mit Design und Geschäftsregeln in Verbindung stehen.