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.