Проверка содержания файла изображения

Discussion in 'Уязвимости' started by qaz, 24 Feb 2012.

  1. qaz

    qaz Elder - Старейшина

    Joined:
    12 Jul 2010
    Messages:
    1,582
    Likes Received:
    173
    Reputations:
    75
    Изучаю статью
    http://habrahabr.ru/blogs/php/44610/
    дошол до момента
    Проверка содержания файла изображения

    и тут стала небольшая загвоздка

    как и показано в примере
    сделал файл приёмщик
    PHP:
    <?php

    $imageinfo 
    getimagesize($_FILES['userfile']['tmp_name']);

     if(
    $imageinfo['mime'] != 'image/gif' && $imageinfo['mime'] != 'image/jpeg') {

      echo 
    "Sorry, we only accept GIF and JPEG images\n";

      exit;

     }

       
    // Проверяем загружен ли файл
       
    if(is_uploaded_file($_FILES["filename"]["tmp_name"]))
       {
         
    // Если файл загружен успешно, перемещаем его
         // из временной директории в конечную
         
    move_uploaded_file($_FILES["filename"]["tmp_name"], "".$_FILES["filename"]["name"]);
       } else {
          echo(
    "Ошибка загрузки файла");
       }

    ?>


    и файл отправщик

    PHP:
    <?
    $upload 'thumbup.php';
    $postdata = array('filename' => '@'.$upload.';type=image/gif');
    $ch curl_init();   
    curl_setopt($chCURLOPT_URL,"/upload/upload.php");  
    curl_setopt($chCURLOPT_RETURNTRANSFER0);
     
    curl_setopt($chCURLOPT_POST1);
     
    curl_setopt($chCURLOPT_POSTFIELDS$postdata);
     
    curl_setopt($chCURLOPT_CONNECTTIMEOUT30);
     
    curl_exec($ch); 
     
    curl_close($ch);
    ?>
    сам файл thumbup.php как я понял, ето взяли обычную гиф картинку добафили php код и поставили разширение php я также сделал, но ответ от сервера
    хотя в примере написано что должно обойти функцию getimagesize и загрузится, но не выходит, я даже попробовал в картинку ничего не добвлять, просто поменял разширения и серовно ответ тотже, что я делаю нетак?
     
    #1 qaz, 24 Feb 2012
    Last edited: 8 Mar 2012
  2. Чакэ

    Чакэ Elder - Старейшина

    Joined:
    15 Aug 2010
    Messages:
    260
    Likes Received:
    66
    Reputations:
    62
    у тебя функция пытается взять файл по индексу userfile, а отправляешь ты filename, и вроде как нужно отправлять строкой, а не массивом, в чём я не уверен. не занимался этим никогда..
     
    4 people like this.
  3. qaz

    qaz Elder - Старейшина

    Joined:
    12 Jul 2010
    Messages:
    1,582
    Likes Received:
    173
    Reputations:
    75
    дадействительно, всё из-за имени файла, спасиб) ета невнимательнеость меня погубит :D
     
  4. Brat-2

    Brat-2 Banned

    Joined:
    28 Feb 2012
    Messages:
    23
    Likes Received:
    0
    Reputations:
    -1


    Это точно возможно!
     
  5. vvs777

    vvs777 Elder - Старейшина

    Joined:
    16 Nov 2004
    Messages:
    390
    Likes Received:
    204
    Reputations:
    4
    qaz,
    НИКОГДА не используй name передаваемый пользователем
    по понятным причинам
     
    1 person likes this.
Loading...