Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
 |  |  |  |  |  |  |  |  |  |  |  |  |
Не совсем понятно, что будет делать с "истинным" zip-архивом... 10.03.11 10:26 Число просмотров: 1909
Автор: lazy_anty Статус: Member
|
Не совсем понятно, что будет делать с "истинным" zip-архивом клиент, у которого в системе нет архиватора, ну да ладно...
Но "истинным" zip-архивом также может быть и self-extract (т.е. ), переименованный в .zip . Какой при этом будет указан mime type, зависит только от добросовестности закачивающего.
|
<web building>
|
Снова PHP. Два вопроса по загрузке файлов на сервер. 28.02.11 02:09
Автор: Fighter <Vladimir> Статус: Elderman
|
Два вопроса.
1. Как лучше проверить грузят ли мне на сервер zip-архив или что-то другое? Только $_FILES["miles"]["type"] не предлагайте, туда можно засандалить любую фигню )
2. Опять наткнулся в сети на интересный момент:
"при проверке getimagesize() в изображение можно "вклеить" шелл-код, и при этой проверке файл определится как изображение, а выполится как php, но это всё вкраце и размыто..." На этом разговор оборвался.
Это что, такая дырищща в php живет? Если да, то как с ней бороться?
|
 |
Найти описание заголовка ZIP архива и написать разбор... 28.02.11 11:29
Автор: Den <Denis> Статус: The Elderman
|
> Два вопроса. > 1. Как лучше проверить грузят ли мне на сервер zip-архив > или что-то другое? Только $_FILES["miles"]["type"] не > предлагайте, туда можно засандалить любую фигню )
Найти описание заголовка ZIP архива и написать разбор заголовка получаемого файла.
> 2. Опять наткнулся в сети на интересный момент: > "при проверке getimagesize() в изображение можно "вклеить" > шелл-код, и при этой проверке файл определится как > изображение, а выполится как php, но это всё вкраце и > размыто..." На этом разговор оборвался. > Это что, такая дырищща в php живет? Если да, то как с ней > бороться?
Из твоих слов не понятно откуда у этой информации ноги растут. Дай ссылку на описание эксплойта.
|
 |  |
А вдруг сигнатуру подделают? :) 28.02.11 14:52
Автор: Winer <Виктор С.> Статус: Member
|
> Найти описание заголовка ZIP архива и написать разбор > заголовка получаемого файла.
А вдруг сигнатуру подделают? :)
Есть готовая, но устаревшая - http://ru.php.net/mime_content_type
Там же в тексте ссылка на замену.
|
 |  |  |
Нет, mime не катит, он как раз в $_files["miles"]["type"] и... 28.02.11 17:06
Автор: Fighter <Vladimir> Статус: Elderman
|
> > Найти описание заголовка ZIP архива и написать разбор > > заголовка получаемого файла. > > А вдруг сигнатуру подделают? :) > > Есть готовая, но устаревшая - > http://ru.php.net/mime_content_type > Там же в тексте ссылка на замену. Нет, MIME не катит, он как раз в $_FILES["miles"]["type"] и лежит.
|
 |  |  |
значит будет битый архив и не более того. 28.02.11 15:15
Автор: Den <Denis> Статус: The Elderman
|
> А вдруг сигнатуру подделают? :)
значит будет битый архив и не более того.
> Есть готовая, но устаревшая - > http://ru.php.net/mime_content_type > Там же в тексте ссылка на замену.
Это совсем из другой оперы. MIME для того, чтобы браузер быстро разобрался, что он скачивает, а не выводил бинарник на экран ASCII кодом.
|
 |  |  |  |
Да? А как же рарджпег? 01.03.11 14:20
Автор: Winer <Виктор С.> Статус: Member
|
|
 |  |  |  |  |
Честно? Не понял вопроса ) 01.03.11 17:49
Автор: Fighter <Vladimir> Статус: Elderman
|
|
 |  |  |  |  |  |
http://lurkmore.ru/Rarjpeg 01.03.11 18:06
Автор: Winer <Виктор С.> Статус: Member
|
|
 |  |  |  |  |  |  |
Ога. Все равно не понял какое это имеет отношение к подделке MIME-type в запросе... 01.03.11 19:02
Автор: Fighter <Vladimir> Статус: Elderman
|
|
 |  |  |  |  |  |  |  |
Кажется, тема поднялась после вопроса-ответа: 02.03.11 04:38
Автор: kstati <Евгений Борисов> Статус: Elderman
|
Кажется, тема поднялась после вопроса-ответа:
>Как лучше проверить грузят ли мне на сервер zip-архив или что-то другое?
>А вдруг сигнатуру подделают? :)
>значит будет битый архив и не более того.
здесь den сделал допущение, ибо тот же линуксовый file на раржпг лажанётся, не говоря уж о php.
Я тривиальных решений не вижу, вот по этому и посмотрю за развитием темы.
нетривиальное, но опасное с точки зрения dos (надо оценивать свои силы, грубо говоря) - перепаковка архивов.
идеальных решений нет, разве что стоит задуматься... А стоит ли париться? ) Быть может ты сможешь организовать раздачу этого даже псевдо-зипа безопасно для клиентов?
Возможный косяк на стороне сервера - include-инъекции, либо xss. и то и другое в нормальном коде просто невозможны )
|
 |  |  |  |  |  |  |  |  |
Да есть тривиальные решения, есть. Достаточно просто не... 02.03.11 09:26
Автор: Winer <Виктор С.> Статус: Member
|
> Я тривиальных решений не вижу, вот по этому и посмотрю за > развитием темы. > нетривиальное, но опасное с точки зрения dos (надо > оценивать свои силы, грубо говоря) - перепаковка архивов. > идеальных решений нет, разве что стоит задуматься... А > стоит ли париться? ) Быть может ты сможешь организовать > раздачу этого даже псевдо-зипа безопасно для клиентов? > > Возможный косяк на стороне сервера - include-инъекции, либо > xss. и то и другое в нормальном коде просто невозможны )
Да есть тривиальные решения, есть. Достаточно просто не пытаться исполнять картинки как пхп-/перл-/что-то ещё код. Данные это данные, а код - это код.
|
 |  |  |  |  |  |  |  |  |  |
Да меня другое беспокоит. Во-первых, место на сервере... 02.03.11 12:22
Автор: Fighter <Vladimir> Статус: Elderman
|
> > Я тривиальных решений не вижу, вот по этому и посмотрю > за > > развитием темы. > > нетривиальное, но опасное с точки зрения dos (надо > > оценивать свои силы, грубо говоря) - перепаковка > архивов. > > идеальных решений нет, разве что стоит задуматься... А > > стоит ли париться? ) Быть может ты сможешь > организовать > > раздачу этого даже псевдо-зипа безопасно для клиентов? > > > > Возможный косяк на стороне сервера - include-инъекции, > либо > > xss. и то и другое в нормальном коде просто невозможны > ) > > Да есть тривиальные решения, есть. Достаточно просто не > пытаться исполнять картинки как пхп-/перл-/что-то ещё код. > Данные это данные, а код - это код. Да меня другое беспокоит. Во-первых, место на сервере ограниченно, а туда нужно положить несколько тысяч файлов, во-вторых, как следствие, файлы должны быть заархивированы и, в-третьих, это обязательно должен быть zip-архив, т.к. отдача будет производится таким людям, у которых может не быть архиватора вообще. А сами архивы будут только загружаться, храниться и отдаваться без обработки. Хотя, черт пхп знает, прямых ссылок не будет, отдача будет идти через скрипт.
|
 |  |  |  |  |  |  |  |  |  |  |
А если так? два простейших теста - попытаться открыть архив и проверить, что файл начинается с сигнатуры PK. (zip_open, fread) 02.03.11 13:50
Автор: kstati <Евгений Борисов> Статус: Elderman Отредактировано 02.03.11 20:09 Количество правок: 2
|
|
 |  |  |  |  |  |  |  |  |  |  |  |
Да, наверное это самый оптимальный вариант. 02.03.11 16:52
Автор: Fighter <Vladimir> Статус: Elderman
|
|
 |  |  |  |  |  |  |  |  |  |  |  |  |
Не совсем понятно, что будет делать с "истинным" zip-архивом... 10.03.11 10:26
Автор: lazy_anty Статус: Member
|
Не совсем понятно, что будет делать с "истинным" zip-архивом клиент, у которого в системе нет архиватора, ну да ладно...
Но "истинным" zip-архивом также может быть и self-extract (т.е. ), переименованный в .zip . Какой при этом будет указан mime type, зависит только от добросовестности закачивающего.
|
 |  |  |  |  |  |  |  |  |  |  |  |  |  |
Элементарно, Ватсон ) Клиенты под виндой сидят, а она... 10.03.11 10:50
Автор: Fighter <Vladimir> Статус: Elderman
|
> Не совсем понятно, что будет делать с "истинным" > zip-архивом клиент, у которого в системе нет архиватора, ну Элементарно, Ватсон ) Клиенты под виндой сидят, а она zip-архив как папку отображает.
> да ладно... > Но "истинным" zip-архивом также может быть и self-extract > (т.е. ), переименованный в .zip . Какой при этом будет > указан mime type, зависит только от добросовестности > закачивающего. Блин, это уже столько раз было сказано, что уже даже и не смешно.
|
 |  |  |  |  |  |  |  |  |  |
в принципе верно ) 02.03.11 10:55
Автор: kstati <Евгений Борисов> Статус: Elderman
|
|
 |  |  |  |  |  |  |
я б даже назвал как jpg-arc, ибо тип архивов может быть практически любым ) 01.03.11 18:56
Автор: kstati <Евгений Борисов> Статус: Elderman
|
|
 |  |
Это понятно, но лениво ) Думал, что может что-то готовое... 28.02.11 12:17
Автор: Fighter <Vladimir> Статус: Elderman Отредактировано 28.02.11 12:18 Количество правок: 1
|
> > Два вопроса. > > 1. Как лучше проверить грузят ли мне на сервер > zip-архив > > или что-то другое? Только $_FILES["miles"]["type"] не > > предлагайте, туда можно засандалить любую фигню ) > > Найти описание заголовка ZIP архива и написать разбор > заголовка получаемого файла. Это понятно, но лениво ) Думал, что может что-то готовое/стандартное есть)
> > > 2. Опять наткнулся в сети на интересный момент: > > "при проверке getimagesize() в изображение можно > "вклеить" > > шелл-код, и при этой проверке файл определится как > > изображение, а выполится как php, но это всё вкраце и > > размыто..." На этом разговор оборвался. > > Это что, такая дырищща в php живет? Если да, то как с > ней > > бороться? > > Из твоих слов не понятно откуда у этой информации ноги > растут. Дай ссылку на описание эксплойта. Это была ветка на каком-то форуме про то, как проверить что грузят, изображение или что-то другое. Все, что там было про "эксплойт", я скопипастил. Ссылку не сохранил. Если бы там было понятно откуда взялась такая информация, то я бы здесь не спрашивал.
|
|
|