XPath-Injection
Was ist XPath-Injection?
XPath-InjectionInjection-Schwachstelle, bei der unvertrauenswürdige Eingaben eine XPath-Abfrage gegen ein XML-Dokument verändern und so Datenextraktion oder Auth-Bypass ermöglichen.
XPath-Injection tritt auf, wenn eine Anwendung XPath-Abfragen gegen ein XML-Dokument durch String-Konkatenation von Benutzereingaben aufbaut, analog zur klassischen SQL-Injection. Ein Angreifer kann durch Anführungszeichen, boolesche Tautologien wie ' or '1'='1 oder Kommentare aus dem geplanten Ausdruck ausbrechen, beliebige Knoten extrahieren, XML-basierte Login-Formulare umgehen oder blind über boolesche bzw. Timing-Orakel exfiltrieren. Häufig betroffen sind ältere SOAP-Dienste, Konfigurations-Backends und Anwendungen, die Zugangsdaten in XML ablegen. Schutz bieten parametrisierte XPath-APIs, strikte Allow-List-Validierung und der Wechsel zu sichereren Datenspeichern.
● Beispiele
- 01
Login-Abfrage //user[name/text()='admin' or '1'='1' and password/text()='x'] umgeht die Authentifizierung.
- 02
Blinde XPath-Exfiltration über boolesche Bedingungen wie substring(//secret,1,1)='a'.
● Häufige Fragen
Was ist XPath-Injection?
Injection-Schwachstelle, bei der unvertrauenswürdige Eingaben eine XPath-Abfrage gegen ein XML-Dokument verändern und so Datenextraktion oder Auth-Bypass ermöglichen. Es gehört zur Kategorie Angriffe und Bedrohungen der Cybersicherheit.
Was bedeutet XPath-Injection?
Injection-Schwachstelle, bei der unvertrauenswürdige Eingaben eine XPath-Abfrage gegen ein XML-Dokument verändern und so Datenextraktion oder Auth-Bypass ermöglichen.
Wie schützt man sich gegen XPath-Injection?
Schutzmaßnahmen gegen XPath-Injection kombinieren typischerweise technische Kontrollen und operative Praktiken, wie in der Definition oben beschrieben.
Welche anderen Bezeichnungen gibt es für XPath-Injection?
Übliche alternative Bezeichnungen: XPath-Query-Injection.