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


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

class toba_autenticacion_saml  extends toba_autenticacion implements  toba_autenticable
{
    protected 
$auth_source "default-sp";
    protected 
$atributo_usuario "urn:oid:0.9.2342.19200300.100.1.1";
    protected 
$permite_login_toba false;
    protected 
$path_sp "3ros/simplesamlphp";
    protected 
$saml_sp;
    protected 
$saml_attributes;
        
    function 
__construct()
    {
        
$archivo_ini_instalacion toba::nucleo()->toba_instalacion_dir().'/saml.ini';
        if (
is_file$archivo_ini_instalacion)) {
            
$parametros parse_ini_file($archivo_ini_instalaciontrue);
            if (isset(
$parametros['basicos']['auth_source'])) {
                
$this->auth_source $parametros['basicos']['auth_source'];
            }            
            if (isset(
$parametros['basicos']['atributo_usuario'])) {
                
$this->atributo_usuario $parametros['basicos']['atributo_usuario'];
            }    
            if (isset(
$parametros['basicos']['path_sp'])) {
                
$this->path_sp $parametros['basicos']['path_sp'];
            }                
            if (isset(
$parametros['basicos']['permite_login_toba'])) {
                
$this->permite_login_toba = ($parametros['basicos']['permite_login_toba'] == 1);
            }
        }
        require_once(
$this->path_sp.'/lib/_autoload.php');
    }
    
    function 
autenticar($id_usuario$clave$datos_iniciales=null)
    {
        if (
$this->uso_login_basico() && $this->permite_login_toba()) {                //Si es login toba no redirecciono al servidor CAS
            
return toba::manejador_sesiones()->invocar_autenticar($id_usuario$clave$datos_iniciales);
        }
        
$id_usuario $this->recuperar_usuario_toba();                            //Recupero usr y verifico existencia en toba, excepcion si no existe
        
return true;                                                    
    }
    
    function 
verificar_acceso() 
    {
        
$this->iniciar_pedido_saml();
        
$id_usuario $this->recuperar_usuario_toba();                        //Recupero usr y verifico existencia en toba, excepcion si no existe
        
toba::manejador_sesiones()->login($id_usuario'foobar');                //La clave no importa porque se autentifica via ticket
        
return $id_usuario;
    }

    function 
logout()
    {
        if (
$this->uso_login_basico() && $this->permite_login_toba()) {                //Si es login toba no redirecciono al servidor CAS
            
$this->eliminar_marca_login(self::$marca_login_basico);
            return;
        }        
        if (
$this->uso_login_centralizado()) {
            
$this->eliminar_marca_login(self::$marca_login_central);
        }        
        
$this->saml_sp = new SimpleSAML_Auth_Simple($this->auth_source);
        
$this->saml_sp->logout();

    }
    
    function 
verificar_logout()
    {
         if (
$this->uso_login_basico() && $this->permite_login_toba()) {    //Si es login toba, no chequear logout de SAML
            
return;
        }
        
        
$this->saml_sp = new SimpleSAML_Auth_Simple($this->auth_source);
        if (! 
$this->saml_sp->isAuthenticated()) {
            throw new 
toba_error_usuario("Ha sido deslogueado");
        }
    }    
        
    function 
verificar_clave_vencida($id_usuario)
    {
        return 
false;
    }    
    
    function 
permite_login_toba()
    {
        return 
$this->permite_login_toba;
    }
    
    function 
activar_debug()
    {        
    }    
    
    
//-------------------------------------------------------------------------------------------------------------------------------------------------------//
    //                            METODOS PROTEGIDOS
    //-------------------------------------------------------------------------------------------------------------------------------------------------------//
    
protected function iniciar_pedido_saml()
    {
        
$this->saml_sp = new SimpleSAML_Auth_Simple($this->auth_source);
        
$this->saml_sp->requireAuth();
        
$this->saml_attributes $this->saml_sp->getAttributes();
        
toba::logger()->debug("Attributos SAML: ".print_r($this->saml_attributestrue));
    }

    protected function 
recuperar_usuario_toba()
    {
        
$id_usuario $this->saml_attributes[$this->atributo_usuario][0];
        
$datos_usuario toba::instancia()->get_info_autenticacion($id_usuario);
        if (! isset(
$datos_usuario)) {                                                    //El usuario no existe en la bd de toba.
                
toba::logger()->crit("El usuario SAML '$id_usuario' no existe en la instancia toba");
                throw new 
toba_error_autenticacion("El usuario '$id_usuario' no esta dado de alta en el sistema");
        }
        return 
$id_usuario;
    }    
    
    
}
?>

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