Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Upload картинки и test на достоверност изображения, хакнули 
:(
    Опции темы
krausen
Дата 13.10.2004, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 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 шный файлик, система его съест и пропустит дальше.

Как от этого можно защититься?






PM MAIL   Вверх
Step
Дата 13.10.2004, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 1
Всего: 25



а зачем от этого защещаться ведь серовно файл с расширением jpg при запросе не будет обрабатываться пшп....

имхо
а вообще нужно использовать библиотеку gd и воспользовать функцией

imagecreatefrom... например imagecreatefromjpeg если вернула ошибку то это не имейдж или поврежденный имейдж


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
krausen
Дата 13.10.2004, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 10.7.2004
Где: Питер

Репутация: нет
Всего: нет



Цитата(Step @ 13.10.2004, 12:12)
а зачем от этого защещаться ведь серовно файл с расширением jpg при запросе не будет обрабатываться пшп....

имхо
а вообще нужно использовать библиотеку gd и воспользовать функцией

imagecreatefrom... например imagecreatefromjpeg если вернула ошибку то это не имейдж или поврежденный имейдж

я не знаю как это делается но есть возможность запустить этот код

хм помимо jpg есть ведь еще и gif
а их то как тогда проверить?
PM MAIL   Вверх
Step
Дата 13.10.2004, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: 1
Всего: 25



а функция последними несколькими буквами отличаеться


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Ignat
Дата 13.10.2004, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 10
Всего: 73



Цитата(krausen @ 13.10.2004, 18:37)
я не знаю как это делается но есть возможность запустить этот код

Кто это сказал?


--------------------
Теперь при чем :P
PM   Вверх
krausen
Дата 13.10.2004, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 10.7.2004
Где: Питер

Репутация: нет
Всего: нет



Цитата(Ignat @ 13.10.2004, 17:47)
Цитата(krausen @ 13.10.2004, 18:37)
я не знаю как это делается но есть возможность запустить этот код

Кто это сказал?

ну примерно так был хакнут валуехост

http://www.cyberinfo.ru/3/627_1.htm
PM MAIL   Вверх
Ignat
Дата 13.10.2004, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 10
Всего: 73



Цитата(krausen @ 13.10.2004, 18:52)
http://www.cyberinfo.ru/3/627_1.htm

Это что 404?


--------------------
Теперь при чем :P
PM   Вверх
krausen
Дата 14.10.2004, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 10.7.2004
Где: Питер

Репутация: нет
Всего: нет



Цитата(Ignat @ 13.10.2004, 18:02)
Это что 404?

http://www.xakep.ru/post/24136/default.asp
PM MAIL   Вверх
Ignat
Дата 14.10.2004, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 10
Всего: 73



Млин, это фигня на постном масле. Там была дыра - не проверялись расширения картинок при аплоаде. Этим страдают многие админки. (Ctrl+a)
Мне тоже приходлось такой дырой пользоваться.



--------------------
Теперь при чем :P
PM   Вверх
krausen
Дата 15.10.2004, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 10.7.2004
Где: Питер

Репутация: нет
Всего: нет



Цитата(Ignat @ 14.10.2004, 21:30)
Млин, это фигня на постном масле. Там была дыра - не проверялись расширения картинок при аплоаде. Этим страдают многие админки. (Ctrl+a)
Мне тоже приходлось такой дырой пользоваться.

читай внимательнее расширения как раз проверялись
в графический файл был просто зашит код
<?
.....
?>
PM MAIL   Вверх
Ignat
Дата 15.10.2004, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: 10
Всего: 73



Цитата
По началу казалось, что это ничего не даст, так как админы таких крупных хостеров не ламоразмы и прав на запись не оставляют, но эти оказались особыми smile.gif Права на запись смайлов были не прикрыты /images/icons/. В результате в админке форума был залит php шелл через смайлик. Как вы понимаете, валуехост оставалось недолго жить на свете... =)


И где же тут хоть слово про проверку расширений?


--------------------
Теперь при чем :P
PM   Вверх
krausen
Дата 15.10.2004, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 10.7.2004
Где: Питер

Репутация: нет
Всего: нет



Цитата(Ignat @ 15.10.2004, 13:27)


И где же тут хоть слово про проверку расширений?

через смайлик

вот эти слова

PM MAIL   Вверх
Secandr
Дата 17.10.2004, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



krausen, Ignat Не спорте вы, давайте лучше проведём экспиримент :)


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
krausen
Дата 17.10.2004, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 10.7.2004
Где: Питер

Репутация: нет
Всего: нет



ну вот и форум под рукой :D
PM MAIL   Вверх
MishaSt
Дата 17.10.2004, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 17.10.2004

Репутация: нет
Всего: нет



2krausen как вы можете утверждать, что там проверка на расширения была, и при этом сайт умудрились хакнуть?
Не спорьте, если вы разбераетесь в этом, как свинья в апельсинах.
Да я и сам этим пользовался. (Нас миллионы таких!)

PM MAIL   Вверх
IZ@TOP
Дата 17.10.2004, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Цитата(MishaSt @ 17.10.2004, 17:46)
Да я и сам этим пользовался. (Нас миллионы таких!)

Всех не пересажаешь :D


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
MishaSt
Дата 17.10.2004, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 17.10.2004

Репутация: нет
Всего: нет



Цитата

if (($userfile_type != "image/pjpeg") and ($userfile_type != "image/gif") and ($userfile_type = "image/jpeg") and ($userfile_size < 50000))
{
echo "Ошибка ";
}
else
{


Есть предположение, что такая проверка тоже не верна. Что будет, если изменить передаваемый на сервер заголовок на Content-Type: image/gif, а передать файл с расширением ".php"? лучше по расширению проверяй.
PM MAIL   Вверх
IZ@TOP
Дата 17.10.2004, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Нет, ну тогда уж делать так:

Код
$f = fopen($POSTFILE, 'r');
$d = fread($f, 1024);
if(strpos("<?")) exit;

Добавлено @ 18:59
Хотя особого смысла в этом не вижу. Проще переименовывать файлы после закачки по типу переданного файла, но только если он равен одному из перечисленных, например jpeg, gif, png и т.п.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Secandr
Дата 20.10.2004, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



Я создал картинку на сервере: 1.gif
Код
<?
print "!!!";
?>

При этом код не выполнился и на экране появилось сообщение о левой картинке, в коде страницы было написано:
Цитата
<?
print "!!!";
?>



--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Black Rabbit
Дата 22.10.2004, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 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 НЕ загружен."));
PM MAIL ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0598 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.