Injeção XPath
O que é Injeção XPath?
Injeção XPathFalha de injeção em que entrada não confiável altera uma consulta XPath contra um documento XML, permitindo exfiltração de dados ou bypass de autenticação.
A injeção XPath ocorre quando uma aplicação constrói consultas XPath sobre um documento XML concatenando entrada do utilizador, de forma análoga à injeção SQL clássica. Um atacante pode sair da expressão prevista usando aspas, tautologias booleanas como ' or '1'='1 ou comentários para extrair nós arbitrários, contornar formulários de login baseados em XML ou exfiltrar dados às cegas através de oráculos booleanos e de temporização. A falha é mais comum em serviços SOAP antigos, back-ends de configuração e aplicações que armazenam credenciais em XML. As defesas incluem APIs XPath parametrizadas, validação estrita e migração de consultas sensíveis para armazenamentos mais seguros.
● Exemplos
- 01
Consulta de login //user[name/text()='admin' or '1'='1' and password/text()='x'] ignora a autenticação.
- 02
Exfiltração XPath às cegas via condições booleanas como substring(//secret,1,1)='a'.
● Perguntas frequentes
O que é Injeção XPath?
Falha de injeção em que entrada não confiável altera uma consulta XPath contra um documento XML, permitindo exfiltração de dados ou bypass de autenticação. Pertence à categoria Ataques e ameaças da cibersegurança.
O que significa Injeção XPath?
Falha de injeção em que entrada não confiável altera uma consulta XPath contra um documento XML, permitindo exfiltração de dados ou bypass de autenticação.
Como funciona Injeção XPath?
A injeção XPath ocorre quando uma aplicação constrói consultas XPath sobre um documento XML concatenando entrada do utilizador, de forma análoga à injeção SQL clássica. Um atacante pode sair da expressão prevista usando aspas, tautologias booleanas como ' or '1'='1 ou comentários para extrair nós arbitrários, contornar formulários de login baseados em XML ou exfiltrar dados às cegas através de oráculos booleanos e de temporização. A falha é mais comum em serviços SOAP antigos, back-ends de configuração e aplicações que armazenam credenciais em XML. As defesas incluem APIs XPath parametrizadas, validação estrita e migração de consultas sensíveis para armazenamentos mais seguros.
Como se defender contra Injeção XPath?
As defesas contra Injeção XPath costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.
Quais são outros nomes para Injeção XPath?
Nomes alternativos comuns: Injeção de consulta XPath.
● Termos relacionados
- attacks№ 1084
Injeção SQL
Ataque de injeção de código que insere SQL controlado pelo atacante numa consulta à base de dados, permitindo ler, alterar ou destruir dados.
- attacks№ 612
Injeção LDAP
Ataque de injeção que manipula filtros de pesquisa LDAP ou DNs através de entradas não sanitizadas para contornar a autenticação ou ler dados do diretório.
- attacks№ 1255
Injeção XML
Ataque que insere tags, atributos ou fragmentos XPath maliciosos no processamento XML de uma aplicação para alterar a lógica ou extrair dados.
- attacks№ 1257
Ataque XXE
Ataque contra parsers XML que abusa da resolução de entidades externas para ler ficheiros, sondar redes internas ou provocar negação de serviço.
- appsec№ 538
Validação de entrada
Verificação no servidor que confirma se toda entrada não confiável corresponde ao tipo, comprimento, intervalo, formato e conjunto de valores esperados antes do processamento.
- attacks№ 202
Injeção de Comandos
Ataque em que a entrada do utilizador é passada sem sanitização a um shell do sistema, levando a aplicação a executar comandos fornecidos pelo atacante.