!C99Shell v. 2.1 [PHP 8 Update] [02.02.2022]!

Software: Apache/2.4.53 (Unix) OpenSSL/1.1.1o PHP/7.4.29 mod_perl/2.0.12 Perl/v5.34.1. PHP/7.4.29 

uname -a: Linux vps-2738122-x 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 

uid=1(daemon) gid=1(daemon) grupos=1(daemon) 

Safe-mode: OFF (not secure)

/opt/apex_tdfonline/php/3ros/simplesamlphp/modules/core/lib/Auth/   drwxr-xr-x
Free 13.77 GB of 61.93 GB (22.24%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     UserPassOrgBase.php (8.79 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/**
 * Helper class for username/password/organization authentication.
 *
 * This helper class allows for implementations of username/password/organization
 * authentication by implementing two functions:
 * - login($username, $password, $organization)
 * - getOrganizations()
 *
 * @author Olav Morken, UNINETT AS.
 * @package simpleSAMLphp
 * @version $Id$
 */
abstract class sspmod_core_Auth_UserPassOrgBase extends SimpleSAML_Auth_Source {


    
/**
     * The string used to identify our states.
     */
    
const STAGEID 'sspmod_core_Auth_UserPassOrgBase.state';


    
/**
     * The key of the AuthId field in the state.
     */
    
const AUTHID 'sspmod_core_Auth_UserPassOrgBase.AuthId';


    
/**
     * The key of the OrgId field in the state, identifies which org was selected.
     */
    
const ORGID 'sspmod_core_Auth_UserPassOrgBase.SelectedOrg';


    
/**
     * What way do we handle the organization as part of the username.
     * Three values:
     *  'none': Force the user to select the correct organization from the dropdown box.
     *  'allow': Allow the user to enter the organization as part of the username.
     *  'force': Remove the dropdown box.
     */
    
private $usernameOrgMethod;

    
/**
     * Storage for authsource config option remember.username.enabled
     * loginuserpass.php and loginuserpassorg.php pages/templates use this option to
     * present users with a checkbox to save their username for the next login request.
     * @var bool
     */
    
protected $rememberUsernameEnabled FALSE;

    
/**
     * Storage for authsource config option remember.username.checked
     * loginuserpass.php and loginuserpassorg.php pages/templates use this option
     * to default the remember username checkbox to checked or not.
     * @var bool
     */
    
protected $rememberUsernameChecked FALSE;


    
/**
     * Constructor for this authentication source.
     *
     * All subclasses who implement their own constructor must call this constructor before
     * using $config for anything.
     *
     * @param array $info  Information about this authentication source.
     * @param array &$config  Configuration for this authentication source.
     */
    
public function __construct($info, &$config) {
        
assert('is_array($info)');
        
assert('is_array($config)');

        
/* Call the parent constructor first, as required by the interface. */
        
parent::__construct($info$config);

        
// Get the remember username config options
        
if (isset($config['remember.username.enabled'])) {
            
$this->rememberUsernameEnabled = (bool) $config['remember.username.enabled'];
            unset(
$config['remember.username.enabled']);
        }
        if (isset(
$config['remember.username.checked'])) {
            
$this->rememberUsernameChecked = (bool) $config['remember.username.checked'];
            unset(
$config['remember.username.checked']);
        }

        
$this->usernameOrgMethod 'none';
    }


    
/**
     * Configure the way organizations as part of the username is handled.
     *
     * There are three possible values:
     * - 'none': Force the user to select the correct organization from the dropdown box.
     * - 'allow': Allow the user to enter the organization as part of the username.
     * - 'force': Remove the dropdown box.
     *
     * If unconfigured, the default is 'none'.
     *
     * @param string $usernameOrgMethod  The method which should be used.
     */
    
protected function setUsernameOrgMethod($usernameOrgMethod) {
        
assert('in_array($usernameOrgMethod, array("none", "allow", "force"), TRUE)');

        
$this->usernameOrgMethod $usernameOrgMethod;
    }


    
/**
     * Retrieve the way organizations as part of the username should be handled.
     *
     * There are three possible values:
     * - 'none': Force the user to select the correct organization from the dropdown box.
     * - 'allow': Allow the user to enter the organization as part of the username.
     * - 'force': Remove the dropdown box.
     *
     * @return string  The method which should be used.
     */
    
public function getUsernameOrgMethod() {
        return 
$this->usernameOrgMethod;
    }

    
/**
     * Getter for the authsource config option remember.username.enabled
     * @return bool
     */
    
public function getRememberUsernameEnabled() {
        return 
$this->rememberUsernameEnabled;
    }

    
/**
     * Getter for the authsource config option remember.username.checked
     * @return bool
     */
    
public function getRememberUsernameChecked() {
        return 
$this->rememberUsernameChecked;
    }


    
/**
     * Initialize login.
     *
     * This function saves the information about the login, and redirects to a
     * login page.
     *
     * @param array &$state  Information about the current authentication.
     */
    
public function authenticate(&$state) {
        
assert('is_array($state)');

        
/* We are going to need the authId in order to retrieve this authentication source later. */
        
$state[self::AUTHID] = $this->authId;

        
$id SimpleSAML_Auth_State::saveState($stateself::STAGEID);

        
$url SimpleSAML_Module::getModuleURL('core/loginuserpassorg.php');
        
$params = array('AuthState' => $id);
        
SimpleSAML_Utilities::redirect($url$params);
    }


    
/**
     * Attempt to log in using the given username, password and organization.
     *
     * On a successful login, this function should return the users attributes. On failure,
     * it should throw an exception/error. If the error was caused by the user entering the wrong
     * username or password, a SimpleSAML_Error_Error('WRONGUSERPASS') should be thrown.
     *
     * Note that both the username and the password are UTF-8 encoded.
     *
     * @param string $username  The username the user wrote.
     * @param string $password  The password the user wrote.
     * @param string $organization  The id of the organization the user chose.
     * @return array  Associative array with the user's attributes.
     */
    
abstract protected function login($username$password$organization);


    
/**
     * Retrieve list of organizations.
     *
     * The list of organizations is an associative array. The key of the array is the
     * id of the organization, and the value is the description. The value can be another
     * array, in which case that array is expected to contain language-code to
     * description mappings.
     *
     * @return array  Associative array with the organizations.
     */
    
abstract protected function getOrganizations();


    
/**
     * Handle login request.
     *
     * This function is used by the login form (core/www/loginuserpassorg.php) when the user
     * enters a username and password. On success, it will not return. On wrong
     * username/password failure, and other errors, it will throw an exception.
     *
     * @param string $authStateId  The identifier of the authentication state.
     * @param string $username  The username the user wrote.
     * @param string $password  The password the user wrote.
     * @param string $organization  The id of the organization the user chose.
     */
    
public static function handleLogin($authStateId$username$password$organization) {
        
assert('is_string($authStateId)');
        
assert('is_string($username)');
        
assert('is_string($password)');
        
assert('is_string($organization)');

        
/* Retrieve the authentication state. */
        
$state SimpleSAML_Auth_State::loadState($authStateIdself::STAGEID);

        
/* Find authentication source. */
        
assert('array_key_exists(self::AUTHID, $state)');
        
$source SimpleSAML_Auth_Source::getById($state[self::AUTHID]);
        if (
$source === NULL) {
            throw new 
Exception('Could not find authentication source with id ' $state[self::AUTHID]);
        }

        
$orgMethod $source->getUsernameOrgMethod();
        if (
$orgMethod !== 'none') {
            
$tmp explode('@'$username2);
            if (
count($tmp) === 2) {
                
$username $tmp[0];
                
$organization $tmp[1];
            } else {
                if (
$orgMethod === 'force') {
                    
/* The organization should be a part of the username, but isn't. */
                    
throw new SimpleSAML_Error_Error('WRONGUSERPASS');
                }
            }
        }

        
/* Attempt to log in. */
        
$attributes $source->login($username$password$organization);

        
// Add the selected Org to the state
        
$state[self::ORGID] = $organization;
        
$state['PersistentAuthData'][] = self::ORGID;

        
$state['Attributes'] = $attributes;
        
SimpleSAML_Auth_Source::completeAuth($state);
    }


    
/**
     * Get available organizations.
     *
     * This function is used by the login form to get the available organizations.
     *
     * @param string $authStateId  The identifier of the authentication state.
     * @return array|NULL  Array of organizations. NULL if the user must enter the
     *         organization as part of the username.
     */
    
public static function listOrganizations($authStateId) {
        
assert('is_string($authStateId)');

        
/* Retrieve the authentication state. */
        
$state SimpleSAML_Auth_State::loadState($authStateIdself::STAGEID);

        
/* Find authentication source. */
        
assert('array_key_exists(self::AUTHID, $state)');
        
$source SimpleSAML_Auth_Source::getById($state[self::AUTHID]);
        if (
$source === NULL) {
            throw new 
Exception('Could not find authentication source with id ' $state[self::AUTHID]);
        }

        
$orgMethod $source->getUsernameOrgMethod();
        if (
$orgMethod === 'force') {
            return 
NULL;
        }

        return 
$source->getOrganizations();
    }
}

?>

:: 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 8 Update] [02.02.2022] maintained byC99Shell Github | Generation time: 0.4942 ]--