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 funktioniert XPath-Injection?
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.
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.
● Verwandte Begriffe
- attacks№ 1084
SQL Injection
Code-Injection-Angriff, der vom Angreifer kontrolliertes SQL in eine Datenbankabfrage einschleust, um Daten zu lesen, zu verändern oder zu zerstören.
- attacks№ 612
LDAP Injection
Injection-Angriff, der LDAP-Suchfilter oder DNs durch nicht bereinigte Eingaben manipuliert, um Authentifizierung zu umgehen oder Verzeichnisdaten auszulesen.
- attacks№ 1255
XML Injection
Angriff, der bösartige XML-Tags, Attribute oder XPath-Fragmente in die XML-Verarbeitung einer Anwendung einschleust, um Logik zu manipulieren oder Daten zu extrahieren.
- attacks№ 1257
XXE-Angriff
Angriff auf XML-Parser, der die Auflösung externer Entitäten missbraucht, um Dateien zu lesen, interne Netzwerke zu sondieren oder Denial-of-Service auszulösen.
- appsec№ 538
Eingabevalidierung
Serverseitige Prüfung, ob jede unvertrauenswürdige Eingabe vor der Verarbeitung dem erwarteten Typ, Längen-, Wert-, Format- und Wertebereich entspricht.
- attacks№ 202
Command Injection
Angriff, bei dem Benutzereingaben ungefiltert an eine Betriebssystem-Shell übergeben werden und die Anwendung dadurch vom Angreifer gelieferte Befehle ausführt.