![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Pitlord |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: 4 Всего: 7 |
g27, если $module никак не проверяется, то Вас могут взломать
|
|||
|
||||
| bugsb |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 11.9.2009 Репутация: нет Всего: нет |
как вам вот такой код
если $module никак не проверяется, то как могут взломать в данном случае? ведь хоть что прописывай, все равно условие будет либо true либо false и левая переменная явно будет false и перекинет на 404 |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
а при чем здесь условие-то вообще?
речь о том, что подставят вместо модуля что-нибудь. другое дело, что вряд ли какой-нибудь index.php может представлять интерес для взлома. и никогда не делай так - @include чтобы проверить, существует ли файл на диске, есть функции. is_readable() например |
|||
|
||||
| bugsb |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 11.9.2009 Репутация: нет Всего: нет |
это код не мой, но мне он показался правильным
пример можно этого чего-нибудь?
почему? часто вижу такое в разных скриптах
если в папке modules не оказалось папки равной значению переменной $module, то переменная $module больше никуда и не идет. Поэтому я и сделал вывод, что хоть что пиши в переменную $module все равно ничего страшного не будет |
||||||||
|
|||||||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Что значит "больше никуда не идет"?
А куда она вообще может пойти? Даже если никакой проверки не будет? никогда больше не повторяйте этих слов. большая часть скриптов годится только на помойку. учиться надо у тех, кто понимает, что делает. а не у таких же новичков, которые точно так же копируют друг у друга, без малейшего понятия. Оператор @ подавляет сообщение об ошибке. Чего делать нельзя ни в коем случае. Добавлено через 49 секунд да, и еще. по поводу "никуда не идет" я так понимаю, что вы наивно полагаете, будто эта конструкция прекращает работу скрипта? |
|||
|
||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 12 Всего: 43 |
|
|||
|
||||
| g27 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 216 Регистрация: 29.9.2007 Где: Vilnius Репутация: нет Всего: нет |
непонимаю что тут у меня плохо. |
|||
|
||||
| bugsb |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 11.9.2009 Репутация: нет Всего: нет |
например в базу данных если бы я ее вписывал или выводил на сайт.
а как узнать того кто понимает что делает? по книгам? книги так же тупо перепечатывают все кому не лень, английский язык я к сожалению плохо знаю чтоб читать зарубежных авторов
почему нельзя? я как администратор должен видеть ошибки, а пользователям то зачем их показывать? где то читал что mysql_error() нивкоем случае нельзя показывать пользователям, а использовать только при разработке и отладке скрипта.
не знаю, а разве нет? ну даже если и нет, то после этого у меня идет простой вывод шаблонов. вы так и не привели пример что можно передать в переменную $module чтобы взломать сайт, ну или хотя бы как-нибудь заставить понервничать админа. |
||||||||
|
|||||||||
| Ипатьев |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
вот это правильно. но собака подавляет ошибки для всех. именно поэтому ее не надо использовать. тем более, что в данном контексте она совсем не для скрытия ошибки от пользователя поставлена. За показ ошибок в браузер отвечает специальная настройка. она так и называется, display_errors Именно ее и надо использовать.
вот видите, вы даже правильную мысль читаете, но неправильно ее понимаете показывать нельзя - это правильно. но использовать - обязательно! На работающем сайте она даже важнее, чем при разработке. просто в браузер ее выводить не надо всем пользователям. а только админу. и обязательно записывать в лог книги тоже разные бывают. вот теперь вы знаете, что если встретите в книге собаку, то эта книга плохая ну разумеется, нет. С каких это пор выдача заголовка в браузер прерывает работу скрипта? поэтому если этот заголовок - Location, то после него в обязательном порядке всегда надо писать следующей стрjкой exit; А это, собственно, и не я был, кто писал, что взломают Я написал, что вряд ли. Но суть в том, что вообще-то, $module может указывать на любую папку на диске. |
||||
|
|||||
| Pitlord |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: 4 Всего: 7 |
Вот Ваш код:
Запрос файла http://example.com/index.php?module=../upl...ser_file.txt%00 Позволит приинклудить файл пользователя, если, конечно, такое позволяет сайт (например, аттачмент текстового файла на форуме). P.S. Правда атака расчитана на то, что magic_quotes_gpc = off Это сообщение отредактировал(а) Pitlord - 8.11.2009, 22:53 |
||||
|
|||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 12 Всего: 43 |
Но самые лучшие книги переведены. Гутманс, Шлоснейгл. 2 книги этих авторов. Остальные переведенные книги по PHP не читай - не пригодятся. |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Pitlord, у меня не воспроизводится
|
|||
|
||||
| Pitlord |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: 4 Всего: 7 |
Ипатьев, вот такой код запустите:
Приинклудился ли file.php? |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
да я тупанул, с файлом не проверил
почему-то я думал, что это дело давно пофиксили |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |