I browser stanno recuperando lo spazio dei nomi XSLT su HTTP durante la trasformazione di XML?

2

In base alla raccomandazione W3C (e secondo W3C Schools ), un foglio di stile XSL usando XSLT dovrebbe essere dichiarato come segue:

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

Domanda: http://www.w3.org/1999/XSL/Transform è mai stato effettivamente scaricato su HTTP (al contrario di essere in bundle con i browser Web, ad esempio), rendendo i fogli di stile XSL vulnerabili a un attacco man-in-the-middle? Se sì, come dovrebbe essere neutralizzato questo attacco?

(Ho controllato con uno sniffer di pacchetti e non ho trovato alcuna richiesta di questo tipo, ma non lo ritengo del tutto conclusivo, dal momento che potrebbe esserci qualche caching in gioco.)

Impostazione: Un server Web (attendibile) sta servendo i seguenti due file su 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 client (utilizzando ad esempio un moderno browser Web) accede al file data.xml.

Attacco proposto: Se / quando il browser web accede a http://www.w3.org/1999/XSL/Transform , un utente malintenzionato sostituisce qualcosa di malevolo, che trasforma l'XML in qualunque cosa l'hacker desideri, ignorando così l'autenticazione HTTPS.

    
posta Eleron 01.07.2016 - 16:54
fonte

1 risposta

4

XML Namespaces sono solo stringhe nel formato dell'URI, non delle ricerche effettive :

XML namespaces provide a simple method for qualifying element and attribute names used in Extensible Markup Language documents by associating them with namespaces identified by URI references.

La richiesta non si verifica mai. Se vai al link nel tuo browser, vedrai che la pagina restituita è solo un mucchio di documenti correlati link per aiutare le persone che accedono involontariamente all'URL.

Quindi non vi è alcun rischio dovuto alla mancanza di SSL poiché, mentre la stringa è formattata per essere un URI, è solo una stringa.

    
risposta data 01.07.2016 - 17:18
fonte

Leggi altre domande sui tag