!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.36%)
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:     SAP.php (5.24 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 SAP system using the SAPRFC PHP extension.
 *
 * Requires the SAPRFC ext available at http://saprfc.sourceforge.net/
 *
 * PHP version 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     Stoyan Stefanov <ssttoo@gmail.com>
 * @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: SAP.php 302205 2010-08-14 14:08:08Z clockwerx $
 * @link       http://pear.php.net/package/Auth
 * @since      File available since Release 1.4.0
 */

/**
 * Include Auth_Container base class
 */
require_once 'Auth/Container.php';
/**
 * Include PEAR for error handling
 */
require_once 'PEAR.php';

/**
 * Performs authentication against a SAP system using the SAPRFC PHP extension.
 *
 * When the option GETSSO2 is TRUE (default)
 * the Single Sign-On (SSO) ticket is retrieved
 * and stored as an Auth attribute called 'sap'
 * in order to be reused for consecutive connections.
 *
 * @category   Authentication
 * @package    Auth
 * @author     Stoyan Stefanov <ssttoo@gmail.com>
 * @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: 302205 $
 * @since      Class available since Release 1.4.0
 */
class Auth_Container_SAP extends Auth_Container {

    
// {{{ properties

    /**
     * @var array Default options
     */
    
var $options = array(
        
'CLIENT'    => '000',
        
'LANG'      => 'EN',
        
'GETSSO2'   => true,
    );

    
// }}}
    // {{{ Auth_Container_SAP()

    /**
     * Class constructor. Checks that required options
     * are present and that the SAPRFC extension is loaded
     *
     * Options that can be passed and their defaults:
     * <pre>
     * array(
     *   'ASHOST' => "",
     *   'SYSNR'  => "",
     *   'CLIENT' => "000",
     *   'GWHOST' =>"",
     *   'GWSERV' =>"",
     *   'MSHOST' =>"",
     *   'R3NAME' =>"",
     *   'GROUP'  =>"",
     *   'LANG'   =>"EN",
     *   'TRACE'  =>"",
     *   'GETSSO2'=> true
     * )
     * </pre>
     *
     * @param array array of options.
     * @return void
     */
    
function Auth_Container_SAP($options)
    {
        
$saprfc_loaded PEAR::loadExtension('saprfc');
        if (!
$saprfc_loaded) {
            return 
PEAR::raiseError('Cannot use SAP authentication, '
                    
.'SAPRFC extension not loaded!');
        }
        if (empty(
$options['R3NAME']) && empty($options['ASHOST'])) {
            return 
PEAR::raiseError('R3NAME or ASHOST required for authentication');
        }
        
$this->options array_merge($this->options$options);
    }

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

    /**
     * Performs username and password check
     *
     * @param string Username
     * @param string Password
     * @return boolean TRUE on success (valid user), FALSE otherwise
     */
    
function fetchData($username$password)
    {
        
$this->log('Auth_Container_SAP::fetchData() called.'AUTH_LOG_DEBUG);
        
$connection_options $this->options;
        
$connection_options['USER'] = $username;
        
$connection_options['PASSWD'] = $password;
        
$rfc saprfc_open($connection_options);
        if (!
$rfc) {
            
$message "Couldn't connect to the SAP system.";
            
$error $this->getError();
            if (
$error['message']) {
                
$message .= ': ' $error['message'];
            }
            
PEAR::raiseError($messagenullnullnull, @$error['all']);
            return 
false;
        } else {
            if (!empty(
$this->options['GETSSO2'])) {
                
$this->log('Attempting to retrieve SSO2 ticket.'AUTH_LOG_DEBUG);
                if (
$ticket = @saprfc_get_ticket($rfc)) {
                    
$this->options['MYSAPSSO2'] = $ticket;
                    unset(
$this->options['GETSSO2']);
                    
$this->_auth_obj->setAuthData('sap'$this->options);
                } else {
                    
PEAR::raiseError("SSO ticket retrieval failed");
                }
            }
            @
saprfc_close($rfc);
            return 
true;
        }

    }

    
// }}}
    // {{{ getError()

    /**
     * Retrieves the last error from the SAP connection
     * and returns it as an array.
     *
     * @return array Array of error information
     */
    
function getError()
    {

        
$error = array();
        
$sap_error saprfc_error();
        if (empty(
$err)) {
            return 
$error;
        }
        
$err explode("n"$sap_error);
        foreach (
$err AS $line) {
            
$item explode(':'$line);
            
$error[strtolower(trim($item[0]))] = trim($item[1]);
        }
        
$error['all'] = $sap_error;
        return 
$error;
    }

    
// }}}

}

?>

:: 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 ]--