Hay un desafío de seguridad en el que tiene que ejecutar el código en el servidor para recuperar una bandera, y este código debe ejecutarse utilizando un documento XSL.
Encontré una forma de hacer que el servidor interpretara mi propio archivo XSL, y utilicé la funcionalidad php:function para ejecutar una función php en el servidor. Aquí hay un ejemplo del código que le estoy dando al servidor:
<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('file_get_contents','index.php')"/>
</xsl:template>
</xsl:stylesheet>
Este código generará el código fuente de la página index.php .
El siguiente paso es ejecutar scandir en el servidor para listar el directorio actual (para encontrar la bandera). El problema que tengo es que la respuesta del servidor es solo Array , eso es todo lo que genera el servidor.
Después de buscar casi 8 horas, estoy atascado y no puedo encontrar ninguna funcionalidad XSL que genere la matriz devuelta por scandir .
Notas :
- Las funciones que permiten la ejecución de código (
eval,exec,passthru,popen,proc_open,shell_exec,system) están deshabilitadas por el servidor. - Realmente soy un principiante (noob completo) en los lenguajes XSL y XML.