????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 216.73.216.116 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/self/root/home/b8009/php-5.6.22/ext/xsl/tests/ |
Upload File : |
--TEST-- Bug #54446 (Arbitrary file creation via libxslt 'output' extension with php.ini setting) --SKIPIF-- <?php if (!extension_loaded('xsl')) die("skip Extension XSL is required\n"); ?> --FILE-- <?php include("prepare.inc"); $outputfile = dirname(__FILE__)."/bug54446test.txt"; if (file_exists($outputfile)) { unlink($outputfile); } $sXsl = <<<EOT <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sax="http://icl.com/saxon" extension-element-prefixes="sax"> <xsl:template match="/"> <sax:output href="$outputfile" method="text"> <xsl:value-of select="'0wn3d via PHP and libxslt ...'"/> </sax:output> </xsl:template> </xsl:stylesheet> EOT; $xsl->loadXML( $sXsl ); # START XSLT $proc->importStylesheet( $xsl ); # TRASNFORM & PRINT print $proc->transformToXML( $dom ); if (file_exists($outputfile)) { print "$outputfile exists, but shouldn't!\n"; } else { print "OK, no file created\n"; } #SET NO SECURITY PREFS ini_set("xsl.security_prefs", XSL_SECPREF_NONE); # TRASNFORM & PRINT print $proc->transformToXML( $dom ); if (file_exists($outputfile)) { print "OK, file exists\n"; } else { print "$outputfile doesn't exist, but should!\n"; } unlink($outputfile); #SET SECURITY PREFS AGAIN ini_set("xsl.security_prefs", XSL_SECPREF_WRITE_FILE | XSL_SECPREF_WRITE_NETWORK | XSL_SECPREF_CREATE_DIRECTORY); # TRASNFORM & PRINT print $proc->transformToXML( $dom ); if (file_exists($outputfile)) { print "$outputfile exists, but shouldn't!\n"; } else { print "OK, no file created\n"; } #SET NO SECURITY PREFS with ini, but set them with ->setSecurityPrefs ini_set("xsl.security_prefs", XSL_SECPREF_NONE); $proc->setSecurityPrefs( XSL_SECPREF_WRITE_FILE | XSL_SECPREF_WRITE_NETWORK | XSL_SECPREF_CREATE_DIRECTORY); print $proc->transformToXML( $dom ); if (file_exists($outputfile)) { print "$outputfile exists, but shouldn't!\n"; } else { print "OK, no file created\n"; } #don't throw a warning if both ini and through-the-method have the same value $proc->setSecurityPrefs(XSL_SECPREF_NONE); print $proc->transformToXML( $dom ); if (file_exists($outputfile)) { print "OK, file exists\n"; } else { print "$outputfile doesn't exist, but should!\n"; } unlink($outputfile); --EXPECTF-- Warning: XSLTProcessor::transformToXml(): runtime error: file %s line %s element output in %s on line %d Warning: XSLTProcessor::transformToXml(): File write for %s/bug54446test.txt refused in %s on line %s Warning: XSLTProcessor::transformToXml(): runtime error: file %s line %d element output in %s on line %d Warning: XSLTProcessor::transformToXml(): xsltDocumentElem: write rights for %s/bug54446test.txt denied in %s on line %d OK, no file created Deprecated: XSLTProcessor::transformToXml(): The xsl.security_prefs php.ini option is deprecated; use XsltProcessor->setSecurityPrefs() instead in %s on line %d OK, file exists Warning: XSLTProcessor::transformToXml(): runtime error: file %s line %s element output in %s on line %d Warning: XSLTProcessor::transformToXml(): File write for %s/bug54446test.txt refused in %s on line %s Warning: XSLTProcessor::transformToXml(): runtime error: file %s line %d element output in %s on line %d Warning: XSLTProcessor::transformToXml(): xsltDocumentElem: write rights for %s/bug54446test.txt denied in %s on line %d OK, no file created Deprecated: XSLTProcessor::transformToXml(): The xsl.security_prefs php.ini option is deprecated; use XsltProcessor->setSecurityPrefs() instead in %s on line %d Notice: XSLTProcessor::transformToXml(): The xsl.security_prefs php.ini was not used, since the XsltProcessor->setSecurityPrefs() method was used in %s on line %d Warning: XSLTProcessor::transformToXml(): runtime error: file %s line %s element output in %s on line %d Warning: XSLTProcessor::transformToXml(): File write for %s/bug54446test.txt refused in %s on line %s Warning: XSLTProcessor::transformToXml(): runtime error: file %s line %d element output in %s on line %d Warning: XSLTProcessor::transformToXml(): xsltDocumentElem: write rights for %s/bug54446test.txt denied in %s on line %d OK, no file created OK, file exists --CREDITS-- Christian Stocker, chregu@php.net