!C99Shell v.2.1 [PHP 7 Update] [1.12.2019]!

Software: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16. PHP/5.4.16 

uname -a: Linux roko-bkp 3.10.0-1160.102.1.el7.x86_64 #1 SMP Tue Oct 17 15:42:21 UTC 2023 x86_64 

uid=48(apache) gid=48(apache) groups=48(apache),1003(webmaster) 

Safe-mode: OFF (not secure)

/usr/share/phpMyAdmin/test/libraries/core/   drwxr-xr-x
Free 8.94 GB of 93.48 GB (9.56%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     PMA_headerLocation_test.php (8.85 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * Test for PMA_sendHeaderLocation
 *
 * @package PhpMyAdmin-test
 */

/*
 * Include to test.
 */
require_once 'libraries/Util.class.php';
require_once 
'libraries/vendor_config.php';
require_once 
'libraries/core.lib.php';
require_once 
'libraries/js_escape.lib.php';
require_once 
'libraries/select_lang.lib.php';
require_once 
'libraries/sanitizing.lib.php';
require_once 
'libraries/Config.class.php';
require_once 
'libraries/url_generating.lib.php';
require_once 
'libraries/Theme.class.php';
require_once 
'libraries/Table.class.php';
require_once 
'libraries/php-gettext/gettext.inc';
require_once 
'libraries/Response.class.php';

/**
 * Test function sending headers.
 * Warning - these tests set constants, so it can interfere with other tests
 * If you have runkit extension, then it is possible to back changes made on
 * constants rest of options can be tested only with apd, when functions header
 * and headers_sent are redefined rename_function() of header and headers_sent
 * may cause CLI error report in Windows XP (but tests are done correctly)
 * additional functions which were created during tests must be stored to
 * coverage test e.g.
 *
 * <code>
 * rename_function(
 *     'headers_sent',
 *     'headers_sent'.str_replace(array('.', ' '),array('', ''),microtime())
 * );
 * </code>
 *
 * @package PhpMyAdmin-test
 */

class PMA_HeaderLocation_Test extends PHPUnit_Framework_TestCase
{

    protected 
$oldIISvalue;
    protected 
$oldSIDvalue;
    protected 
$runkitExt;
    protected 
$apdExt;

    
/**
     * Set up
     *
     * @return void
     */
    
public function setUp()
    {
        
//session_start();

        // cleaning constants
        
if (PMA_HAS_RUNKIT) {

            
$this->oldIISvalue 'non-defined';

            
$defined_constants get_defined_constants(true);
            
$user_defined_constants $defined_constants['user'];
            if (
array_key_exists('PMA_IS_IIS'$user_defined_constants)) {
                
$this->oldIISvalue PMA_IS_IIS;
                
runkit_constant_redefine('PMA_IS_IIS'null);
            } else {
                
runkit_constant_add('PMA_IS_IIS'null);
            }

            
$this->oldSIDvalue 'non-defined';

            if (
array_key_exists('SID'$user_defined_constants)) {
                
$this->oldSIDvalue SID;
                
runkit_constant_redefine('SID'null);
            } else {
                
runkit_constant_add('SID'null);
            }

        }
        
$_SESSION['PMA_Theme'] = PMA_Theme::load('./themes/pmahomme');
        
$GLOBALS['server'] = 0;
        
$GLOBALS['PMA_Config'] = new PMA_Config();
        
$GLOBALS['PMA_Config']->enableBc();
    }

    
/**
     * Tear down
     *
     * @return void
     */
    
public function tearDown()
    {
        
//session_destroy();

        // cleaning constants
        
if (PMA_HAS_RUNKIT) {

            if (
$this->oldIISvalue != 'non-defined') {
                
runkit_constant_redefine('PMA_IS_IIS'$this->oldIISvalue);
            } elseif (
defined('PMA_IS_IIS')) {
                
runkit_constant_remove('PMA_IS_IIS');
            }

            if (
$this->oldSIDvalue != 'non-defined') {
                
runkit_constant_redefine('SID'$this->oldSIDvalue);
            } elseif (
defined('SID')) {
                
runkit_constant_remove('SID');
            }
        }
    }

    
/**
     * Test for PMA_sendHeaderLocation
     *
     * @return void
     */
    
public function testSendHeaderLocationWithSidUrlWithQuestionMark()
    {
        if (
defined('PMA_TEST_HEADERS')) {

            
runkit_constant_redefine('SID'md5('test_hash'));

            
$testUri 'http://testurl.com/test.php?test=test';
            
$separator PMA_URL_getArgSeparator();

            
$header = array('Location: ' $testUri $separator SID);

            
/* sets $GLOBALS['header'] */
            
PMA_sendHeaderLocation($testUri);

            
$this->assertEquals($header$GLOBALS['header']);

        } else {
            
$this->markTestSkipped(
                
'Cannot redefine constant/function - missing runkit extension'
            
);
        }

    }

    
/**
     * Test for PMA_sendHeaderLocation
     *
     * @return void
     */
    
public function testSendHeaderLocationWithSidUrlWithoutQuestionMark()
    {
        if (
defined('PMA_TEST_HEADERS')) {

            
runkit_constant_redefine('SID'md5('test_hash'));

            
$testUri 'http://testurl.com/test.php';

            
$header = array('Location: ' $testUri '?' SID);

            
PMA_sendHeaderLocation($testUri);            // sets $GLOBALS['header']
            
$this->assertEquals($header$GLOBALS['header']);

        } else {
            
$this->markTestSkipped(
                
'Cannot redefine constant/function - missing runkit extension'
            
);
        }

    }

    
/**
     * Test for PMA_sendHeaderLocation
     *
     * @return void
     */
    
public function testSendHeaderLocationWithoutSidWithIis()
    {
        if (
defined('PMA_TEST_HEADERS')) {

            
runkit_constant_redefine('PMA_IS_IIS'true);

            
$testUri 'http://testurl.com/test.php';

            
$header = array('Location: ' $testUri);
            
PMA_sendHeaderLocation($testUri); // sets $GLOBALS['header']
            
$this->assertEquals($header$GLOBALS['header']);

            
//reset $GLOBALS['header'] for the next assertion
            
unset($GLOBALS['header']);

            
$header = array('Refresh: 0; ' $testUri);
            
PMA_sendHeaderLocation($testUritrue); // sets $GLOBALS['header']
            
$this->assertEquals($header$GLOBALS['header']);

        } else {
            
$this->markTestSkipped(
                
'Cannot redefine constant/function - missing runkit extension'
            
);
        }

    }

    
/**
     * Test for PMA_sendHeaderLocation
     *
     * @return void
     */
    
public function testSendHeaderLocationWithoutSidWithoutIis()
    {
        if (
defined('PMA_TEST_HEADERS')) {

            
$testUri 'http://testurl.com/test.php';
            
$header = array('Location: ' $testUri);

            
PMA_sendHeaderLocation($testUri);            // sets $GLOBALS['header']
            
$this->assertEquals($header$GLOBALS['header']);

        } else {
            
$this->markTestSkipped(
                
'Cannot redefine constant/function - missing runkit extension'
            
);
        }

    }

    
/**
     * Test for PMA_sendHeaderLocation
     *
     * @return void
     */
    
public function testSendHeaderLocationIisLongUri()
    {
        if (
defined('PMA_IS_IIS') && PMA_HAS_RUNKIT) {
            
runkit_constant_redefine('PMA_IS_IIS'true);
        } elseif (!
defined('PMA_IS_IIS')) {
            
define('PMA_IS_IIS'true);
        } else {
            
$this->markTestSkipped(
                
'Cannot redefine constant/function - missing runkit extension'
            
);
        }

        
// over 600 chars
        
$testUri 'http://testurl.com/test.php?testlonguri=over600chars&test=test'
            
'&test=test&test=test&test=test&test=test&test=test&test=test'
            
'&test=test&test=test&test=test&test=test&test=test&test=test'
            
'&test=test&test=test&test=test&test=test&test=test&test=test'
            
'&test=test&test=test&test=test&test=test&test=test&test=test'
            
'&test=test&test=test&test=test&test=test&test=test&test=test'
            
'&test=test&test=test&test=test&test=test&test=test&test=test'
            
'&test=test&test=test&test=test&test=test&test=test&test=test'
            
'&test=test&test=test&test=test&test=test&test=test&test=test'
            
'&test=test&test=test&test=test&test=test&test=test&test=test'
            
'&test=test&test=test';
        
$testUri_html htmlspecialchars($testUri);
        
$testUri_js PMA_escapeJsString($testUri);

        
$header =    "<html><head><title>- - -</title>\n" .
                    
"<meta http-equiv=\"expires\" content=\"0\">\n" .
                    
"<meta http-equiv=\"Pragma\" content=\"no-cache\">\n" .
                    
"<meta http-equiv=\"Cache-Control\" content=\"no-cache\">\n" .
                    
"<meta http-equiv=\"Refresh\" content=\"0;url=" $testUri_html
                    
"\">\n" .
                    
"<script type=\"text/javascript\">\n" .
                    
"//<![CDATA[\n" .
                    
"setTimeout(\"window.location = unescape('\"" $testUri_js
                    
"\"')\", 2000);\n" .
                    
"//]]>\n" .
                    
"</script>\n" .
                    
"</head>\n" .
                    
"<body>\n" .
                    
"<script type=\"text/javascript\">\n" .
                    
"//<![CDATA[\n" .
                    
"document.write('<p><a href=\"" $testUri_html "\">"
                    
__('Go') . "</a></p>');\n" .
                    
"//]]>\n" .
                    
"</script></body></html>\n";

        
$this->expectOutputString($header);

        
PMA_sendHeaderLocation($testUri);
    }
}
?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v.2.1 [PHP 7 Update] [1.12.2019] maintained by KaizenLouie and updated by cermmik | C99Shell Github (MySQL update) | Generation time: 0.0048 ]--