!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: nginx/1.18.0. PHP/7.4.29 

uname -a: Linux ip-172-31-23-220 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025
aarch64
 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/var/www/srishticampus.in/wp-includes/   drwxrwxr-x
Free 39.75 GB of 48.28 GB (82.34%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     class-wp-recovery-mode-key-service.php (4.17 KB)      -rw-rw-r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * Error Protection API: WP_Recovery_Mode_Key_Service class
 *
 * @package WordPress
 * @since 5.2.0
 */

/**
 * Core class used to generate and validate keys used to enter Recovery Mode.
 *
 * @since 5.2.0
 */
final class WP_Recovery_Mode_Key_Service {

    
/**
     * The option name used to store the keys.
     *
     * @since 5.2.0
     * @var string
     */
    
private $option_name 'recovery_keys';

    
/**
     * Creates a recovery mode token.
     *
     * @since 5.2.0
     *
     * @return string A random string to identify its associated key in storage.
     */
    
public function generate_recovery_mode_token() {
        return 
wp_generate_password22false );
    }

    
/**
     * Creates a recovery mode key.
     *
     * @since 5.2.0
     *
     * @global PasswordHash $wp_hasher
     *
     * @param string $token A token generated by {@see generate_recovery_mode_token()}.
     * @return string Recovery mode key.
     */
    
public function generate_and_store_recovery_mode_key$token ) {

        global 
$wp_hasher;

        
$key wp_generate_password22false );

        if ( empty( 
$wp_hasher ) ) {
            require_once 
ABSPATH WPINC '/class-phpass.php';
            
$wp_hasher = new PasswordHash8true );
        }

        
$hashed $wp_hasher->HashPassword$key );

        
$records $this->get_keys();

        
$records$token ] = array(
            
'hashed_key' => $hashed,
            
'created_at' => time(),
        );

        
$this->update_keys$records );

        
/**
         * Fires when a recovery mode key is generated.
         *
         * @since 5.2.0
         *
         * @param string $token The recovery data token.
         * @param string $key   The recovery mode key.
         */
        
do_action'generate_recovery_mode_key'$token$key );

        return 
$key;
    }

    
/**
     * Verifies if the recovery mode key is correct.
     *
     * Recovery mode keys can only be used once; the key will be consumed in the process.
     *
     * @since 5.2.0
     *
     * @param string $token The token used when generating the given key.
     * @param string $key   The unhashed key.
     * @param int    $ttl   Time in seconds for the key to be valid for.
     * @return true|WP_Error True on success, error object on failure.
     */
    
public function validate_recovery_mode_key$token$key$ttl ) {

        
$records $this->get_keys();

        if ( ! isset( 
$records$token ] ) ) {
            return new 
WP_Error'token_not_found'__'Recovery Mode not initialized.' ) );
        }

        
$record $records$token ];

        
$this->remove_key$token );

        if ( ! 
is_array$record ) || ! isset( $record['hashed_key'], $record['created_at'] ) ) {
            return new 
WP_Error'invalid_recovery_key_format'__'Invalid recovery key format.' ) );
        }

        if ( ! 
wp_check_password$key$record['hashed_key'] ) ) {
            return new 
WP_Error'hash_mismatch'__'Invalid recovery key.' ) );
        }

        if ( 
time() > $record['created_at'] + $ttl ) {
            return new 
WP_Error'key_expired'__'Recovery key expired.' ) );
        }

        return 
true;
    }

    
/**
     * Removes expired recovery mode keys.
     *
     * @since 5.2.0
     *
     * @param int $ttl Time in seconds for the keys to be valid for.
     */
    
public function clean_expired_keys$ttl ) {

        
$records $this->get_keys();

        foreach ( 
$records as $key => $record ) {
            if ( ! isset( 
$record['created_at'] ) || time() > $record['created_at'] + $ttl ) {
                unset( 
$records$key ] );
            }
        }

        
$this->update_keys$records );
    }

    
/**
     * Removes a used recovery key.
     *
     * @since 5.2.0
     *
     * @param string $token The token used when generating a recovery mode key.
     */
    
private function remove_key$token ) {

        
$records $this->get_keys();

        if ( ! isset( 
$records$token ] ) ) {
            return;
        }

        unset( 
$records$token ] );

        
$this->update_keys$records );
    }

    
/**
     * Gets the recovery key records.
     *
     * @since 5.2.0
     *
     * @return array Associative array of $token => $data pairs, where $data has keys 'hashed_key'
     *               and 'created_at'.
     */
    
private function get_keys() {
        return (array) 
get_option$this->option_name, array() );
    }

    
/**
     * Updates the recovery key records.
     *
     * @since 5.2.0
     *
     * @param array $keys Associative array of $token => $data pairs, where $data has keys 'hashed_key'
     *                    and 'created_at'.
     * @return bool True on success, false on failure.
     */
    
private function update_keys( array $keys ) {
        return 
update_option$this->option_name$keys );
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

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

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0059 ]--