Inyección XPath
¿Qué es Inyección XPath?
Inyección XPathFallo de inyección en el que entrada no confiable altera una consulta XPath sobre un documento XML, permitiendo exfiltración de datos o bypass de autenticación.
La inyección XPath ocurre cuando una aplicación construye consultas XPath sobre un documento XML concatenando entrada del usuario, de forma análoga a la inyección SQL clásica. Un atacante puede salir de la expresión esperada con comillas, tautologías booleanas como ' or '1'='1, o comentarios, para extraer nodos arbitrarios, eludir formularios de login basados en XML o realizar exfiltración ciega mediante oráculos booleanos y de temporización. El fallo es común en servicios SOAP heredados, backends de configuración y aplicaciones que guardan credenciales en archivos XML. Las defensas incluyen APIs XPath parametrizadas, validación estricta y migrar consultas sensibles a almacenes seguros.
● Ejemplos
- 01
Consulta de login: //user[name/text()='admin' or '1'='1' and password/text()='x'] evita la autenticación.
- 02
Exfiltración ciega XPath mediante condiciones booleanas como substring(//secret,1,1)='a'.
● Preguntas frecuentes
¿Qué es Inyección XPath?
Fallo de inyección en el que entrada no confiable altera una consulta XPath sobre un documento XML, permitiendo exfiltración de datos o bypass de autenticación. Pertenece a la categoría de Ataques y amenazas en ciberseguridad.
¿Qué significa Inyección XPath?
Fallo de inyección en el que entrada no confiable altera una consulta XPath sobre un documento XML, permitiendo exfiltración de datos o bypass de autenticación.
¿Cómo defenderse de Inyección XPath?
Las defensas contra Inyección XPath combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.
¿Cuáles son otros nombres para Inyección XPath?
Nombres alternativos comunes: Inyección de consultas XPath.