Неоднократно читал что все загруженные пользователем фото необходимо копировать на созланные скриптом, а юзерские удалять. А какие проблемы можно получить если этого не делать? Чем грозит? Просто попалось пара загрузчиков фото и не один этого не делает.
sergeiss
3.01.2017 - 21:13
Абисняю.... Я даже тут как-то выкладывал такое фото

Это когда к картинке, например в формате JPG, приделывается скрипт на JavaScript.
Если ты правильно используешь фото, то никаких проблем. Но если удастся эту картинку прописать в тэг <script>, т.е. загрузить её как скрипт, то она выполнится как JavaScript. Начало, где данные от картинки, будет проигнорировано, а вот "хвост" будет выполнен. И можно украсть, например, куки с этого сайта. Что может привести, например, к возможности залогиниться вместо тебя с другого компа.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Another Reality
3.01.2017 - 21:19
Могу своим загрузчиком поделиться если надо. Он фильтрует. К тому же гибок в настройке.
Another Reality
3.01.2017 - 21:41
Цитата (sergeiss @ 3.01.2017 - 21:13) |
Абисняю.... Я даже тут как-то выкладывал такое фото Это когда к картинке, например в формате JPG, приделывается скрипт на JavaScript. |
Нет желания написать небольшую статейку по этому поводу ? С пояснением, с примером такого изображения и закрепить где-то, может в разделе "PHP для начинающих".
Zzepish
3.01.2017 - 22:23
Another Reality
Плюсую. Это не только начинающим будет полезно. Например я не знал про такую уязвимость
sergeiss
3.01.2017 - 22:35
Цитата (Another Reality @ 3.01.2017 - 21:41) |
Нет желания написать небольшую статейку по этому поводу ? |
Да можно и написать, наверное... Сделаю в ближайшее время.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Another RealityСпасибо за предложение

, но я уже класс написал для создания фото.
sergeissЯ вот только всеравно не пойму
Ведь это изображение в любом случае попадет на мой сервер и пролежит там какое то время, пока я его пересоздам и грохну. За этот промежуток как вреда избежать?
Another Reality
3.01.2017 - 22:43
Цитата (Reh @ 3.01.2017 - 22:39) |
Ведь это изображение в любом случае попадет на мой сервер и пролежит там какое то время, пока я его пересоздам и грохну. За этот промежуток как вреда избежать? |
Это нужно делать в процессе загрузки изображения, + пускать в пользование только после обработки.
sergeiss
3.01.2017 - 22:44
Вот нашел старую тему на форуме
http://phpforum.su/index.php?showtopic=81624, на эту же тему, сейчас прикрепил. Там даже была моя картинка приложена, только не открывается. Я её нашел у себя на компе, сейчас повторно выложу в ту же тему.
Не-не, там нормальная такая картинка! Её достаточно скачать и поработать, как сказано. Называется butt2.gif
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Цитата (sergeiss @ 3.01.2017 - 21:13) |
Это когда к картинке, например в формате JPG, приделывается скрипт на JavaScript. |
Помоему бред, таким образом любая картинка в интернете может быть опасной и уводить твои куки. Это точно атака на клиента и проводится она с помощью браузера и js?
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
sergeiss
Почитал, в шаблоне ничего подключить не дал шаблонизатор, все сразу закомментилось, только изображение вывелось. А если инклюдить прямо в пхп то окошко выскочило))
sergeiss
3.01.2017 - 23:12
Цитата (chee @ 3.01.2017 - 23:04) |
Помоему бред, таким образом любая картинка в интернете может быть опасной и уводить твои куки. |
Да, любая. Но при условии, которое было озвучено четко: это произойдет в случае, если картинка подключена неправильно, т.е. как скрипт. Если же её разместить, например, в тэге img, то джаваскриптовая часть будет сидеть молча.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
killer8080
4.01.2017 - 00:19
Цитата (Reh @ 3.01.2017 - 20:24) |
А какие проблемы можно получить если этого не делать? |
никаких, если нет сопутствующих уязвимостей. Внедрённый php код может быть запущен только при наличии LFI уязвимости, естественно если контролируется расширение создаваемого файла.
Цитата (Reh @ 3.01.2017 - 22:39) |
sergeiss Я вот только всеравно не пойму Ведь это изображение в любом случае попадет на мой сервер и пролежит там какое то время, пока я его пересоздам и грохну. За этот промежуток как вреда избежать? |
на этапе загрузки файл находится в tmp недоступной из веб.
Цитата (sergeiss @ 3.01.2017 - 21:13) |
Но если удастся эту картинку прописать в тэг <script>, т.е. загрузить её как скрипт, то она выполнится как JavaScript. |
с трудом представляю себе такую ситуацию, для этого как минимум пользовательские данные должны участвовать в формировании урл скрипта, или не надлежащий вывод пользовательских данных, когда он может подставить тег <script>, но в этом случае в картинке нет никакой необходимости.
Насчёт реальных XSS через картинку, мне известна только дыра в IE6 (позже закрытая патчами обновлений). Уязвимость заключалась в том, что если заставить пользователя открыть такую картинку, то не сумев открыть повреждённое изображение, ишак игнорировал заголовок Content-Type, и начинал обрабатывать её как text/html, со всеми вытекающими последствиями.
Цитата (sergeiss @ 3.01.2017 - 23:12) |
Но при условии, которое было озвучено четко: это произойдет в случае, если картинка подключена неправильно, т.е. как скрипт. Если же её разместить, например, в тэге img, то джаваскриптовая часть будет сидеть молча. |
пф, так не интересно. Тогда смысла в этих всех защитах нет, просто ложить файл в хранилища без php и делов-то. Например что типа
https://tech.yandex.ru/elliptics/ ну или nginx с определенной папкой, ну и конечно же подключать картинки как картинки.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
sergeiss
4.01.2017 - 01:27
Цитата (chee @ 4.01.2017 - 00:51) |
пф, так не интересно .... ну и конечно же подключать картинки как картинки. |
Но если ты знаешь об описанной возможности, то ты ж заранее сделаешь так, чтобы обойти эту проблему. Верно?
Опять же, сможешь помочь кому-нибудь, кто не знает о наличии такой проблемы.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.