!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\duplicator\classes\   drwxrwxrwx
Free 4.1 GB of 39.52 GB (10.37%)
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:     package.archive.zip.php (5.75 KB)      -rw-rw-rw-
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
if ( ! defined'DUPLICATOR_VERSION' ) ) exit; // Exit if accessed directly
require_once (DUPLICATOR_PLUGIN_PATH 'classes/package.archive.php');

/**
 *  DUP_ZIP
 *  Creates a zip file using the built in PHP ZipArchive class
 */
class DUP_Zip  extends DUP_Archive {
    
    
//PRIVATE 
    
private static $compressDir;    
    private static 
$countDirs  0;
    private static 
$countFiles 0;
    private static 
$sqlPath;
    private static 
$zipPath;
    private static 
$zipFileSize;
    private static 
$zipArchive;
    
    private static 
$limitItems 0;
    private static 
$networkFlush false;
    private static 
$scanReport;
    
    
/**
     *  CREATE
     *  Creates the zip file and adds the SQL file to the archive
     */
    
static public function Create(DUP_Archive $archive) {
          try {
            
            
$timerAllStart DUP_Util::GetMicrotime();
            
$package_zip_flush DUP_Settings::Get('package_zip_flush');
            
            
self::$compressDir        rtrim(DUP_Util::SafePath($archive->PackDir), '/');
            
self::$sqlPath            DUP_Util::SafePath("{$archive->Package->StorePath}/{$archive->Package->Database->File}");
            
self::$zipPath            DUP_Util::SafePath("{$archive->Package->StorePath}/{$archive->File}");
            
self::$zipArchive        = new ZipArchive();
            
self::$networkFlush        = empty($package_zip_flush) ? false $package_zip_flush;
            
            
$filterDirs = empty($archive->FilterDirs) ? 'not set' $archive->FilterDirs;
            
$filterExts = empty($archive->FilterExts) ? 'not set' $archive->FilterExts;
            
$filterOn   = ($archive->FilterOn) ? 'ON' 'OFF';
            
            
//LOAD SCAN REPORT
            
$json file_get_contents(DUPLICATOR_SSDIR_PATH_TMP "/{$archive->Package->NameHash}_scan.json");
            
self::$scanReport json_decode($json);
            
            
DUP_Log::Info("\n********************************************************************************");
            
DUP_Log::Info("ARCHIVE (ZIP):");
            
DUP_Log::Info("********************************************************************************");
            
$isZipOpen = (self::$zipArchive->open(self::$zipPathZIPARCHIVE::CREATE) === TRUE);
            if (! 
$isZipOpen){
                
DUP_Log::Error("Cannot open zip file with PHP ZipArchive.""Path location [" self::$zipPath "]");
            }
            
DUP_Log::Info("ARCHIVE DIR:  " self::$compressDir);
            
DUP_Log::Info("ARCHIVE FILE: " basename(self::$zipPath));
            
DUP_Log::Info("FILTERS: *{$filterOn}*");
            
DUP_Log::Info("DIRS:  {$filterDirs}");
            
DUP_Log::Info("EXTS:  {$filterExts}");
            
            
DUP_Log::Info("----------------------------------------");
            
DUP_Log::Info("COMPRESSING");
            
DUP_Log::Info("SIZE:\t" self::$scanReport->ARC->Size);
            
DUP_Log::Info("STATS:\tDirs " self::$scanReport->ARC->DirCount " | Files " self::$scanReport->ARC->FileCount " | Links " self::$scanReport->ARC->LinkCount);
            
            
//ADD SQL 
            
$isSQLInZip self::$zipArchive->addFile(self::$sqlPath"database.sql");
            if (
$isSQLInZip)  {
                
DUP_Log::Info("SQL ADDED: " basename(self::$sqlPath));
            } else {
                
DUP_Log::Error("Unable to add database.sql to archive.""SQL File Path [" self::$sqlath "]");
            }
            
self::$zipArchive->close();
            
self::$zipArchive->open(self::$zipPathZipArchive::CREATE);
            
            
//ZIP DIRECTORIES
            
foreach(self::$scanReport->ARC->Dirs as $dir){
                if (
self::$zipArchive->addEmptyDir(ltrim(str_replace(self::$compressDir''$dir), '/'))) {
                    
self::$countDirs++;
                } else {
                    
//Don't warn when dirtory is the root path
                    
if (strcmp($dirrtrim(self::$compressDir'/')) != 0)
                        
DUP_Log::Info("WARNING: Unable to zip directory: '{$dir}'" rtrim(self::$compressDir'/'));
                }
            }
        
            
/* ZIP FILES: Network Flush
            *  This allows the process to not timeout on fcgi 
            *  setups that need a response every X seconds */
            
if (self::$networkFlush) {
                foreach(
self::$scanReport->ARC->Files as $file) {
                    if (
self::$zipArchive->addFile($fileltrim(str_replace(self::$compressDir''$file), '/'))) {
                        
self::$limitItems++;
                        
self::$countFiles++;
                    } else {
                        
DUP_Log::Info("WARNING: Unable to zip file: {$file}");
                    }
                    
//Trigger a flush to the web server after so many files have been loaded.
                    
if(self::$limitItems DUPLICATOR_ZIP_FLUSH_TRIGGER) {
                        
$sumItems = (self::$countDirs self::$countFiles);
                        
self::$zipArchive->close();
                        
self::$zipArchive->open(self::$zipPath);
                        
self::$limitItems 0;
                        
DUP_Util::FcgiFlush();
                        
DUP_Log::Info("Items archived [{$sumItems}] flushing response.");
                    }
                }
            
//Normal
            
} else {
                foreach(
self::$scanReport->ARC->Files as $file) {
                    if (
self::$zipArchive->addFile($fileltrim(str_replace(self::$compressDir''$file), '/'))) {
                        
self::$countFiles++;
                    } else {
                        
DUP_Log::Info("WARNING: Unable to zip file: {$file}");
                    }
                }
            }
            
            
DUP_Log::Info(print_r(self::$zipArchivetrue));

            
//--------------------------------
            //LOG FINAL RESULTS
            
DUP_Util::FcgiFlush();
            
$zipCloseResult self::$zipArchive->close();
            (
$zipCloseResult
                ? 
DUP_Log::Info("COMPRESSION RESULT: '{$zipCloseResult}'")
                : 
DUP_Log::Error("ZipArchive close failure.""This hosted server may have a disk quota limit.\nCheck to make sure this archive file can be stored.");
        
            
$timerAllEnd DUP_Util::GetMicrotime();
            
$timerAllSum DUP_Util::ElapsedTime($timerAllEnd$timerAllStart);

            
            
self::$zipFileSize = @filesize(self::$zipPath);
            
DUP_Log::Info("COMPRESSED SIZE: " DUP_Util::ByteSize(self::$zipFileSize));
            
DUP_Log::Info("ARCHIVE RUNTIME: {$timerAllSum}");
            
DUP_Log::Info("MEMORY STACK: " DUP_Server::GetPHPMemory());
        } 
        catch (
Exception $e) {
            
DUP_Log::Error("Runtime error in package.archive.zip.php constructor.""Exception: {$e}");
        }
    }
    
}
?>

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