Relative Path Confusion

Relative Path Confusion

© Copyright Shutterstock / Outflow_Designs

Was ist Relative Path Confusion?

Eingaben, die sich auf den Steuerungsfluss oder den Datenfluss eines Programms auswirken k√∂nnen, werden nicht oder fehlerhaft √ľberpr√ľft.

Wenn eine Software die Eingabe nicht ordnungsgem√§√ü √ľberpr√ľft, kann ein Angreifer eine Eingabe so erstellen, das die Anwendung dies in dieser Form nicht erwartet. Dies f√ľhrt dazu, dass Teile des Systems unbeabsichtigte Eingaben erhalten, was zu einem ver√§nderten, willk√ľrlichen Steuerung einer Ressource oder Codes f√ľhren kann.

Diese Schwachstelle wird während der Implementierung einer architektonischen Sicherheitstaktik verursacht.

Beschreibung

Bei der Relative Path Confusion testet der Scanner, ob der Webserver so konfiguriert ist, dass Antworten auf mehrdeutige URLs so bereitgestellt werden, dass diese mit gro√üer Wahrscheinlichkeit zu Irritationen bzgl. des korrekten ‘relativen Pfad’ der URL f√ľhren. Sofern die Ressourcen (CSS, Bilder, usw.) Verweise in der Antwort sind, die relative anstelle von absoluten URLs verwenden. Wenn bei einem Angriff der Webbrowser die Antwort ‘Cross-Content’ auf eine zul√§ssige Art und Weise analysiert oder dazu verleitet werden kann, die ‘Cross-Content’-Antwort mit Techniken wie dem Framing zu analysieren, kann der Webbrowser get√§uscht werden HTML als CSS (oder andere Inhaltstypen) zu interpretieren, was zu einer XSS-Sicherheitsanf√§lligkeit f√ľhrt.

Wenn ein Programmierer der Meinung ist, dass ein Angreifer bestimmte Eingaben nicht √§ndern kann, f√ľhrt der Programmierer m√∂glicherweise keine √úberpr√ľfung der Eingaben durch, obwohl Eingaben mit einem Proxy oder einem benutzerdefinierten Programm ge√§ndert werden k√∂nnen. In einer Client-Server-Architektur kann der Programmierer davon ausgehen, dass clientseitige Sicherheitspr√ľfungen nicht umgangen werden k√∂nnen, selbst wenn ein benutzerdefinierter Client geschrieben werden k√∂nnte, der diese Pr√ľfungen √ľberspringt.

Tipp

√úberpr√ľfen Sie die Sicherheit Ihrer Website mit unserem kostenlosen Security Crawler oder mit der OSG Performance Suite Free Version.

Lösung

Verwenden Sie ein Eingabevalidierungsframework wie Struts oder die OWASP ESAPI Validation-API.
Verstehen Sie alle potenziellen Bereiche, in denen nicht vertrauensw√ľrdige Eingaben Ihre Software eingeben k√∂nnen: Parameter oder Argumente, Cookies, alles, was aus dem Netzwerk gelesen wird, Umgebungsvariablen, Reverse-DNS-Lookups, Abfrageergebnisse, Anforderungsheader, URL-Komponenten, E-Mail, Dateien, Dateinamen, Datenbanken sowie alle externen Systeme, die der Anwendung Daten zur Verf√ľgung stellen. Beachten Sie, dass solche Eingaben indirekt durch API-Aufrufe abgerufen werden k√∂nnen.
Verwenden Sie eine Whitelist mit akzeptablen Eingaben, die streng den Spezifikationen entsprechen. Verwerfen Sie Eingaben, die nicht genau den Spezifikationen entsprechen, oder wandeln Sie sie in etwas um, das dies tut.

Ber√ľcksichtigen Sie bei der Eingabevalidierung alle potenziell relevanten Eigenschaften, einschlie√ülich L√§nge, Eingabetyp, den gesamten zul√§ssigen Wertebereich, fehlende oder zus√§tzliche Eingaben, Syntax, Konsistenz in verwandten Feldern und die Einhaltung von Gesch√§ftsregeln.

Verlassen Sie sich nicht ausschlie√ülich auf die Suche nach sch√§dlichen oder fehlerhaften Eingaben (d.h. Verlassen Sie sich nicht auf eine Blacklist). Bei einer Blacklist wird wahrscheinlich mindestens eine unerw√ľnschte Eingabe √ľbersehen, insbesondere wenn sich die Code-Umgebung √§ndert. Dadurch k√∂nnen Angreifer gen√ľgend Spielraum haben, um die beabsichtigte Validierung zu umgehen. Blacklists k√∂nnen jedoch hilfreich sein, um potenzielle Angriffe zu erkennen oder um festzustellen, welche Eingaben so fehlerhaft sind, dass sie v√∂llig abgelehnt werden sollten.

Wenn Ihre Anwendung Daten aus mehreren Quellen kombiniert, f√ľhren Sie die Validierung durch, nachdem die Quellen kombiniert wurden. Die einzelnen Datenelemente k√∂nnen den Validierungsschritt bestehen, verletzen jedoch die beabsichtigten Beschr√§nkungen, nachdem sie kombiniert wurden.

Andere Informationen

Die √úberpr√ľfung der Eingabe kann in jedem System, das Daten von einer externen Quelle empf√§ngt, ein Problem darstellen.

Die Validierung von Eingaben – ob fehlend oder fehlerhaft – ist ein so wesentlicher und weit verbreiteter Teil einer sicheren Entwicklung, dass sie in vielen verschiedenen Schwachstellen enthalten ist. Traditionell werden Probleme wie Puffer√ľberl√§ufe und XSS von vielen Sicherheitsexperten als Probleme bei der Eingabevalidierung eingestuft. Die Eingabevalidierung ist jedoch nicht notwendigerweise der einzige Schutzmechanismus, um solche Probleme zu vermeiden, und reicht in manchen F√§llen nicht aus.

Allgemeiner Schwachstellen-Datenbanklink

Wenn Sie noch Fragen bez√ľglich des Themas haben, dann k√∂nnen Sie sich gerne weiter √ľber die Seite der CWE Organisation dar√ľber weiter informieren.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte