Weaknesses of type CWE-643

14 results

Injeção de XPath

Ocorre quando dados não validados são concatenados diretamente em expressões XPath, permitindo que um atacante manipule a consulta e acesse ou modifique dados XML que não deveria. É análogo a SQL injection, mas no contexto de processamento de documentos XML.

Example

Uma aplicação recebe um usuário via formulário e constrói uma query XPath como `//usuario[nome='` + entrada + `']`. Se o atacante envia `' or '1'='1`, a expressão fica `//usuario[nome='' or '1'='1']`, retornando todos os usuários em vez de apenas um.

How to mitigate

Use variáveis parametrizadas ou funções nativas da linguagem para construir expressões XPath (como XPath API com parameters), nunca concatene entrada do usuário. Valide e escape a entrada antes de usá-la em qualquer contexto de parsing XML.