![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| krausen |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 10.7.2004 Где: Питер Репутация: нет Всего: нет |
При аплоаде юзерпика на сервер существует супер-проверка
// echo "тип файла - $userfile_type"; if (($userfile_type != "image/pjpeg") and ($userfile_type != "image/gif") and ($userfile_type = "image/jpeg") and ($userfile_size < 50000)) { echo "Ошибка "; } else { ..... Но как вяснилось, если засунуть скрипт php шный в .jpg шный файлик, система его съест и пропустит дальше. Как от этого можно защититься? |
|||
|
||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 1 Всего: 25 |
а зачем от этого защещаться ведь серовно файл с расширением jpg при запросе не будет обрабатываться пшп....
имхо а вообще нужно использовать библиотеку gd и воспользовать функцией imagecreatefrom... например imagecreatefromjpeg если вернула ошибку то это не имейдж или поврежденный имейдж -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| krausen |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 10.7.2004 Где: Питер Репутация: нет Всего: нет |
я не знаю как это делается но есть возможность запустить этот код хм помимо jpg есть ведь еще и gif а их то как тогда проверить? |
|||
|
||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 1 Всего: 25 |
а функция последними несколькими буквами отличаеться
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| Ignat |
|
|||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: 10 Всего: 73 |
Кто это сказал? -------------------- Теперь при чем :P |
|||
|
||||
| krausen |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 10.7.2004 Где: Питер Репутация: нет Всего: нет |
ну примерно так был хакнут валуехост http://www.cyberinfo.ru/3/627_1.htm |
||||
|
|||||
| Ignat |
|
|||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: 10 Всего: 73 |
Это что 404? -------------------- Теперь при чем :P |
|||
|
||||
| krausen |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 10.7.2004 Где: Питер Репутация: нет Всего: нет |
||||
|
||||
| Ignat |
|
|||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: 10 Всего: 73 |
Млин, это фигня на постном масле. Там была дыра - не проверялись расширения картинок при аплоаде. Этим страдают многие админки. (Ctrl+a)
Мне тоже приходлось такой дырой пользоваться. -------------------- Теперь при чем :P |
|||
|
||||
| krausen |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 10.7.2004 Где: Питер Репутация: нет Всего: нет |
читай внимательнее расширения как раз проверялись в графический файл был просто зашит код <? ..... ?> |
|||
|
||||
| Ignat |
|
|||
![]() Флудератор ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4030 Регистрация: 19.4.2004 Где: غيليندزيك مدينة Репутация: 10 Всего: 73 |
И где же тут хоть слово про проверку расширений? -------------------- Теперь при чем :P |
|||
|
||||
| krausen |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 10.7.2004 Где: Питер Репутация: нет Всего: нет |
через смайлик вот эти слова |
|||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 5 Всего: 39 |
krausen, Ignat Не спорте вы, давайте лучше проведём экспиримент
|
|||
|
||||
| krausen |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 10.7.2004 Где: Питер Репутация: нет Всего: нет |
ну вот и форум под рукой
|
|||
|
||||
| MishaSt |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 17.10.2004 Репутация: нет Всего: нет |
2krausen как вы можете утверждать, что там проверка на расширения была, и при этом сайт умудрились хакнуть?
Не спорьте, если вы разбераетесь в этом, как свинья в апельсинах. Да я и сам этим пользовался. (Нас миллионы таких!) |
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
Всех не пересажаешь -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| MishaSt |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 17.10.2004 Репутация: нет Всего: нет |
Есть предположение, что такая проверка тоже не верна. Что будет, если изменить передаваемый на сервер заголовок на Content-Type: image/gif, а передать файл с расширением ".php"? лучше по расширению проверяй. |
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
Нет, ну тогда уж делать так:
Добавлено @ 18:59 Хотя особого смысла в этом не вижу. Проще переименовывать файлы после закачки по типу переданного файла, но только если он равен одному из перечисленных, например jpeg, gif, png и т.п. -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| Secandr |
|
||||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 5 Всего: 39 |
Я создал картинку на сервере: 1.gif
При этом код не выполнился и на экране появилось сообщение о левой картинке, в коде страницы было написано:
|
||||
|
|||||
| Black Rabbit |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 21.10.2004 Репутация: нет Всего: 2 |
попробой так
$valid_types = array("jpg","gif","jpeg"); $name=$HTTP_POST_FILES['picture']['name']; $t_name=$HTTP_POST_FILES['picture']['tmp_name']; $f_size=$HTTP_POST_FILES['picture']['size']; $ext = substr($name,1+strrpos($name,".")); if(!in_array($ext, $valid_types)) die(not_uploaded("Неверный тип файла! Файл $name НЕ загружен.")); |
|||
|
||||
![]()
|
| Правила форума "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. |