 |
|

03.03.2012, 15:53
|
|
Познавший АНТИЧАТ
Регистрация: 16.07.2010
Сообщений: 1,022
С нами:
8328566
Репутация:
935
|
|
Сообщение от M_script
http://auto.mail.ru/article.html?id=111
http://auto.mail.ru/article.html?a=b&id=111
http://auto.mail.ru/article.html?a=b;id=111
Этого хватит? )
Хорошо Но всё же стоит отметить что символ ; как разделитель это прерогатива других протоколов (например таких как data), отличных от http(s), в http(s) это индивидуальная (не стандартная) настройка, и случаи такие единичные.
|
|
|

03.03.2012, 16:00
|
|
Познавший АНТИЧАТ
Регистрация: 16.07.2010
Сообщений: 1,022
С нами:
8328566
Репутация:
935
|
|
Сообщение от M_script
http://auto.mail.ru/article.html?id=111
http://auto.mail.ru/article.html?a=b&id=111
http://auto.mail.ru/article.html?a=b;id=111
Этого хватит? )
Кстати НЕТ, пожалуй не соглашусь, потому как в данном случае скорее всего используется mod_rewrite в котором собственная система парсинга получаемых данных.
|
|
|

03.03.2012, 16:09
|
|
Новичок
Регистрация: 04.11.2004
Сообщений: 5
С нами:
11322426
Репутация:
0
|
|
Это не стандарт HTTP-протокола, а рекомендация W3C, связанная со стандартом HTML, чтобы избавиться от 4-х лишних символов при написании пути ( &)
Ты просто не обращал внимания, на крупных серверах встречается часто.
Сообщение от Expl0ited
в данном случае скорее всего используется mod_rewrite в котором собственная система парсинга получаемых данных
Разницы нет, как реализовано. Если в RFC HTML прописана настоятельная рекомендация поддерживать разделитель ;, почему ты думаешь, что никто не будет выполнять эту рекомендацию?
yandex.ru
rambler.ru
msn.com
yahoo.com
|
|
|

03.03.2012, 16:57
|
|
Новичок
Регистрация: 21.06.2005
Сообщений: 0
С нами:
10992741
Репутация:
0
|
|
Сообщение от trololoman96
есть фильтр от инклуда такой
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]...
[/COLOR][COLOR="#0000BB"]preg_replace[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'/\.+\//'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$include[/COLOR][COLOR="#007700"]);
...
[/COLOR][/COLOR]
на виндовсе все понятно там слешы в другую сторону, можно как то на линксе выйти из за пределы папки чтобы провести инклуд ?
Извините, что лезу в ваш разговор, но хотел бы прокорректировать свой ответ. Один юзер скинул ссылку, где чел с другого форума пишет, что этот фильтр возможно обойти: https://rdot.org/forum/showpost.php?p=24148&postcount=1930
Поэтому хочу детально ответить на этот вопрос, чтобы быть 100% уверенным в своем ответе проверил на практике:
Скажем код у нас такой
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR]
Чел с другого форума утверждает, что можно обойти если задать ..\/..\/..\/etc/hosts я говорю что нельзя. Такое прокатит только у веб сервера, но не у скрипта.
Задаем
Код:
www.site.ru/a/b/c/..\/..\/file.php
тут можно выйти за пределы папки (a, b, c) потому что так решает веб сервер, а не скрипт.
Но если задать
Код:
www.site.ru/test/page.php?include=..\/..\/..\/etc/hosts
содержание аргумента паредается как есть, т.е. ..\/..\/..\/etc/hosts, а функция типа include() не станет открывать такой адрес.
А сейчас внимание!
Если задать абсолютный путь к файлу этот фильтр можно обойти, т.е.
Код:
www.site.ru/test/page.php?include=/etc/hosts
открывает файл.
У меня веб сервер на локалхосте (LAMP), стоит с настроиками по умолчанию.
|
|
|

03.03.2012, 17:27
|
|
Участник форума
Регистрация: 01.12.2011
Сообщений: 120
С нами:
7604246
Репутация:
55
|
|
Ответ c411k'а правильный, его способ работает как на виндовсе так и на линуксе без проблем Я пробывал его вначале, но сбросил со счетов ибо проверял в консольке типа того
Код:
cd ..\/..\/..\/..\/..\/..\/..\/..\/
и нифага оно не переходило в низ по каталогам, потом уже попробывал так
Код:
cat ..\/..\/..\/..\/..\/..\/..\/..\/etc/passwd
и файл прочитался И инклуд работает, смотри:
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]
[/COLOR][/COLOR]
.htaccess лежит в корне диска и прекрасно инклудится.
|
|
|

03.03.2012, 17:36
|
|
Новичок
Регистрация: 21.06.2005
Сообщений: 0
С нами:
10992741
Репутация:
0
|
|
Сообщение от trololoman96
Ответ
c411k
'а правильный, его способ работает как на виндовсе так и на линуксе без проблем
Я пробывал его вначале, но сбросил со счетов ибо проверял в консольке типа того
Код:
cd ..\/..\/..\/..\/..\/..\/..\/..\/
и нифага оно не переходило в низ по каталогам, потом уже попробывал так
Код:
cat ..\/..\/..\/..\/..\/..\/..\/..\/etc/passwd
и файл прочитался
И инклуд работает, смотри:
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]
[/COLOR][/COLOR]
.htaccess лежит в корне диска и прекрасно инклудится.
Насчет cat ты прав, действительно работает (что-то новое для меня). include() не работает.
|
|
|

03.03.2012, 17:37
|
|
Познающий
Регистрация: 16.01.2011
Сообщений: 71
С нами:
8063606
Репутация:
-1
|
|
подскажите как обойти фильтр на from, в sql запросе??
/*!from*/ - не пускает
FroM - не пускает
тоисть version() , database(), user() это все работает,
строю запрос типа table_name+from пишет: запрос небезопасен и был отвергнут
|
|
|

03.03.2012, 17:40
|
|
Новичок
Регистрация: 21.02.2009
Сообщений: 3
С нами:
9061916
Репутация:
0
|
|
Сообщение от pirat0
подскажите как обойти фильтр на from, в sql запросе??
/*!from*/ - не пускает
FroM - не пускает
тоисть version() , database(), user() это все работает,
строю запрос типа table_name+from пишет: запрос небезопасен и был отвергнут
/showpost.php?p=2303206&postcount=14694
|
|
|

03.03.2012, 17:41
|
|
Reservists Of Antichat - Level 6
Регистрация: 15.03.2009
Сообщений: 560
С нами:
9030566
Репутация:
2017
|
|
Сообщение от M_script
Символ
;
в GET-запросе является разделителем параметров аналогично символу
&
.
Не '', а ''
а зачем вообще ставить ; в этом коде? если такие создаются проблемы из за ;
ЗЫ на моем опыте я еще ни разу не сталкивался с проблемой c ;
ЗЫЫ М_скрипт возможно ты в чем то прав, но все же больше склоность к тому что это срабатывает из за mod_rewrite , так как на сколько я знаю разделители это ?(первый параметр) и &, а все остальное .... это уже извращениие.
__________________
В сырых могилах Второй Мировой
Солдатам снятся цветные сны.
Их кости порой видны под первой травой,
Когда сойдет снег в начале весны.
Славяне тоже сражались в отрядах СС
За чистоту арийской крови.
Теперь они дремлют за чертою небес,
Но снова встанут на бой, лишь позови.
|
|
|

03.03.2012, 17:54
|
|
Новичок
Регистрация: 21.06.2005
Сообщений: 0
С нами:
10992741
Репутация:
0
|
|
Кто 100% уверен, ответьте пожалуйста на предыдущий спорный вопрос, насчет путей к файлу. У trololoman96 открывается, у меня нет. У него версия PHP по старше, у меня 5.3.10. Интересно, include должен открывать такие пути или нет?
|
|
|
|
 |
|
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|