Обход защиты доступа к Php файлу через Defined

Тема в разделе "PHP программирование", создана пользователем EmptyR, 17 сен 2011.

  1. EmptyR

    EmptyR Веб мастер

    Регистрация:
    6 окт 2010
    Сообщения:
    221
    Симпатии:
    0
    Заметил, что часто встречается защита доступа к содержимому php файла с помощью выяснения, определена ли некоторая переменная. Например, в DLE:
    Код (PHP):
    if( ! defined( 'DATALIFEENGINE' ) ) {
    die( "Hacking attempt!" );
    }
    Появляются подозрения, что всё таки, это не выход. Хотел бы обсудить, возможен ли обход такой простой защиты, или нет?

    Я смутно представляю, что обход теоретически возможен через доступный index.php, если в нём как то произвести инклудит этого запрещённого файла. Хотя сам не уверен в этом.
    Если есть какие то доступные материалы по той теме, поделитесь, если не трудно.
     
  2. 1ive

    1ive Well-Known Member
    Web Team

    Регистрация:
    12 сен 2010
    Сообщения:
    694
    Симпатии:
    0
    Ты несешь что-то непонятное)

    Твоя "Защита" - это просто проверка константы для модуля системы.
    Тоесть изначально устанавливается "define('DATALIFEENGINE', true);" в index.php, а затем просто проверяется, дабы никто не умудрился запустить скрипт вне админки..

    Получить "доступ к содержимому PHP" ты никаким образом не сможешь, хоть укакайся.

    Код (PHP):
    define('DATALIFEENGINE', true);
    include('../module.php');
     
  3. EmptyR

    EmptyR Веб мастер

    Регистрация:
    6 окт 2010
    Сообщения:
    221
    Симпатии:
    0
    Согласен, я имел ввиду то, что возможно чтобы файл продолжал выполняться а не уходил в даун от die, т.е., чтобы сэмулировать существование переменной DATALIFEENGINE?
     
  4. 1ive

    1ive Well-Known Member
    Web Team

    Регистрация:
    12 сен 2010
    Сообщения:
    694
    Симпатии:
    0
    Я же написал выше:
    Так он будет работать.
    Код (PHP):
    define('DATALIFEENGINE', true);
    include('../module.php');
     
  5. EmptyR

    EmptyR Веб мастер

    Регистрация:
    6 окт 2010
    Сообщения:
    221
    Симпатии:
    0
    Т.е., именно обойти это невозможно? Просто мне стало интересно тестировать сайты на обход такой защиты (доступа непосредственно к файлам). Вот и начал думать, реально ли.
     
  6. 1ive

    1ive Well-Known Member
    Web Team

    Регистрация:
    12 сен 2010
    Сообщения:
    694
    Симпатии:
    0
    :facepalm: Я же уже готовый способ обхода написал, не тупи..
     
  7. EmptyR

    EmptyR Веб мастер

    Регистрация:
    6 окт 2010
    Сообщения:
    221
    Симпатии:
    0
    Ты так и не понял, что я хочу... Ещё раз. Нужно произвести атаку на стороний сайт, и выполнить файл, в котором стоит блокировка выполнения через defined. Ничего менять в php файле я не могу. Мне просто нужно обойти защиту.
     
  8. 1ive

    1ive Well-Known Member
    Web Team

    Регистрация:
    12 сен 2010
    Сообщения:
    694
    Симпатии:
    0
    Бл..ть.
    Я показал единственный возможный способ.
    Если на сервере жертвы включен allow_url_fopen, создаешь на своем сервере скрипт с кодом:
    Код (PHP):
    define('DATALIFEENGINE', true);
    include('http://ololo.com/ya-mudak/path/module.php');
    И запускаешь.

    Других способов нет.


    Или ты думаешь что все такие идиоты, а ты умный такой заметил уязвимость, с помощью которой можно сломать интернет?!?!
     
  9. EmptyR

    EmptyR Веб мастер

    Регистрация:
    6 окт 2010
    Сообщения:
    221
    Симпатии:
    0
    Уважаемый 1ive, а слабо ли вам общаться с людьми нормально? Я же не пишу подобное. Только в последнем посте был получен нормальный ответ, до этого было похоже, как будто я буду менять свои файлы, чтобы обойти защиту у самого себя.

    А по чайнику не хотите ли, уважаемый? Решайте за себя, что вы думаете о людях, я отношусь с уважением ко всем, даже к таким хамам. Как говорится, кто мне запрещает относиться к вам так же, уважаемый? Наверное соблюдение правил форума (исключая это сообщение, сами спровоцировали), и воспитание. Поэтому прошу, если "прёт", лучше вообще не отписываться по теме, чем начинать хамить.

    P.S.: Просто интересно, каким образом вас называли, когда вы чего то не знали, и просили помощи? Ах да, уже родились мега гуру... Прошу прощения, я человек.
     
  10. 1ive

    1ive Well-Known Member
    Web Team

    Регистрация:
    12 сен 2010
    Сообщения:
    694
    Симпатии:
    0
    Если заговорили об этом, я никогда не задавал никаких вопросов никому.
    И за каждый процент своего ЧСВ я могу ответить.

    А тебе бы хоть иногда стоило бы поразмыслить над данными тебе ответами.
     
Загрузка...

Поделиться этой страницей