Можно ли узнать код инклудного php-файла

Discussion in 'PHP' started by je0n, 26 Jan 2007.

  1. je0n

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

    Joined:
    14 May 2006
    Messages:
    345
    Likes Received:
    96
    Reputations:
    41
    Может я сейчас ***(пи-БИп-ПиииП)ю буду нести. Если так, то не обращайте внимания. Короче я вот что подумал.
    Допустим я инклудю пхп-скрипт в другом скрипте. Можно ли как-нибудь вычислить код вставляемого инклудируемого скрипта из второго скрипта? Ну может как-нибудь из телодвижений интерпретатора.
    Короче еще есть тема - почти в каждом языке можно написать программу, которая сама выведет свой код. Вот тут все это парни вроде обсудили:
    http://forum.codeby.net/lofiversion/index.php/t10105.html

    Еще с этого же форума вот ссылка на подобные программы на разных языках:
    http://www.nyx.net/~gthompso/quine.htm

    Я короче че думаю, если вывести такую прогу с инклудом, то выведеться функция include(...);
    или то что эта функция вставляет.

    P.S. Это так, чисто, глюкогенное восприятие мной этого мира )). На самом деле я еще не с чем этим не разбирался и хотел бы услышать ваше мнение по этому поводу. Просто гавно в голове всплыло, и нужно его срочно куда-то слить ))
     
  2. Helios

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

    Joined:
    14 Jan 2007
    Messages:
    414
    Likes Received:
    180
    Reputations:
    103
    если будешь выводить через

    echo 'include(somefile.php)';

    то выведется только текст, а не файл, который ты инклудил.

    Это э пыхпых, а не Си, где #include <чего-то> препроцессор перед компиляцией заменяет на содержимое файла.
     
    #2 Helios, 26 Jan 2007
    Last edited: 26 Jan 2007
  3. Helios

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

    Joined:
    14 Jan 2007
    Messages:
    414
    Likes Received:
    180
    Reputations:
    103
    без лишних телодвижений никак, только если дополнительно орткроешь его через fopen() или file().
     
  4. fucker"ok

    fucker"ok Elder - Старейшина

    Joined:
    21 Nov 2004
    Messages:
    578
    Likes Received:
    274
    Reputations:
    91
    get_included_files(); Возвращает массив инклудных файлов.
    show_source(); Как я понял из перевода показывает текст php файл-а с подсветкой, но у меня почему-то функция работать отказалась. Либо собрал php криво, либо работает только с apache :) (проверять влом)
    Ну а в принципе открытием фала и тупым чтением тоже можно организовать вывод программы самой себя целиком :)
     
  5. Helios

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

    Joined:
    14 Jan 2007
    Messages:
    414
    Likes Received:
    180
    Reputations:
    103
    угу, типа
     
  6. je0n

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

    Joined:
    14 May 2006
    Messages:
    345
    Likes Received:
    96
    Reputations:
    41
    У меня эта функция заработала, но вывела, к сожалению, хтмл код сгенерированный скриптом. Ну я типа так делал:
    Code:
    <?php
    show_source("http://labnauka.ru/new/guestbook.php");
    ?>
    
    Но цель моего вопроса была получить именно исходник самого скрипта, причем исходник скрипта с другого сервера. Ну, то есть хочу читать чужие коды, вот смысл.
    Вот в пхп-инклуде, ведь скрипт с моего сервера выполняется на уязвимом. Так вот я хочу инклудить чужой скрипт у себя на сервере и получить его код. Как можно взаимодействовать с интерпретатором с целью получения кода, который выполняется? есть какие идеи?
     
  7. _Great_

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

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,118
    Reputations:
    1,139
    лол. а ты че хотел?)
     
  8. nc.STRIEM

    nc.STRIEM Members of Antichat

    Joined:
    5 Apr 2006
    Messages:
    1,036
    Likes Received:
    347
    Reputations:
    292
    Способа нет! идей тоже! Ты не сможеш получить исходный код скрипта с чужого сервера!
     
    1 person likes this.
  9. _Great_

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

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,118
    Reputations:
    1,139
    тут даже без вариантов :)
    кроме как поломать его. и вообще такая тема уже была )