403Webshell
Server IP : 217.160.0.251  /  Your IP : 216.73.216.236
Web Server : Apache
System : Linux info 3.0 #1337 SMP Tue Jan 01 00:00:00 CEST 2000 all GNU/Linux
User : u94981163 ( 8991765)
PHP Version : 7.3.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/lib/php7.3/test/XML_RPC2/tests/XML_RPC2/phpBackend/server/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/php7.3/test/XML_RPC2/tests/XML_RPC2/phpBackend/server/validator1NestedStructTest.phpt
--TEST--
PHP Backend XML-RPC server Validator1 test (nestedStructTest)
--FILE--
<?php
class TestServer {
    /**
     * test function
     *
     * see http://www.xmlrpc.com/validator1Docs
     *
     * @param array $struct
     * @return int result
     */
    public static function nestedStructTest($struct) {
    	// just to avoir problems with numeric indexes...
    	$struct2 = array();
    	while (list($key, $year) = each($struct)) {
    		if ($key=='2000') {
    			while (list($key2, $month) = each($year)) {
    				if ($key2=='04') {
    					while (list($key3, $day) = each($month)) {
    						if ($key3=='01') {
    							return $day['moe'] + $day['larry'] + $day['curly'];
    						}
    					}
    				}
    			} 
    		}
    	}
    }
}

set_include_path(realpath(dirname(__FILE__) . '/../../../../') . PATH_SEPARATOR . get_include_path());
require_once 'XML/RPC2/Server.php';
$options = array(
	'prefix' => 'validator1.',
	'backend' => 'Php'
);

$server = XML_RPC2_Server::create('TestServer', $options);
$GLOBALS['HTTP_RAW_POST_DATA'] = <<<EOS
<?xml version="1.0" encoding="iso-8859-1"?>
<methodCall>
<methodName>validator1.nestedStructTest</methodName>
<params>
 <param>
  <value>
   <struct>
    <member>
     <name>1999</name>
     <value>
      <struct>
       <member>
        <name>04</name>
        <value>
         <array>
          <data/>
         </array>
        </value>
       </member>
      </struct>
     </value>
    </member>
    <member>
     <name>2000</name>
     <value>
      <struct>
       <member>
        <name>04</name>
        <value>
         <struct>
          <member>
           <name>01</name>
           <value>
            <struct>
             <member>
              <name>moe</name>
              <value>
               <int>12</int>
              </value>
             </member>
             <member>
              <name>larry</name>
              <value>
               <int>14</int>
              </value>
             </member>
             <member>
              <name>curly</name>
              <value>
               <int>9</int>
              </value>
             </member>
            </struct>
           </value>
          </member>
         </struct>
        </value>
       </member>
      </struct>
     </value>
    </member>
    <member>
     <name>2001</name>
     <value>
      <struct>
       <member>
        <name>04</name>
        <value>
         <array>
          <data/>
         </array>
        </value>
       </member>
      </struct>
     </value>
    </member>
   </struct>
  </value>
 </param>
</params>
</methodCall>
EOS
;
$response = $server->getResponse();
$result = (XML_RPC2_Backend_Php_Response::decode(simplexml_load_string($response)));
var_dump($result);

?>
--EXPECT--
int(35)

Youez - 2016 - github.com/yon3zu
LinuXploit