Pull to refresh

Comments 167

UFO just landed and posted this here
Вот он повод, отказаться от плагинов.
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Так было несколько лет назад, теперь всё в порядке.
Ubuntu Linux user.
Вот он, повод отказаться от интернетов и компьютеров!
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Вот он повод перейти под ДОС.
UFO just landed and posted this here
Адмирал, я нашёл вас! 0_0
UFO just landed and posted this here
Вот он повод записать видеообращение к adobe
UFO just landed and posted this here
Через Flash-видео, разумеется. :)
Вот он повод, сказать «Вот он повод»
UFO just landed and posted this here
Вот он повод перестать писать коменты в этом духе — все равно минусуют
UFO just landed and posted this here
Скорей бы для вас врубилась пятиминутная задержка между отправкой постов.
Нет повода не выпить!
UFO just landed and posted this here
UFO just landed and posted this here
Зато какой хороший повод приспешникам вражьей технологии встать из кустов и прокричать «ребят, айда к нам».
не, повод наконец-то поставить flashblock тем, у кого он ещё не стоит.
И сильверлайт и ява и яваскрипт — все подвержены этой уязвимости. Ясен пень, об этом в посте нигде не упомянуто.
На видео он сменил пароль для аккаунта Гмыла через эту уязвимость?
на видео видно, что кто-то «сабмитит» форму у себя на сайте, а потом заходит в свое ГМыло под старым паролем.
офигенный взлом.
Еще разок, в качестве КО: форму чувак сабмитит на своем сервере, который и отправляет письмо, эксплуатирующее уязвимость. Потом он открывает гмэйл, и когда все загружается, вылетает алерт.
а то, что письмо уже прочитано, когда он логиниться в гмейл — это ничего?
>Компания Adobe сказала, что исправить этот баг очень непросто
Ребята у нас тут проблемы замками, любой человек может сесть и уехать, обращайтесь к автомеханикам, нам как-то влом чинить.
ИМХО это не проблема флеша.

Если у вас никак не фильтруется то, что загружают на сервер, а так же пользователи могут использовать html теги без всяких фильтров, то флеш тут как бы не виноват.

Ближайшая аналогия — xss
там сказано, что ваши фильтры не помогут, если юзеры могут загружать зипы, потому что зип-файл остаётся зип-файлом, даже если ему в начало вставлен флеш. Кажется, то же самое там и про pdf и прочие казалось бы безобидные форматы. Фильтр посмотрит, что это зип, и пропустит файл.
чтобы все это сработало, пользователи должны уметь писать на вашем сайте что-то типа
embed src="/userfiles/ololololo.zip", причем это еще должно отдаться с нужным mime-type, если я правильно понимаю.
нет, для этого достаточно на хабре запостить ссылку на этот зип с заголовком «получи айфон бесплатно»: юзер кликает по ссылке, у него на весь экран открывается флеш и делает своё чёрное дело
да вот нифига.

чтобы он сделал свое черное дело, он должен лежать на домене хабра и отдаться с нужным mime-типом.

Популярные веб-сервера как правило берут миме-тип из расширения файла. Этот зип скорей всего Вам предложат скачать как application/zip, а не выполнить как application/x-shockwave-flash.

А вот уже локально, да, можете поменять расширение, чтобы он сделал свое грязное дело.
> чтобы он сделал свое черное дело, он должен лежать на домене хабра и отдаться с нужным mime-типом.

вы не поняли. Я выкладываю этот «зип» на яндекс.диск, и он ломает именно яндекс, а хабр мне нужен только для того, чтобы люди перешли по ссылке

неизвестно, как именно определится майм-тип у такого «троянского коня»

ps: если что, я знаю, что под троянами сейчас обычно имеют в виду другое
>Я выкладываю этот «зип» на яндекс.диск, и он ломает именно яндекс
у меня почему-то есть уверенность, что он будет отдан именно как зип, т.к. является валидным зипом и имеет расширение zip.
вот на такой необоснованной уверенности обычно и попадаются ; )

необходимые пояснения:

* уверенность названа необоснованной из-за слов «почему-то есть уверенность»
* конкретно яндекс-диск скорее всего не подвержен уязвимости, я его привёл как доступный пример файлохостинга
* если в списке проверок автоопределителя типов проверка на флеш происходит до проверки на зип, то файл определится как флеш
>если в списке проверок автоопределителя типов проверка на флеш происходит до проверки на зип, то файл определится как флеш
olololo

покажите, пожалуйста, хоть один веб-сервер который по-умолчанию определяет mime тип по внутренним соображениям, при этом не принимая во внимание расширение файла.
всякое бывает

я не эксперт по безопасности, поэтому точно не скажу

и всё-таки давайте не забывать, что далеко не все веб-сервера отдают content-type. Например, на ya.ru картинки отдаются без него. А nginx очень популярен как раз для файлохостингов
>Например, на ya.ru картинки отдаются без него.
iolololololo
dovg@habahaba ~ $ telnet ya.ru 80
Trying 213.180.204.8...
Connected to ya.ru.
Escape character is '^]'.
GET /logo.png HTTP/1.1
Host: ya.ru

HTTP/1.1 200 OK
Server: nginx
Date: Fri, 13 Nov 2009 11:02:46 GMT
Content-Type: image/png
Content-Length: 1418
Last-Modified: Thu, 21 May 2009 09:37:21 GMT
Connection: keep-alive
Accept-Ranges: bytes

�PNG
▒
IHDRd�7�g�PLTE


                                ▒▒▒!!$$$'''***---000333666999<<<???BBBEEEHHHKKKNNNQQQTTTWWWZZZ]]]```cccfffiiilllooorrrxxx{{{~~~������������������������������������������������������������������������������������������������������������������������������
                                                                                                                        ▒$'03?BHKNQ`filrux{~��������������������������Ɛ��IDATX����WTU▒���af��$k�!!.�0 �EDf�y(� ���V�����k���^�s��h�Z��y�׳����<��}�$�ɝ���73��▒���[����!ߚ��'�vj��1��~},ݮ��▒\�>@����vh� G�M����9;v���\���}�N����BB�▒����$�d▒%IM0��q�_8"c��l�J�uB�$i�       ��ʹ�|of�#��$�`�K���7���Ӓ�R�R�$M8^�Y�����Uy
                                               �lH��L��S�ͽ�
                                                           �Ȱ��3DZ�K��)�of���>H��>h���٠���J�0��7���X��  �I:,H�H�Cw�o�
��!zA��ɯ*D��v)I&��d$?���y`X�V�q��~I�0[ў�}�G     �C��Zy8t$�����3�r%�s�K�
                                                                       {R�,A�����@b�-3
��?>�p ^�,9�G�HqVBzt�l�YU�&n�}��▒��ᬇ�{�ۥ��PwA�8�,C~0��T                               �V@��E�/)�p"q�u]�u'=d�ޒ$�WF�_5�zR�t
�B,]��UpV�\b��+3��jH���\!2
                          $ʐ`
                             o�w'D�o���U        ��+IkQ�;W��
                                                           �E�]��\!����U$Ӄ�u]�h��t▒�!��x���N�[���Dk㐇�3�+ϫ!�ǐ�'?�CDǁy)�$Oz�u��_�m��mIR2����d��\��6�IEND�B`�Connection closed by foreign host.#�q&��=0���%��]�


Content-Type: image/png
признаю, в этом конкретном вопросе был неправ

drafonfly меня подвёл, показал не все заголовки : (
Ну счас все подряд виноваты будут.

image
ага, сейчас присмотрелся и понял, что зря не обратил внимания на HTTP/1.1 304 Not Modified
вторая попытка

> покажите, пожалуйста, хоть один веб-сервер который по-умолчанию определяет mime тип по внутренним соображениям, при этом не принимая во внимание расширение файла.

тот, который на mail.google.com, что продемонстрировано по ссылке в посте
Там немного не это продемонстрировано.

Если я правильно понял это видео с низким разрешением, то gmail просто не фильтрует html-tags, которые живут в их письмах.
It required uploading the SWF to my own account, then logging the victim into that account (via CSRF), loading the SWF into the browser, logging them out, and enticing the user to log in while keeping the original page loaded

речь идёт именно об swf, а не о письме с опасным embed — с фильтрацией-то в gmail наверняка всё в порядке
ну тогда скорее ololo.gif, потому что гиф вроде тоже можно сделать с такой начинкой, хотя я точно не уверен
не прокатит.

чтобы все работало, оно должно именно быть отдано как «объект флеш».
Таким образом злые сеошники могут продолжать накруичвать пузомерки через специально сделанный флеш…
А еще кто-то там говорит, что Adobe — серьезная и правильная корпорация.
Мну бешено негодует и сносит флеш к чертовой матери.
Да… зашибись… а ведь заказчики просят… да что там, требуют им флеша на сайты побольше =/
Жаль что от этого популярность флеша не упадёт. Как использовался так и будет использоваться :(
Вот не хотели слушать Столлмана! :)
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Вот вы его ненавидите, а альтернатива? Как еще встроить телефон в страничку? и проблему не решают — нам нужны сокеты, нам нужен доступ к микрофону и камере. Я что то ни о чем, чтобы позволило бы нам обойтись без flash не слышал.
Ну замена того же flash, причем не особо то способная конкурировать с оригиналом.
UFO just landed and posted this here
Я не утверждаю, что мне нравится flash — я его не люблю, но просто его ненавидеть нельзя, вначале надо найти замену.
Облом, на данный момент камеру и микрофон не держит.
/me подкрутил noscript на блокировку флеш и на доверенных сайтах.
Также можно обвинить производителей браузеров за то, что JS может прочитать и передать содержимое куков.
UFO just landed and posted this here
где уязвимость? Скрипт написал сам автор страницы, и на ней же исполнил. Оху*нная уязвимость. Любите вы на хабре над всякой буйней дрожать.
Автор написал код, который на указанный им адрес отправляет письмо, эксплуатирующее уязвимость. Сам скрипт исполнился уже в ящике.
Нифига он не исполнился. Чо то я не видел алерта на видео.
Чтобы исполнился — надо

# Predict or discover the ID within Gmail of the sent message
# Use that ID to execute the payload out of the user's own inbox.

Весьма непростая задача.
лол
почему «эксплойт» открыл окно на сайте автора страницы, а не гмайловской…
«Flash имеет доступ к куки того домена, с которого он загружен (а не того, где расположен тег object).» — причем тут вообще эксплойт. Если б все было так просто…
Вот не дают нам от баги с svn оправиться…
Если кто не докопался, в двух словах: если подсунуть на загрузку аватарки swf, под видом картинки и сервер не проводит валидацию с помощью сторонних графических библиотек — это все выполнится как флешина, в контексте чужого домена.

Еще есть возможность положить сверху zip архива флешину, при том, что архив будет продолжать открываться библиотеками, а содержимое, опять же, исполняться в контексте сервера.

Ну кагбе логично, что flash опирается на mime-type, где тут фундаментальная уязвимость?
а действительно ли он проверяет mime-type?
Ну таким макаром браузер сопоставляет содержимое с плагином.
через тег object (или emded, не помню уже)
Кстати стоит в пост добавить про причину бага — same origin policy, т.е. политику флеша, когда разрешены запросы на домен, с которого загружена эта флешка.
Суть в том, что если мы подпихиваем флешку на нужный домен, то ей разрешено делать любые запросы от имени пользователя, а лечить это можно выносом пользовательских файлов на другой домен, с которого запрещены запросы.
Кстати, если сайтом разрешены cross-domain communications (через выкладывание соответствующей xml-ки в корень), то он уязвим и при такой атаке на любой из разрешенных там хостов.
И что самое характерное, видео об уязвимости во флэше показывается с помощью флэш-плеера.
Проблема в обработке присланных на сервер данных. Flash не может контролировать что передает — это было бы слишком проблемно. А на сервере проблема решается весьма легко.
А по ссылкам сказано, что защита для вебмастеров — всего лишь разместить пользовательский флеш на другом домене, а не как у гугла. Выполниться-то он выполнится, но доступа к секретным кукам не получит.
С распространением HTML5 имхо Flash можно вообще закопать.
Ну по ходу это не проблема флеша.

Это примерно то же, что «А-а-а-а! В exe-файлах проблема — они выполняются, там где запустишь! А microsoft не хочет устранять эту уязвимость!»

Imho, данную проблему вполне себе решает плагин FlashBlock.
Да, flash — это активный контент, который может не только кружочки двигающиеся рисовать, но и нести в себе вредоносный код. А вы до прочтения топика не знали об этом? Удивительно.
вообще-то флеш продвигается как безопасный контент, которого не выпускают из песочницы и не дают ему острых предметов, удивительно, что вы не знали об этом; )

просто внезапно оказалось, что в песочнице хранятся особо ценные печеньки
Согласен. Но тем не менее, по факту это — системное приложение, запускаемое с определёнными правами. И в принципе в нём возможна эксплуатация уязвимостей. Например, под windows — это доступ к реестру, файловой системе, разным объектам типа принтеров и т.п. от имени запустившего.

С одной стороны — это нужно и удобно, с другой — потенциально небезопасно. Кстати, насколько я знаю, у флеша свои печеньки (которые \Macromedia\Flash Player\ и не зависят от используемого браузера). Но, вполне возможно, механизм получения «браузерных» флешу тоже нужен: чтобы, к примеру, не требовать авторизации на страницу отдельно, на флеш-ролик — отдельно. Опять же, «просто к файловой системе» доступ у плеера, вроде, есть (тут я могу быть неправ!), а это значит, что теоретически можно, зная ОС и браузер, просто слить файлы с куками себе на сайт.

Вообще самое слабое звено тут — всё-таки сам способ хранения сессии с помощью печенек. По-хорошему, надо бы протокол, над TCP (или UDP — почему нет?), который шифрован, обеспечивает аутентификацию и сам держит сессию. Ну да вроде что-то такое уже давно разрабатывают. Ждём. Хрустя печеньками.
я не понимаю, как вы можете называть уязвимости уязвимостями и при этом говорить, что это не проблемы. Уязвимости — это проблемы, а не архитектурные особенности. Уязвимости устраняются. Куча других уязвимостей во флеше уже устранена, хотя про них тоже можно было бы сказать «ну флеш — это по факту системное приложение…»

браузер, вообще-то, тоже системное приложение, которое подобно флеш-плагину интерпретирует скрипты. Вы хотите сказать, что дыры в IE — это не проблемы IE?
Я хочу сказать, что дыра дыре рознь и под одну гребёнку чесать нет смысла. Надо разбираться с каждой ситуацией и решать проблемы грамотно, а не искать, на кого бы это свалить и пинать его ногами.

Описанная конкретно ситуация такова: На Gmail приходит письмо с прикреплённым активным содержимым, Gmail пытается показать аттач в браузере, отдавая сформированную страницу, при этом выполняется скрипт, который внутри этого аттача. Разумеется с разрешениями для домена Гугла.

Что надо сделать для устранения? Меня устраивает простой HTML вид в гугле: он быстр, информативен и достаточен для моих целей. Ума не приложу, почему его нельзя поставить по умолчанию, а не переключаться каждый раз. Если есть аттач, я могу скачать его к себе и запустить отдельно. Если хочу.

Я хочу сказать, что не надо разводить проблем, подобных описанным в тексте про «хакера», столовую и соль (*). Надо найти хакера и надавать ему люлей. Если это будет делаться быстро и безошибочно — то будет хорошо. К этому надо стремиться.

(*) известный текст в интернете, ознакомиться можно, например, тут forum.rsu.edu.ru/viewtopic.php?f=25&t=601
FlashBlock не решает эту проблему, он как раз создает ложное чувство безопасности. Причина в том что он не блокирует флеш превентино а лишь быстро-быстро отключает уже после загрузки страницы. По-этому нет никаких гарантий.
FlashBlock всё-таки решает проблему, т.к. он не даёт флешу быть запущенным. Вот если запустить вручную — тогда да.
Так я как бы пытался намекнуть что FlashBlock не гарантирует что флеш не запустится. Он конечно значительно понижает вероятность этого, но не гарантирует.
Ну так общей грамотности, и здравого смысла никто не отменял.
Хотя некоторые пытаются «вести себя по-новому» :-)
Вызываю КО!!!
Для недалеких, объясните в чем epicFail.
Как я понимаю на сервер сгружается «вредоносная» flash и запускается. Что страшного она делает?
читает cookie, относящиеся к серверу. В них может быть сохраненная аутентификация и session id
То есть выходит что злоумышленник загружает на сервер свою «вредоносную» flash и имеет возможность читать собственные данные?
Проблема возникает в том случае, если я правильно понимаю, когда «жертва» открывает чужой вредоносный flash в некоторой интимной зоне.
То есть надо оказаться на одной странице с вредной флэшкой.
Как варианты
— прислали по почте, смотрим через веб интерфейс
— на ресурсе разрешены флэшевые элементы персонализации и вставки. Форумы с аватарами, вставка блоков типа youtube.
— баннеры
Все верно?
Но на видео показано что-то другое.
там с gmail ситуация хитрая, там приходится изворачиваться чтобы использовать эту уявзимость. Для сайтов которые upload позволяют этого всего не нужно
КО объясняет: «Секьюрити экспертам» нужно громко срывать покровы чтобы зарабатывать на хлеб, вот и делают муху из слона. Браузер сопоставляет контент с плагином по mime-типу, если залить flash с расширением png, то сервер (если опирается не на расширение, а содержимое) всё равно отдаст с типом влэша. Проблема в том, что позволяя заливать картинки на сервер, все опираются только на расширение, а adobe тут не при чём.
КО а что нам собственно показали на видео?
1. Есть фейковая страница регистрации.
2. Есть страница Гмыла открытая пользователем.
3. Есть алерт с переменными со страница Гмейла.
Видно что никаких новых писем на Гмейл не приходило, то есть флэшка находится в табе с фейк-регистрацией.
Каким образом получены данные со страницы Гмыла?
Собсно вам выше ответили :)
«Хитрая ситуация»?
[Понимающе кивает]
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
с gmail просто ситуация довольно хитрая, я с ней не совсем разобрался.

В общем случае ничего не мешает сделать object/embed на какой-нибудь страничке не имеющей отношения к сайту, потому как flash имеет доступ к куки того домена с которого он загружен (а не того, где расположен тег object)
UFO just landed and posted this here
UFO just landed and posted this here
habrahabr.ru/blogs/infosecurity/75145/#comment_2176134:

В общем случае ничего не мешает сделать object/embed на какой-нибудь страничке не имеющей отношения к сайту, потому как flash имеет доступ к куки того домена с которого он загружен (а не того, где расположен тег object)
В случае с GMail — атакующий через XSRF логинился в GMail под своим логином, затем открывал flash из attachment на своем gmail в своей странице. Имеем — flash object загруженый с https://mail.google.com
После этого просил пользователя посмотреть почту. Пользователь логинится в gmail и flash объект ранее загруженый на странице атакующего (в другой вкладке) тут же получает доступ к ящику пользователя.

Вообщем, если сервер раздает контент, то можно, скажем, в zip подмешать немного флеша и выполнить его с чужой странички. Итого, заходя на неизвестный сайт — можно ему подарить куки тех сайтов которые ему интересны (если там уже лежит нужная флэшка или почти флешка — немного подпорченый zip)
А-а-а я наконец-то понял. Флэшка во вкладке атакующего автоматом ловит кукизы жертвы, принимая их как свои, грубо говоря.
UFO just landed and posted this here
оооо. без носкрипта и флэшблока становится небезопасно серфить.
Интересно уязвимость опубликовал один из 600 на днях уволенных?
Я правильно понял, что в случае если я просто загружу флэш-контент с расширением swf, то никаких проблем не будет. А если я загружу флэшку с расширением, к примеру, png, то она получит дополнительные права?
Сделаю пояснение к своему посту, т.к. не совсем понятно получилось.
То, что у флэша есть такая проблема было известно очень давно. Насколько я знаю, эту дыру уже использовали — воровались данные пользователей с форума.
Однако пользователи хабра стали с такой активностью обсуждать возможность загрузки флэша под видом фалов других типов, что складывает впечатление, что обнаружили какую-то новую дыру в безопасности.
Если это действительно новая дыра, то объясните, какие уникальные свойства приобретает флэш в результате смены расширения? Если таких новых особенностей нет, то что обсуждаем? То, что флэш может читать куки на компьютере пользователя? Это известно очень давно.
UFO just landed and posted this here
Может так: письмо было уже прочитано, адрес прикрепленной вредной флэшки скопирован в буфер и вставлен в код «сайта врага» в тег embed. Флэшка выполняется во вкладе с «сайтом врага», она имеет доступ к кукисам gmail, поэтому может получить доступ к почте. И на сайте врага Javascript-код обращается к флэшке для получения инфы с gmail.
Ну и где, собственно, бага, если адрес загруженной в GMail флешки неизвестен злоумышленнику? «адрес прикрепленной вредной флэшки скопирован в буфер» Кто, простите, будет так делать? Может сразу javascript:xxxx в адресную строку?
Для gmail-а эта бага кажется и не прокатит, т. к. непредсказуем адрес, а чужие файлы недоступны.

Но если какое-то сервис позволяет загрузить swf-ку, которая будет доступна всем, то один раз сами её загружаем и вставляем тег embed на свою страницу. Останется показать нашу страницу интересующим людям.
Но ведь тогда это не баг флеша, а баг сайтов, которые вот так вот ничего не делают против этого.
Например, есть форум и нужен обмен файлами между участниками. Возможность участников загружать файлы в папочку myforum.ru/mynick/files/ нельзя назвать багом имхо. Скорее потенциальная уязвимость. И выше/ниже уже обсуждали, что просто запретить загрузку *.swf файлов может быть недостаточно, к тому же иногда это может быть нужно. Надо выносить файлы на отдельный домен.
Собственно как уже пишут в новом топике по сабжу, это проблема не только Flash. С тем же успехом можно загрузить Javascript-файл и потом на своей странице сделать [script src=...][/script] [script]getPrivateInfo();[/script] и получаем тот же эффект.
Хотя кажется я гоню с JS, слишком уж всё дыряво тогда получилось бы, т.к. можно заинклюдить JS-код самого сайта и вызывать его функции.
Спамеры вконтакта, наверное уже слюной захлебываются.
kb2.adobe.com/cps/407/kb407748.html
Ничего, что об этом писали год назад сами Adobe?
Единственная новая идея, причем неуникальная, — тот факт, что можно залить файл как txt и встроить его через embed.

Вообще, довольно хорошая превентивная защита — раздавать все аттачи только через другой домен. А этот громкий пост заставит всех владельцов сайтов об этом задуматься наконец.
Уязвимость? По моему нет уязвимости. Вот будет уязвимость если сделают наоборот если станут доступны куки того домена где расположен embed
Когда мы делаем возможность что-то, кому-то загружать, а уж тем более это выполнять, то тут мы должны раз десять все проверить
хуета и провокация… и туча лолов.
Как исполнится скрипт на сервере, если у него не будет флага «исполняемый».
Через обычную форму тоже можно дофига всего закачать.
Дальше: «Flash имеет доступ к куки того домена, с которого он загружен (а не того, где расположен тег object).» Жесть если это так — просто мрак… но где это продемонстрировано в ролике. Типа в алерте был текст письма? — открываем фаирбаг, смотрим… что-то не вижу переменной, в которой храниться текст письма. Ролик вообще ни о чем. Кому-нибудь удалось получить доступ к кукам другого домена?))
Флэш вообще не умеет оперировать куками, это делается через яваскрипт.
Далее типа пруфлинк, но там рассказывается про некий сомнительный эксплойт, а вначале речь шла о куках.
Короче, мальчики, вас разыграли. Оттирайте моник от слюней. И хотя я флэш не очень люблю, здесь полный бред.
объясните логику:

P_r_i_m_a_t
Вот он повод перейти на HTML5 Canvas. +37

cybery4k
С распространением HTML5 имхо Flash можно вообще закопать. -3

Флешеры активизировались?
Повторяю: флеш — говно. +22

Да еще с тем учетом что в статье полный бред.
не совсем уж и полный
надо проверить кое что перед вменяемым ответом
но что тут не любят флэш как технологию это да
любой повод сказать флэш говно обрастает плюсами
и пофиг что при этом куча других технологий имеют те же самые косяки
интересно не любят = не знают…
Может его не любят за то что AS3.0 требует ООП…
Я не люблю флэш потому что считаю браузер куда более мощным «рендером» графических интерфейсов. Но тем не менее понимаю, что некоторые программные интерфейсы во флэше куда более удобные нежели в js. Например 3d.
Собственно с тегами аудио и видео фэшу остались сокеты и 3d… хотя нафига в браузере сокеты…
Вообще не вижу особых причин для ненависти: не нравится не используй. Если заказчик хочет на промосайте эффектное флэш меню, то почему нет (если конечно вы умеете работать во флэше), анимация во флэше работает плавнее, чем в js (по крайней мере пока), удобно работать со звуком и 3d, промосайт должен привлекать внимание. А какой идиот будет делать во флэше навигацию по сайту в сервисе оля хабр. Флэшу флэшево, вот и все.
Не все подчиняется логике.
ага… и длинный пост про любовь
Дык в итоге-то кто-нить может внятно объяснить что происходит?

Я пока понимаю это так. Я посылаю swf или файл замаскированный под swf (как говорили, можно дописать zip и он будет валидным) на ящик @gmail.com. Потом узнаю его адрес на сервере gmail. Далее делаю страницу на своем сервере куда гружу этот swf с сервера гугла и затаскиваю туда пользователя. Если он залогинен на гмыле, то тырю через яваскрипт из флэша куки с домена mail.google.com.

При этом есть несколько вопросов, которые нужно проверить.
Гмайл там приплетён для красоты слога. Мысль в том что на куче сайтов, форумов, сервисов картинок итд итп можно аплоадить свои файлы. Специально подготовленный «вредоносный» флеш маскируется под (частично валидный) zip/txt/gif/etc для обхода фильтров. Теперь стоит в любом месте (желательно людном если атака не прицельная) на него сослаться чтобы украсть куки того домена на котором он физически лежит. Таким образом если нам разрешат положить .zip на домен 12345.com мы сможем украсть кукисы пользователей этого сайта. Как пример этому думаю будут подвержены большинство сайтов на стандартных движках разрешающих залив картинок — а таких уже тысячи и для отдачи картинок используется как правило тот же домен — тоесть ходи себе да собирай учётные записи на популярные сайты
Эта уязвимость существует с момента появления action script'a во флеше, на античате как-то года три назад я заморачивался с этой проблемой. А возможность загрузки флэша(swf) на сайт — вообще опасная штука сама по себе, не знаю кто это делает у себя даже…
Перевожу еще раз для всех, кто тупит! И не понимает основ!!! HTML, теорию блин учите! Так вот.

1) Загружаем флеш на нужный нам сайт, например: vkontakte :) gmail или куда-то еще, лишь бы туда можно было лить флеш.
2) На *своем* сервере пишем код типа: [embed src=«mail.google.com/… путь к флешке»]
3) Заманиваем жертву на свой сервак
4) Флешка загружается в браузер жертвы и получает доступ к кукам юзера на mail.google.com, + возможность жделать туда запросы.

Как уже замечено, взломщикам может помочь то, что флеш можно «склеить» с zip, gif и прочими файлами, что расширяет диапазон сайтов для взлома.

Единственное исправление, в самом новом флеше: Если есть заголовок Content-disposition :attachment, такая флешка выполняться не будет. Это защищает правильно сделанные (т.е. отдающие этот заголовок) файлообменники, форумы с вложениями для скачивания, и т.д.

Если же сайт позволяет загружать на себя флеш и отображать его — он (точнее его юзеры) может стать жертвой.

Кто виноват?

Инвалиды-разработчики HTML, которые позволили включать на страницу 3rd party активный контент (скрипты, флеши, апплеты). Производители браузеров, которые их послушали. В связи с этим уже пришлось придумать кучу дурацких правил, типа same origin policy, которая все равно например не дает 100% защиты, а только осложняет все. Сколько с этим связано угроз типа CSRF, угроз приватности и прочего — никто не борется :((

К тому же все эти тонкости слишком сложны для понимания начинающими разработчиками, что потенциально увеличивает число уязвимых сайтов.

Как бороться?

Либо не позволять загружать на свой сайт флеш (даже если он переименован в zip к примеру)б либо хранить загружаемые юзерами файлы на отдельном домене, либо отдавать все загружаемые файлы с Content-Disposition: attachment.

Что делать?

Запретить флеш :) Я например, включил флеш только для сайтов типа ютуб, на многих других он все равно не нужен (спасибо, флешевую рекламу оставьте себе).
Упс, туплю немного :)) Правильный пункт 2) выглядит так:

2) На *своем* сервере пишем код типа: [a href=«mail.google.com/… путь к флешке»]
3) Заманиваем жертву на свой сервак, где яваскрипт кликает по ссылке и загружает флешку в браузер. Для флешки origin domain будет хост. где она расположена. например mail.google.com
Если для флеша будет отдаваться Content-Type: image/png — он все равно будет работать в embed?
Если да — тогда для устранения «бага» нужно чтобы он работал только в случае правильного Content-Type.
Если нет — тогда вообще «бага» никакого нет, что толку загружать на сервер флеш под видом png, если он все равно будет отдаваться с типом image/png и работать не будет.
link rel=«stylesheet» href=«zzz.zip» type=«application/x-shockwave-flash» — и он будет работать в Embed
В 99% случаев когда разработчики позволяют подгружать флеш – последние олени.

swf — приложение и нехер у себя запускать чужие приблуды. Всегда можно ограничиться набором приложений и позволить пользователю управлять лишь их параметрами. Не тупите.
Sign up to leave a comment.

Articles