Xpath Injection

XPath Injection

Copyright ┬ę Shutterstock/TippaPatt

Was ist Xpath Injection?

Bei der Xpath Injection verwendet die Software externe Eingaben, um einen XPath-Ausdruck, der zum Abrufen von Daten aus einer XML-Datenbank verwendet wird, dynamisch zu konstruieren. Diese Eingaben werden jedoch nicht oder fehlerhaft neutralisiert. Auf diese Weise kann ein Angreifer die Struktur der Abfrage steuern.

Beschreibung

Wie in OWASP beschrieben:

“Xpath-Injektion-Angriffe treten auf, wenn eine Website vom Benutzer bereitgestellte Informationen zum Erstellen einer Xpath-Anfrage f├╝r XML-Daten verwendet. Durch das Senden von absichtlich fehlerhaften Informationen an die Website kann ein Angreifer herausfinden, wie die XML-Daten strukturiert sind oder auf Daten zugreifen, auf die dieser normalerweise keinen Zugriff hat. Der Angreifer kann sogar in der Lage sein, seine Berechtigungen auf der Website zu erh├Âhen, wenn die XML-Daten zur Authentifizierung (z.B. einer XML-basierten Benutzerdatei) oder Autorisierung verwendet werden.”

Im Endeffekt hat der Angreifer die Kontrolle ├╝ber die aus der XML-Datenbank ausgew├Ąhlten Informationen und kann diese F├Ąhigkeit nutzen, um den Anwendungsfluss zu steuern, die Logik zu ├Ąndern, nicht autorisierte Daten abzurufen oder wichtige Pr├╝fungen (z.B. Authentifizierung) zu umgehen.

Mit Security Scannern wird versucht solche Schwachstellen zu identifizieren.

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 parametrisierte XPath-Abfragen (z.B. mit XQuery). Dadurch wird die Trennung zwischen Datenebene und Steuerebene sichergestellt.

├ťberpr├╝fen Sie, dass die Benutzereingaben ordnungsgem├Ą├č sind. Weisen Sie die Daten ggf. zur├╝ck, filtern Sie sie, und deaktivieren Sie sie gegebenenfalls. Stellen Sie sicher, dass Eingaben, die in XPath-Abfragen verwendet werden, in diesem Zusammenhang sicher sind.

Tipp

Diese Schwachstelle ├Ąhnelt anderen Schwachstellen, die Injection-Angriffen erm├Âglichen, beispielsweise SQL Injection, Command-Injection und LDAP Injection. Der Hauptunterschied besteht darin, dass das Angriffsziel hier die XML-Datenbank ist.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte