¿Los navegadores están obteniendo el espacio de nombres XSLT a través de HTTP al transformar XML?

2

Según la recomendación W3C (y según W3C Schools ), una hoja de estilo XSL que use XSLT debe declararse de la siguiente manera:

  

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

Pregunta: ¿Alguna vez se ha obtenido http://www.w3.org/1999/XSL/Transform a través de HTTP (en lugar de estar empaquetado con navegadores web, por ejemplo), por lo que las hojas de estilo XSL son vulnerables a un ataque de hombre en el medio? Si es así, ¿cómo se debe contrarrestar este ataque?

(Lo verifiqué con un rastreador de paquetes y no encontré tal solicitud, pero no lo considero completamente concluyente, ya que puede haber algo de caché involucrado).

Configuración: Un servidor web (de confianza) sirve los siguientes dos archivos a través de HTTPS:

  

data.xml:

<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="style.xsl"?>
<root>
</root>
     

style.xsl:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
    Output
</xsl:template>
     

Un cliente (utilizando por ejemplo un navegador web moderno) accede al archivo data.xml.

Ataque propuesto: Si / cuando el navegador web accede a http://www.w3.org/1999/XSL/Transform , un atacante sustituye algo malicioso, que transforma el XML en lo que quiera el atacante, omitiendo así la autenticación HTTPS.

    
pregunta Eleron 01.07.2016 - 16:54
fuente

1 respuesta

4

XML Namespaces son solo cadenas en el formato de URI, no en búsquedas reales :

  Los

espacios de nombres XML proporcionan un método simple para calificar los nombres de elementos y atributos utilizados en los documentos de Lenguaje de marcado extensible al asociarlos con los espacios de nombres identificados por referencias URI.

La solicitud nunca ocurre. Si accede a enlace en su navegador, verá que la página devuelta es solo un montón de documentos relacionados enlaces para ayudar a las personas que accidentalmente van a la URL.

Por lo tanto, no existe ningún riesgo debido a la falta de SSL ya que, mientras que la cadena está formateada para ser una URI, es solo una cadena.

    
respondido por el Neil Smithline 01.07.2016 - 17:18
fuente

Lea otras preguntas en las etiquetas