Помощник
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]() |
![]()
Сообщение
#21
|
|
Любитель![]() Группа: Eleanor user Сообщений: 132 Регистрация: 2009-08-17 Из: Алма-ата, Казахстан Репутация: ![]() ![]() Всего: 1 ![]() |
Файлы неизвестных типов можно проверять регулярными выражениями на наличие текстовых фрагментов типа <?php, javascript и т. п.
Сообщение отредактировал Zzzhan - 2010-02-16, 20:17 |
|
|
||
![]() |
![]()
Сообщение
#22
|
|
Любитель![]() Группа: Разработчики Сообщений: 118 Регистрация: 2008-12-14 Из: Россия. Астрахань Репутация: ![]() ![]() Всего: 8 ![]() |
Да. Что-то вроде того. Большинство типов файлов несут информацию о себе в самом начале файла - несоклько первых байт. Достаточно читать их и сравнивать с эталоном. От подлога это, конечно, не защитит, но немного облегчит жизнь простым смертным. А с файлами неизвестных типов никак не поступать. Пусть заливают (оставить на совести админа, разрешать заливать или нет). Хотя если будет разрешена загрузка всего подряд, то смысла в проверках вообще нет. Но при этом не забыть про возможность переименования на сервере и, как я уже писал выше, тупо запретить доступ к определенным типам файлов. о_О Для файлов небольшого размера это вполне целесообразно... но если файлик весит метров 10, PCRE проклянет тебя ))))) да и подобные вещи можно обычными строковыми функциями искать... |
|
|
||
![]() |
![]()
Сообщение
#23
|
|
Eleanor developer![]() Группа: Администраторы Сообщений: 5 261 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: ![]() ![]() Всего: 67 ![]() |
Проверка неизвестных файлов на <?php и т.п. ничего не даст. Да и не умно это как-то.
Переименование - исправлено уже. |
|
|
||
![]() |
![]()
Сообщение
#24
|
|
Любитель![]() Группа: Разработчики Сообщений: 118 Регистрация: 2008-12-14 Из: Россия. Астрахань Репутация: ![]() ![]() Всего: 8 ![]() |
Да ну? А я вот подсовывал php-код в картинки, который потом прекрасно отрабатывал на сервере... ![]() Странное утверждение. А как умно? Да. И еще. Запрети юзерам создавать в папках файлы .htaccess. Любыми путями! А то так можно допереименовываться.... ![]() |
|
|
||
![]() |
![]()
Сообщение
#25
|
|
Любитель![]() Группа: Eleanor user Сообщений: 132 Регистрация: 2009-08-17 Из: Алма-ата, Казахстан Репутация: ![]() ![]() Всего: 1 ![]() |
Саша я же говорю что запускаются скрипты!!! Еще как запускаются! Надо обязательно проверить на других хостингах, излишняя самоувереность сами знаете... Я на своей самоуверенности не раз обжигался в тех средах (не php), где программирую уже лет пятнадцать А насчет "текстовых фрагментов типа <?php, javascript и т. п." это как раз таки практически единственное что приказывает серверу воспринимать этот файл как скрипт, и строки с кодом как команды Сообщение отредактировал Zzzhan - 2010-02-17, 18:44 |
|
|
||
![]() |
![]()
Сообщение
#26
|
|
Eleanor developer![]() Группа: Администраторы Сообщений: 5 261 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: ![]() ![]() Всего: 67 ![]() |
Если сервер обрабатывает php код в картинках то это... админу уже руки отрывать надо. Нет, утверждение не странное. Любое действие должно иметь свой мотив и свою цель. Ну вот допустим обнаружили мы внутри файла строку "<?php" (это, кстати, не единственный возможный вариант задать начало php скрипта) - и что дальше? Ведь наличие этой строки никак не характеризует этот файл - а вдруг там и не php код совсем, а какая-нибудь документация, или, что еще более вероятно символы просто совпали. Я уже молчу, что такой метод не спасет, если файл под зендом. Другими словами, коефицеинт полезности данного действия стремится к нулю. Ок. |
|
|
||
![]() |
![]()
Сообщение
#27
|
|
Любитель![]() Группа: Разработчики Сообщений: 118 Регистрация: 2008-12-14 Из: Россия. Астрахань Репутация: ![]() ![]() Всего: 8 ![]() |
В данном случае вопрос стоит о переименовании после загрузки в удобоваримый для парсера тип файла. Но это ты уже пофиксил, так что вопрос частично отпадает. Zip/tar/gzip вам в помощь... ну не хранят документацию в открытом виде. А если хранят, то у нее есть понятный веб-интерфейс. Зенд, как и другие бинарные файлы, можно распознать по сигнатуре. |
|
|
||
![]() |
![]()
Сообщение
#28
|
|
Eleanor developer![]() Группа: Администраторы Сообщений: 5 261 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: ![]() ![]() Всего: 67 ![]() |
Я храню. Это ж сколько придется проверок сделать? Да и что это даст в конечном итоге? Ну, допустим, информируем мы пользователя о том, что загружаемый файл является бинарным - что толку? |
|
|
||
![]() |
![]()
Сообщение
#29
|
|
Любитель![]() Группа: Разработчики Сообщений: 118 Регистрация: 2008-12-14 Из: Россия. Астрахань Репутация: ![]() ![]() Всего: 8 ![]() |
Ну храни... я высказал свое мнение. Как поступить, решать тебе. Один файл - одна проверка. Проверяешь расширение, его соответствие сигнатуре и если сигнатура не допускает в содержимом тег <?php например, то проверяем и его наличие. Расширение разрешено и соответствует сигнатуре, и в файле нет запрещенных строк - пропускаем. Иначе - не пропускаем. Если загружается файл неизвестного типа - тогда да. Уже надо делать несколько различных последовательных проверок. Я не говорю, что это панацея. Это лишь дополнительная мера безопасности. А применять ее или нет, пусть каждый для себя решает сам. |
|
|
||
![]() |
![]()
Сообщение
#30
|
|
Eleanor developer![]() Группа: Администраторы Сообщений: 5 261 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: ![]() ![]() Всего: 67 ![]() |
Хорошо. С известными типами - ясно. Что делать с неизвестными типами?
|
|
|
||
![]() |
![]()
Сообщение
#31
|
|
Любитель![]() Группа: Разработчики Сообщений: 118 Регистрация: 2008-12-14 Из: Россия. Астрахань Репутация: ![]() ![]() Всего: 8 ![]() |
А что антивирус делает с неизвестными вирусами?
Он проверяет их по базе известных сигнатур вредоносных программ... ЗЫ У данного метода есть одно серьезное ограничение - размер файла. Если юзер решит залить файлик метров в 10, то парсить его на наличие в нем каких-то строк - тот еще гемор (хотя для проверки сигнатур опять же никаких препятствий. достаточно прочитать определенное количество первых байт файла)... Тут решение на совести админа - либо разрешить загрузку каких-то типоразмеров файлов, либо не разрешать... ЗЫ ЗЫ Да вообще можно много огородов нагородить. Но я считаю единственно верным решением жесткое ограничение по типу файлов (тупо по расширению и запрет на переименование в любой из не разрешенных типов) Вот так.... |
|
|
||
![]() |
![]()
Сообщение
#32
|
|
Eleanor developer![]() Группа: Администраторы Сообщений: 5 261 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: ![]() ![]() Всего: 67 ![]() |
Youshi, пойми, мы не можем определить вредоносность файла. Никак. Если в txt файле встретится участок <?php - это никак не характеризует этот файл, т.е. невозможно определить степень вредоносности файла.
Метод, на проверку сингнатур - не имеет смысла, ИМХО, потому как не спасет от атак. Сейчас можно грузить только файлы определенного типа + запрещено переименование файла в тип, которого нет в списке разрешенных. Пока должно хватить (на первых порах). |
|
|
||
![]() |
![]()
Сообщение
#33
|
|
Новичок![]() Группа: Eleanor user Сообщений: 50 Регистрация: 2010-01-12 Версия системы: RC5 Репутация: ![]() ![]() Всего: 1 ![]() |
Как отключить функцию у загрузчика , переименовывает загруженые файлы в php. Где посмотреть разрешоные для загрузки типы.
|
|
|
||
![]() |
![]()
Сообщение
#34
|
|
Eleanor developer![]() Группа: Администраторы Сообщений: 5 261 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: ![]() ![]() Всего: 67 ![]() |
user, что-то не очень Вас понял... Объясните подробнее.
|
|
|
||
![]() |
![]()
Сообщение
#35
|
|
Новичок![]() Группа: Eleanor user Сообщений: 50 Регистрация: 2010-01-12 Версия системы: RC5 Репутация: ![]() ![]() Всего: 1 ![]() |
Отключить менеджер загрузок можно в настройках модуля.Снять галочку с "разрешить загрузку файлов на сервер".
Вопрос собствено. Почему всртоеный менеджер загрузок можно использовать для заливки любых файлов с любым разрешением. P.S. Сейчас сайт отключил хостер. Ничего не менял в системе. Цитата Уважаемый Клиент! Согласно наших Правил: http://www.slavhost.ru/policies.php , пользователям хостинга не разрешается пиковое использование процессами ресурсов сервера, более чем предусмотрено хостинг планом. Нагрузка Вашего аккаунта составляет: avtolangepas.ru CPU: 70.60%, Mem: 77.50%, MySQL: 118.0% Мы вынуждены временно блокировать сайты аккаунта. Включение выполнится автоматически в 00:35 05.03.2010 Примите меры по оптимизации вашего сайта, у вас сохранился доступ через cPanel и FTP. По вопросам нагрузки обращайтесь в отдел технической поддержки: http://support.ruskyhost.ru/index.php?_m=t...s&_a=submit Администрация SlavHost.RU |
|
|
||
![]() ![]() |
![]() |
Текстовая версия | ![]() ![]() ![]() ![]() |