¿Se pueden explotar los atributos XML?

3

en mi sitio web, entrego un xml, mientras que los parámetros GET se agregarán como atributos (codificados por la entidad) en algún lugar del xml.

ejemplo simplificado:

http://host/file.xml?x=y

lleva a

<root>
  <element x="y" />
</root>

tenga en cuenta que la cadena está siendo una entidad html codificada por lo que realmente no puede escapar de las comillas. una cadena como esta

"/>

lleva a

&quot;/&gt;

pero, ¿podría ser explotado de otra manera?

    
pregunta clamp 18.02.2014 - 10:47
fuente

1 respuesta

3

No nos proporcionó información sobre cómo se usa / analiza el XML posteriormente. Todavía tengo dos puntos sobre esto:

  • Al usar algo como http://host/file.xml?a=b%20x=y alguien podrá agregar un atributo adicional dependiendo de cómo maneje la salida, esto podría ser un problema. También algunos analizadores toman la primera aparición de un atributo, algunos últimos y algunos incluso concatenan valores con la misma clave. Entonces, ¿qué pasa con http://host/file.xml?x=z%20x=y que puede resultar en algo como <element x=z x="y" /> ? (Por supuesto, esto también depende de qué tan estricto sea su analizador y qué valores se aceptan para x .
  • Dependiendo del analizador, puede haber formas de codificar caracteres como "/> al enviarlos a su aplicación sin que estén codificados como entidad HTML.

Si proporciona más información, podríamos darle una respuesta más específica. De todos modos, recomendaría encarecidamente no insertar entradas de usuarios sin marcar en ningún XML. Si es realmente necesario, al menos debería usar algún tipo de filtrado (lo mejor sería una lista blanca de valores aceptados o al menos una expresión regular para lo que quiere aceptar). Además, al analizador XML también se le debe proporcionar un esquema para validar el XML.

    
respondido por el Disenchant 18.02.2014 - 20:47
fuente

Lea otras preguntas en las etiquetas